我一直在研究一个在方法中注入内部类的处理器,我在弄清楚如何生成类和伴随的对象初始化而不导致自动生成不正确的完全限定名称时遇到了很多麻烦.
例如,我一直在处理以下内容:我一直在创建一个新课程:
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() 方法,但该方法似乎只针对嵌套在类中的类,而不是在方法中定义的类。
我对类声明做错了吗?我只是遇到了勺子生成内部类的能力的限制吗?有什么建议么?
感谢大家!