我正在用ByteBuddy生成一个类。 作为一个方法实现的一部分,我想将另一个对象中的public实例字段设置为MethodCall调用的返回值。(保留示例public意味着访问检查等无关紧要。)我想我可以使用MethodCall#setsField(FieldDescription)来做这件事。但从我的prior question related to this中我了解到,MethodCall#setsField(FieldDescription)仅用于检测类型<em
基本上,我试图让Buddy (版本1.9.0)生成以下Java类的等效值(这只是一个简化的示例;问题通常发生在试图将新创建的对象传递给方法时): val Builder<?> builder = new ByteBuddy()
.subclass(Object).name("CalendarSetter").merge(Visibility.P
我试图(有效地)在一个类上查找一个MethodHandle,然后从ByteBuddy生成的子类中使用它。(我知道我可以使用静态MethodHandle字段和类型初始化器来实现这一点,但是我想使用这种常量支持来尝试。)这一切都很好,显然(目前)与ByteBuddy没有任何关系,但它会的。
一切都很好。因此,我的最后一个问题是:为什么MethodHandle to --使用字段设置常量使其看起来像&l