Skip to content

Commit 94ce734

Browse files
authored
Fix linter issues in rosidl_generator_java and in its generated code (#73)
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
1 parent 7b00bbf commit 94ce734

6 files changed

Lines changed: 50 additions & 21 deletions

File tree

rosidl_generator_java/cmake/rosidl_generator_java_generate_interfaces.cmake

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,10 @@ foreach(_abs_idl_file ${rosidl_generate_interfaces_ABS_IDL_FILES})
7272
"${_output_path}/${_parent_folder}/${_idl_name}_Response.java"
7373
)
7474
foreach(_typesupport_impl ${_typesupport_impls})
75-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_Request.ep.${_typesupport_impl}.cpp")
76-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_Response.ep.${_typesupport_impl}.cpp")
75+
list(APPEND _generated_extension_${_typesupport_impl}_files
76+
"${_output_path}/${_parent_folder}/${_idl_name}_Request.ep.${_typesupport_impl}.cpp")
77+
list(APPEND _generated_extension_${_typesupport_impl}_files
78+
"${_output_path}/${_parent_folder}/${_idl_name}_Response.ep.${_typesupport_impl}.cpp")
7779
endforeach()
7880
endif()
7981
# Actions generate extra files
@@ -91,21 +93,32 @@ foreach(_abs_idl_file ${rosidl_generate_interfaces_ABS_IDL_FILES})
9193
"${_output_path}/${_parent_folder}/${_idl_name}_GetResult_Response.java"
9294
)
9395
foreach(_typesupport_impl ${_typesupport_impls})
94-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_Goal.ep.${_typesupport_impl}.cpp")
95-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_Result.ep.${_typesupport_impl}.cpp")
96-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_Feedback.ep.${_typesupport_impl}.cpp")
97-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_FeedbackMessage.ep.${_typesupport_impl}.cpp")
98-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_SendGoal.ep.${_typesupport_impl}.cpp")
99-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_SendGoal_Request.ep.${_typesupport_impl}.cpp")
100-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_SendGoal_Response.ep.${_typesupport_impl}.cpp")
101-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_GetResult.ep.${_typesupport_impl}.cpp")
102-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_GetResult_Request.ep.${_typesupport_impl}.cpp")
103-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}_GetResult_Response.ep.${_typesupport_impl}.cpp")
96+
list(APPEND _generated_extension_${_typesupport_impl}_files
97+
"${_output_path}/${_parent_folder}/${_idl_name}_Goal.ep.${_typesupport_impl}.cpp")
98+
list(APPEND _generated_extension_${_typesupport_impl}_files
99+
"${_output_path}/${_parent_folder}/${_idl_name}_Result.ep.${_typesupport_impl}.cpp")
100+
list(APPEND _generated_extension_${_typesupport_impl}_files
101+
"${_output_path}/${_parent_folder}/${_idl_name}_Feedback.ep.${_typesupport_impl}.cpp")
102+
list(APPEND _generated_extension_${_typesupport_impl}_files
103+
"${_output_path}/${_parent_folder}/${_idl_name}_FeedbackMessage.ep.${_typesupport_impl}.cpp")
104+
list(APPEND _generated_extension_${_typesupport_impl}_files
105+
"${_output_path}/${_parent_folder}/${_idl_name}_SendGoal.ep.${_typesupport_impl}.cpp")
106+
list(APPEND _generated_extension_${_typesupport_impl}_files
107+
"${_output_path}/${_parent_folder}/${_idl_name}_SendGoal_Request.ep.${_typesupport_impl}.cpp")
108+
list(APPEND _generated_extension_${_typesupport_impl}_files
109+
"${_output_path}/${_parent_folder}/${_idl_name}_SendGoal_Response.ep.${_typesupport_impl}.cpp")
110+
list(APPEND _generated_extension_${_typesupport_impl}_files
111+
"${_output_path}/${_parent_folder}/${_idl_name}_GetResult.ep.${_typesupport_impl}.cpp")
112+
list(APPEND _generated_extension_${_typesupport_impl}_files
113+
"${_output_path}/${_parent_folder}/${_idl_name}_GetResult_Request.ep.${_typesupport_impl}.cpp")
114+
list(APPEND _generated_extension_${_typesupport_impl}_files
115+
"${_output_path}/${_parent_folder}/${_idl_name}_GetResult_Response.ep.${_typesupport_impl}.cpp")
104116
endforeach()
105117
endif()
106118

