gpt4 book ai didi

java - 用 Spoon 在方法中生成一个类

转载 作者:太空宇宙 更新时间:2023-11-04 12:21:53 25 4
gpt4 key购买 nike

我一直在开发一种在方法内部注入(inject)内部类的处理器,但我在弄清楚如何生成类和伴随的对象初始化而不自动生成不正确的完全限定名称时遇到了很多麻烦。

例如,我一直在处理以下内容:我一直在制作一个新类(class):

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() 方法,但该方法似乎仅针对嵌套在类中的类,而不是针对方法中声明的类。

我的类声明有问题吗?我只是遇到了 Spoon 生成内部类的能力的限制吗?有什么建议吗?

谢谢大家!

最佳答案

一种可能的解决方案是在内部类名称前添加一个数字前缀。

这个有用吗?

不要犹豫,使用Github issues用于报告奇怪的行为。

关于java - 用 Spoon 在方法中生成一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38783040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com