bcel 中的静态初始化器
在 BCEL 中,我想在类的静态初始化器中初始化静态字段。 然而我还没有找到一种方法......有什么提示吗?
我需要类似的东西:
// Field descriptor #8 [I
private static int[] a;
static {};
0 bipush 10
2 multianewarray int[] [9]
6 putstatic Output.a : int[] [11]
9 return
然而,我似乎只能生成(使用 MethodGen
)类似的东西:
public static void {}();
0 bipush 10
2 multianewarray int[] [9]
6 putstatic Output.a : int[] [11]
9 return
这当然不一样。
In BCEL, I would like to initialize static fields in the static initializer of a class. I haven't found a way to do so however... any hints?
I need something like:
// Field descriptor #8 [I
private static int[] a;
static {};
0 bipush 10
2 multianewarray int[] [9]
6 putstatic Output.a : int[] [11]
9 return
I however only seem to be able to generate (with MethodGen
) things like:
public static void {}();
0 bipush 10
2 multianewarray int[] [9]
6 putstatic Output.a : int[] [11]
9 return
Which is of course not the same.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我自己刚刚发现的。
clinit 似乎是类初始值设定项...
Just found it myself.
clinit seems to be the class initializer ...