107119
foreach(_typesupport_impl ${_typesupport_impls})
108-
list(APPEND _generated_extension_${_typesupport_impl}_files "${_output_path}/${_parent_folder}/${_idl_name}.ep.${_typesupport_impl}.cpp")
120+
list(APPEND _generated_extension_${_typesupport_impl}_files
121+
"${_output_path}/${_parent_folder}/${_idl_name}.ep.${_typesupport_impl}.cpp")
109122
endforeach()
110123
endforeach()
111124

rosidl_generator_java/resource/action.cpp.em

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
@# Included from rosidl_generator_java/resource/idl.cpp.em
2+
// generated from rosidl_generator_java/resource/action.cpp.em
3+
// with input from @(package_name):@(interface_path)
4+
// generated code does not contain a copyright notice
25
@{
36
import os
47

@@ -16,6 +19,7 @@ get_result_type_name = action.get_result_service.namespaced_type.name
1619

1720
data = {
1821
'package_name': package_name,
22+
'interface_path': interface_path,
1923
'output_dir': output_dir,
2024
'template_basepath': template_basepath,
2125
}
@@ -60,6 +64,7 @@ expand_template(
6064

6165
data = {
6266
'package_name': package_name,
67+
'interface_path': interface_path,
6368
'output_dir': output_dir,
6469
'template_basepath': template_basepath,
6570
'typesupport_impl': typesupport_impl,

rosidl_generator_java/resource/idl.cpp.em

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ from rosidl_parser.definition import Service
2929
@{
3030
data = {
3131
'package_name': package_name,
32+
'interface_path': interface_path,
3233
'output_dir': output_dir,
3334
'template_basepath': template_basepath,
3435
}

rosidl_generator_java/resource/idl.java.em

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
@#######################################################################
1414
@# Handle messages
1515
@#######################################################################
16+
// generated from rosidl_generator_java/resource/idl.java.em
17+
// with input from @(package_name):@(interface_path)
18+
// generated code does not contain a copyright notice
1619
@{
1720
import os
1821

rosidl_generator_java/resource/msg.cpp.em

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
@# Included from rosidl_generator_java/resource/idl.cpp.em
2+
// generated from rosidl_generator_java/resource/msg.cpp.em
3+
// with input from @(package_name):@(interface_path)
4+
// generated code does not contain a copyright notice
25
@{
36
from collections import defaultdict
47

@@ -95,10 +98,12 @@ elif message_c_include_prefix.endswith('__send_goal'):
9598
message_c_include_prefix = message_c_include_prefix[:-11]
9699
elif message_c_include_prefix.endswith('__get_result'):
97100
message_c_include_prefix = message_c_include_prefix[:-12]
101+
member_includes.add(f'{message_c_include_prefix}.h')
98102
}@
99-
103+
@
100104
#include <jni.h>
101105

106+
#include <algorithm>
102107
#include <cassert>
103108
#include <cstdint>
104109
#include <string>
@@ -112,8 +117,6 @@ elif message_c_include_prefix.endswith('__get_result'):
112117
#include "@(include)"
113118
@[end for]@
114119

115-
#include "@(message_c_include_prefix).h"
116-
117120
// Ensure that a jlong is big enough to store raw pointers
118121
static_assert(sizeof(jlong) >= sizeof(std::intptr_t), "jlong must be able to store pointers");
119122

@@ -265,7 +268,7 @@ jni_signature = get_jni_signature(base_type)
265268
auto _dest_@(member.name) = ros_message->@(member.name);
266269
@[ end if]@
267270
@[ if isinstance(member.type.value_type, BasicType)]@
268-
j@(get_java_name) *_jarray_@(member.name)_ptr = env->Get@(get_method_name)ArrayElements(_jarray_@(member.name)_obj, nullptr);
271+
j@(get_java_name) * _jarray_@(member.name)_ptr = env->Get@(get_method_name)ArrayElements(_jarray_@(member.name)_obj, nullptr);
269272
std::copy(_jarray_@(member.name)_ptr, _jarray_@(member.name)_ptr + _jarray_@(member.name)_size, _dest_@(member.name));
270273
env->Release@(get_method_name)ArrayElements(_jarray_@(member.name)_obj, _jarray_@(member.name)_ptr, 0);
271274
@[ else]@
@@ -378,12 +381,12 @@ jni_signature = get_jni_signature(base_type)
378381
@[ if isinstance(member.type.value_type, BasicType)]@
379382
@[ if isinstance(member.type, Array)]@
380383
j@(get_java_name)Array _jarray_@(member.name)_obj = env->New@(get_method_name)Array(@(member.type.size));
381-
j@(get_java_name) *_j@(get_java_name)_@(member.name)_buf = (j@(get_java_name) *)malloc(sizeof(j@(get_java_name)) * @(member.type.size));
384+
auto * _j@(get_java_name)_@(member.name)_buf = static_cast<j@(get_java_name) *>(malloc(sizeof(j@(get_java_name)) * @(member.type.size)));
382385
std::copy(_ros_message->@(member.name), _ros_message->@(member.name) + @(member.type.size), _j@(get_java_name)_@(member.name)_buf);
383386
env->Set@(get_method_name)ArrayRegion(_jarray_@(member.name)_obj, 0, @(member.type.size), (const j@(get_java_name) *)_j@(get_java_name)_@(member.name)_buf);
384387
@[ else]@
385388
j@(get_java_name)Array _jarray_@(member.name)_obj = env->New@(get_method_name)Array(_ros_message->@(member.name).size);
386-
j@(get_java_name) *_j@(get_java_name)_@(member.name)_buf = (j@(get_java_name) *)malloc(sizeof(j@(get_java_name)) * _ros_message->@(member.name).size);
389+
auto * _j@(get_java_name)_@(member.name)_buf = static_cast<j@(get_java_name) *>(malloc(sizeof(j@(get_java_name)) * _ros_message->@(member.name).size));
387390
std::copy(_ros_message->@(member.name).data, _ros_message->@(member.name).data + _ros_message->@(member.name).size, _j@(get_java_name)_@(member.name)_buf);
388391
env->Set@(get_method_name)ArrayRegion(_jarray_@(member.name)_obj, 0, _ros_message->@(member.name).size, (const j@(get_java_name) *)_j@(get_java_name)_@(member.name)_buf);
389392
@[ end if]@
@@ -563,7 +566,7 @@ JNIEXPORT jlong JNICALL Java_@(underscore_separated_jni_type_name)_getToJavaConv
563566

564567
JNIEXPORT jlong JNICALL Java_@(underscore_separated_jni_type_name)_getTypeSupport(JNIEnv *, jclass)
565568
{
566-
jlong ptr = reinterpret_cast<jlong>(ROSIDL_GET_MSG_TYPE_SUPPORT(@(','.join(message.structure.namespaced_type.namespaced_name()))));
569+
jlong ptr = reinterpret_cast<jlong>(ROSIDL_GET_MSG_TYPE_SUPPORT(@(', '.join(message.structure.namespaced_type.namespaced_name()))));
567570
return ptr;
568571
}
569572

rosidl_generator_java/resource/srv.cpp.em

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
@# Included from rosidl_generator_java/resource/idl.cpp.em
2+
// generated from rosidl_generator_java/resource/srv.cpp.em
3+
// with input from @(package_name):@(interface_path)
4+
// generated code does not contain a copyright notice
25
@{
36
import os
47
from rosidl_cmake import expand_template
@@ -11,6 +14,7 @@ response_type_name = service.response_message.structure.namespaced_type.name
1114

1215
data = {
1316
'package_name': package_name,
17+
'interface_path': interface_path,
1418
'output_dir': output_dir,
1519
'template_basepath': template_basepath,
1620
}
@@ -83,6 +87,6 @@ JNIEXPORT jlong JNICALL Java_@(underscore_separated_jni_type_name)_getServiceTyp
8387
JNIEXPORT jlong JNICALL Java_@(underscore_separated_jni_type_name)_getServiceTypeSupport(JNIEnv *, jclass)
8488
{
8589
const rosidl_service_type_support_t * ts = ROSIDL_GET_SRV_TYPE_SUPPORT(
86-
@(','.join(service_fqn)));
90+
@(', '.join(service_fqn)));
8791
return reinterpret_cast<jlong>(ts);
8892
}

0 commit comments

Comments
 (0)