From 4e9cde7e1fb83a73248c33e3245e08df93a41f47 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexis=20Laferri=C3=A8re?= Date: Sun, 19 Jul 2015 12:10:49 -0400 Subject: [PATCH] contrib/jwrapper: separate comment vs stubs in generator logic MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Alexis Laferrière --- contrib/jwrapper/src/code_generator.nit | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/contrib/jwrapper/src/code_generator.nit b/contrib/jwrapper/src/code_generator.nit index 4497ed9..7a4e419 100644 --- a/contrib/jwrapper/src/code_generator.nit +++ b/contrib/jwrapper/src/code_generator.nit @@ -31,6 +31,9 @@ class CodeGenerator # Comment out methods with unknown (unwrapped) types var comment_unknown_types: Bool + # Generate stub classes for unknown types used in the generated module + var stub_for_unknown_types: Bool + # Output file var file_out: Writer = new FileWriter.open(file_name) is lazy, writable @@ -60,10 +63,12 @@ class CodeGenerator class_content.add("\nend\n") var wrappers = new Array[String] - for jtype in jclass.unknown_types do - if jtype == jclass.class_type then continue - wrappers.add("\n") - wrappers.add(gen_unknown_class_header(jtype)) + if stub_for_unknown_types then + for jtype in jclass.unknown_types do + if jtype == jclass.class_type then continue + wrappers.add("\n") + wrappers.add(gen_unknown_class_header(jtype)) + end end var imports = new Array[String] @@ -148,11 +153,11 @@ class CodeGenerator if jparam.is_wrapped then java_class.imports.add nit_type.mod.as(not null) else + java_class.unknown_types.add jparam if comment_unknown_types then comment = "#" else nit_type = jparam.extern_name - java_class.unknown_types.add(jparam) end end end @@ -194,11 +199,11 @@ class CodeGenerator if jreturn_type.is_wrapped then java_class.imports.add return_type.mod.as(not null) else + java_class.unknown_types.add jreturn_type if comment_unknown_types then comment = "#" else return_type = jreturn_type.extern_name - java_class.unknown_types.add(jreturn_type) end end end -- 1.7.9.5