diff --git a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JMain/CS2JMain.cs b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JMain/CS2JMain.cs index 662cabd..4e254d2 100644 --- a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JMain/CS2JMain.cs +++ b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JMain/CS2JMain.cs @@ -519,6 +519,7 @@ namespace Twiglet.CS2J.Translator netMaker.AliasNamespaces = javaMaker.CUMap[typeName].NameSpaceAliasValues; netMaker.IsJavaish = cfg.InternalIsJavaish; + netMaker.Imports = javaMaker.Imports; if (cfg.DebugLevel > 5) Console.Out.WriteLine("Translating {0} Net Calls to Java", javaFName); NetMaker.compilation_unit_return javaCompilationUnit = netMaker.compilation_unit(); diff --git a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/CommonWalker.cs b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/CommonWalker.cs index 4a9bc92..f18836a 100644 --- a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/CommonWalker.cs +++ b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/CommonWalker.cs @@ -201,6 +201,34 @@ namespace Twiglet.CS2J.Translator.Transform } } + private Set imports = new Set(); + public Set Imports + { + get + { + return imports; + } + set + { + imports = value; + } + } + + public virtual void AddToImports(string imp) { + if (!String.IsNullOrEmpty(imp)) + { + Imports.Add(imp); + } + } + + public void AddToImports(ICollection imps) { + if (imps != null) { + foreach (string imp in imps) { + AddToImports(imp); + } + } + } + } // Wraps a compilation unit with its imports search path diff --git a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/NetMaker.g b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/NetMaker.g index be6dcd3..93a1aba 100644 --- a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/NetMaker.g +++ b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/NetMaker.g @@ -75,8 +75,6 @@ scope MkNonGeneric { public List AliasKeys { get; set; } public List AliasNamespaces { get; set; } - private Set Imports { get; set; } - protected CommonTree mkImports() { CommonTree root = (CommonTree)adaptor.Nil; @@ -93,7 +91,7 @@ scope MkNonGeneric { } - public void AddToImports(string imp) { + public override void AddToImports(string imp) { // Don't add import if its namespace is within our type // if (!imp.StartsWith($NSContext::currentNS+".")) { if (imp != null && (CompUnitName == null || CompUnitName.Length == 0 || !imp.StartsWith(NSPrefix(CompUnitName)))) { @@ -102,14 +100,6 @@ scope MkNonGeneric { // } } - public void AddToImports(ICollection imps) { - if (imps != null) { - foreach (string imp in imps) { - AddToImports(imp); - } - } - } - protected string ParentNameSpace { get { return ((NSContext_scope)$NSContext.ToArray()[1]).currentNS; @@ -532,8 +522,6 @@ public compilation_unit scope NSContext, PrimitiveRep, MkNonGeneric; @init { - Imports = new Set(); - $PrimitiveRep::primitiveTypeAsObject = false; $MkNonGeneric::scrubGenericArgs = false;