Open glassfishrobot opened 12 years ago
outer class not added to references collection, when used only nested class. As result used full qualified class name.
code to reproduce problem:
JCodeModel cm = new JCodeModel(); JDefinedClass outer = cm._class("somepackage.OuterClass"); JDefinedClass nested = outer._class(JMod.STATIC | JMod.PUBLIC, "NestedClass"); JDefinedClass other = cm._class("somepackage.OtherClass"); other.method(JMod.PUBLIC, nested, "method"); cm.build(new SingleStreamCodeWriter(System.out));
result:
---------- cut ---------- public somepackage.OuterClass.NestedClass method() { } ---------- cut ----------
expected result:
---------- cut ---------- public OuterClass.NestedClass method() { } ---------- cut ----------
problem disappear if in method JFormatter.t(JClass) at COLLECTING stage add if (type.outer()!=null) t(type.outer());
[2.4, 2.5]
Reported by irioth
This issue was imported from java.net JIRA CODEMODEL-7
outer class not added to references collection, when used only nested class. As result used full qualified class name.
code to reproduce problem:
result:
expected result:
problem disappear if in method JFormatter.t(JClass) at COLLECTING stage add if (type.outer()!=null) t(type.outer());
Affected Versions
[2.4, 2.5]