@@ -687,6 +687,7 @@ static int64_t InterfaceResolveEnumElement(InterfaceRef self, NameRef p_name, Va
687687 return 0 ;
688688}
689689
690+ #if NOT_USED
690691static void InterfaceGenerateMethodStubContext (InterfaceRef self, CoderRef p_coder, Handler *p_handler, bool p_in)
691692{
692693 NameRef t_name;
@@ -831,7 +832,6 @@ static void InterfaceGenerateJavaMethodStub(InterfaceRef self, CoderRef p_coder,
831832 CoderWriteLine (p_coder, " }" );
832833}
833834
834- #ifdef NOT_READY
835835static void InterfaceGenerateNativeMethodStub (InterfaceRef self, CoderRef p_coder, Handler *p_handler)
836836{
837837 NameRef t_name;
@@ -918,7 +918,6 @@ static void InterfaceGenerateNativeMethodStub(InterfaceRef self, CoderRef p_code
918918
919919 MCCStringFree (t_native_name);
920920}
921- #endif
922921
923922static void InterfaceGenerateJavaHandlerStubParameters (InterfaceRef self, CoderRef p_coder, Handler *p_handler, HandlerVariant *p_variant)
924923{
@@ -934,18 +933,6 @@ static void InterfaceGenerateJavaHandlerStubParameters(InterfaceRef self, CoderR
934933 }
935934}
936935
937- static char *InterfaceGenerateJavaHandlerStubSignature (InterfaceRef self, Handler *p_handler, HandlerVariant *p_variant)
938- {
939- char *t_signature;
940- t_signature = nil;
941- MCCStringAppend (t_signature, " (" );
942- for (uindex_t i = 0 ; i < p_variant -> parameter_count; i++)
943- MCCStringAppend (t_signature, native_type_to_java_sig (NativeTypeFromName (p_variant -> parameters[i] . type)));
944- MCCStringAppend (t_signature, " )" );
945- MCCStringAppend (t_signature, p_variant -> return_type != nil ? native_type_to_java_sig (NativeTypeFromName (p_variant -> return_type)) : " V" );
946- return t_signature;
947- }
948-
949936static void InterfaceGenerateJavaHandlerStub (InterfaceRef self, CoderRef p_coder, Handler *p_handler, HandlerVariant *p_variant)
950937{
951938 // Compute the return types for various contexts.
@@ -1027,6 +1014,20 @@ static void InterfaceGenerateJavaHandlerStub(InterfaceRef self, CoderRef p_coder
10271014
10281015}
10291016
1017+ #endif
1018+
1019+ static char *InterfaceGenerateJavaHandlerStubSignature (InterfaceRef self, Handler *p_handler, HandlerVariant *p_variant)
1020+ {
1021+ char *t_signature;
1022+ t_signature = nil;
1023+ MCCStringAppend (t_signature, " (" );
1024+ for (uindex_t i = 0 ; i < p_variant -> parameter_count; i++)
1025+ MCCStringAppend (t_signature, native_type_to_java_sig (NativeTypeFromName (p_variant -> parameters[i] . type)));
1026+ MCCStringAppend (t_signature, " )" );
1027+ MCCStringAppend (t_signature, p_variant -> return_type != nil ? native_type_to_java_sig (NativeTypeFromName (p_variant -> return_type)) : " V" );
1028+ return t_signature;
1029+ }
1030+
10301031// //////////////////////////////////////////////////////////////////////////////
10311032
10321033struct MappedParameter
@@ -1252,10 +1253,10 @@ static void InterfaceGenerateVariant(InterfaceRef self, CoderRef p_coder, Handle
12521253
12531254 for (uint32_t k = 0 ; k < p_variant -> parameter_count; k++)
12541255 {
1255- if (k != 0 )
1256- CoderWrite (p_coder, " , " , t_mapped_params[k] . var_name );
1256+ if (k > 0 || t_variant -> return_type_indirect )
1257+ CoderWrite (p_coder, " , " );
12571258 CoderWrite (p_coder, " %s" , t_mapped_params[k] . var_name);
1258- }
1259+ }
12591260
12601261 CoderWrite (p_coder, " )" );
12611262
@@ -1301,11 +1302,7 @@ static void InterfaceGenerateVariant(InterfaceRef self, CoderRef p_coder, Handle
13011302 CoderWrite (p_coder, " __java_env -> CallStaticVoidMethod(s_java_class, s_method" );
13021303
13031304 for (uint32_t k = 0 ; k < p_variant -> parameter_count; k++)
1304- {
1305- HandlerParameter *t_parameter;
1306- t_parameter = &p_variant -> parameters[k];
1307- CoderWrite (p_coder, " , param__%s" , NameGetCString (t_parameter -> name));
1308- }
1305+ CoderWrite (p_coder, " , %s" , t_mapped_params[k] . var_name);
13091306
13101307 CoderWrite (p_coder, " )" );
13111308 CoderEndStatement (p_coder);
0 commit comments