From 9de37f336b824d43f1536dcd2cf075ded6b56754 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexis=20Laferri=C3=A8re?= Date: Wed, 22 Jul 2015 14:44:07 -0400 Subject: [PATCH] contrib/jwrapper: `JavaModel::classes` sort keys by string 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 | 4 ++-- contrib/jwrapper/src/javap_visitor.nit | 2 +- contrib/jwrapper/src/model.nit | 9 ++++++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/contrib/jwrapper/src/code_generator.nit b/contrib/jwrapper/src/code_generator.nit index 1d72739..2d6012c 100644 --- a/contrib/jwrapper/src/code_generator.nit +++ b/contrib/jwrapper/src/code_generator.nit @@ -59,13 +59,13 @@ class CodeGenerator # All importations var imports = new HashSet[String] imports.add "import java\n" - for jclass in model.classes do + for key, jclass in model.classes do for import_ in jclass.imports do imports.add "import android::{import_}\n" end file_out.write imports.join("\n") file_out.write "\n" - for jclass in model.classes do + for key, jclass in model.classes do file_out.write gen_class_header(jclass.class_type) diff --git a/contrib/jwrapper/src/javap_visitor.nit b/contrib/jwrapper/src/javap_visitor.nit index 3721b21..b8557d8 100644 --- a/contrib/jwrapper/src/javap_visitor.nit +++ b/contrib/jwrapper/src/javap_visitor.nit @@ -50,7 +50,7 @@ redef class Nclass_declaration var jtype = n_full_class_name.to_java_type v.java_class = new JavaClass(jtype) - v.model.classes.add v.java_class + v.model.add_class v.java_class # Visit all properties super diff --git a/contrib/jwrapper/src/model.nit b/contrib/jwrapper/src/model.nit index ffc68d1..1aebcf2 100644 --- a/contrib/jwrapper/src/model.nit +++ b/contrib/jwrapper/src/model.nit @@ -236,7 +236,14 @@ class JavaModel var unknown_types = new HashSet[JavaType] # All analyzed classes - var classes = new Array[JavaClass] + var classes = new HashMap[String, JavaClass] + + # Add a class in `classes` + fun add_class(jclass: JavaClass) + do + var key = jclass.class_type.full_id + classes[key] = jclass + end end # A Java method, with its signature -- 1.7.9.5