【发布时间】:2016-08-15 11:56:44
【问题描述】:
我一直在研究一个将内部类inside注入方法的处理器,但我在弄清楚如何生成类和伴随的对象初始化而不引起自动生成不正确的完全限定名称。
例如,我一直在处理以下内容: 我一直在开设一个新课程:
CtClass internal = getFactory().Core().createClass();
然后将其插入方法中的元素之前
element.insertBefore(internal);
但是当我做一个初始化声明时:
CtConstructorCall call = getFactory().Core().createConstructorCall();
call.setType(internal);
internal.insertAfter(call);
我接到一个看起来像这样的电话:
Main.internal initializedInternalObject = new Main.internal();
其中Main 是所有内容所在的整个类的名称,即使internal 仅在特定方法中声明。我已经尝试对内部类使用 getFactory().Class().create() 方法,但该方法似乎只针对嵌套在类中的类,而不是在方法中定义的类。
我的类声明有问题吗?我只是遇到了勺子生成内部类的能力的限制吗?有什么建议吗?
谢谢大家!
【问题讨论】:
标签: java inria-spoon