javassist

    3热度

    2回答

    该工具(在this repo中)包含3个类(在下面给出)。问题是如何使我的ParaTracer.Logger类在每个I类仪器中都可见(如下面显示的java.util.Random)。声明cp.importPackage("ParaTracer.Logger");似乎并没有工作,我得到这个错误: java.lang.NoClassDefFoundError: ParaTracer/Logger at

    0热度

    1回答

    我使用了Javassist编辑在运行时JFrame类,(添加一个新的构造) ClassPool pool = ClassPool.getDefault(); pool.importPackage("javax.swing.TransferHandler$HasGetTransferHandler"); CtClass jFrameClass= pool.get("javax.swing.JFr

    5热度

    1回答

    可以使用CtMethod.setBody("..")来设置方法体,但是我没有找到任何API来以字符串格式获取方法体。

    3热度

    2回答

    具体的方法是什么,我想是让'的hashCode()调用Java中的特定方法的对象的值对象的hashCode()方法。例如, public class Caller { public void aMethod() { Callee calleeObj = new Callee(); calleeObj.aSpecificMethod(); //do so

    1热度

    2回答

    我试图修改在超类中声明的方法CtMethod#insertBefore。但是,Javassist似乎不可能。 private class AbstractTestDataSource { public Connection getConnection() throws SQLException { return connection; } } private

    4热度

    1回答

    众所周知,Java编译器在编译时间处从其他类中抽取常量字段值。生成的类文件而不是包含这些常量的常量池条目(任何类型)。 问:是否可以告诉编译器这么做? (Oracle JDK 7会很好) 如图所示,考虑一段代码 out.println(some.other.class.FOO),它读取FOO(例如,public static final int FOO = 1234)并输出它。我能够找到print

    2热度

    1回答

    我需要使用javassist库去除构造函数和方法的主体w/void返回类型。以下作品。 ctClass.getConstructors()[0].setBody("int i = 0"); 但这并不 ctClass.getConstructors()[0].setBody(""); 相反,我得到这个例外 compile error: syntax near "" 当我尝试 ctClas

    5热度

    2回答

    如何使用Javassist中的“com.stackoverflow。*”模式获取所有类? 我发现只有2种方法: 1 /查找类的全名 CtClass ClassPool.getDefault().getCtClass("com.stackoverflow.user.name") 2 /查找类与fullnames列表: CtClass[] ClassPool.getDefault().get(St

    0热度

    1回答

    我有我想要在Javassist生成的代码中使用以下类。 public class SomeClass { private String someString; private Object someValue; public SomeClass() {} public SomeClass(String someString, Object someVal

    6热度

    1回答

    我正在尝试删除使用Javassist从类文件中删除一个方法。 对象等级:"RemoveMethod"。 对象方法:"DoubleCheck"。 我的代码: package javassist; import java.io.IOException; import java.lang.reflect.Method; import javassist.*; p