javaee / jaxb-codemodel

CodeModel is a Java library for code generators. This content is migrated into JAXB RI. This is for legacy viewing only
https://javaee.github.io/jaxb-codemodel/
Other
40 stars 20 forks source link

reference for outer class when used only nested #7

Open glassfishrobot opened 12 years ago

glassfishrobot commented 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());

Affected Versions

[2.4, 2.5]

glassfishrobot commented 12 years ago

Reported by irioth

glassfishrobot commented 7 years ago

This issue was imported from java.net JIRA CODEMODEL-7