对于现有的私有方法,例如类package private
的{{1}}默认构造函数,我使用下面的代码来设置要保护的方法。
通过测试下面的代码和Byte Buddy的测试用例ContentItem
,我发现如果我加载AbstractDynamicTypeBuilderForInliningTest.java::testMethodTransformationExistingMethod()
或将其保存到文件中,加载类的默认构造函数和已保存的类就做了变为dynamicType
,但protected
中的构造函数仍保留原始修饰符,ig 0(包私有)。
所以问题是,如何在不加载或保存的情况下获取转换后的类信息?我需要使用转换后的类信息将默认构造函数添加到类dynamicType.getTypeDescription().getDeclaredMethods()
的子类中(子类'默认构造函数需要调用ContentItem
的默认构造函数)。 / p>
ContentItem
答案 0 :(得分:0)
由于性能原因,提供的类型描述不包括超类或转换方法的任何重写方法。
如果要读取完全转换的类型,则需要重新解析字节数组。只需将字节数组提供给解释字节的类型池。