MCPcopy Create free account
hub / github.com/GCMiner/GCMiner / studentDisplayMonitor

Method studentDisplayMonitor

src/test/java/Monitor.java:31–63  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

29 }
30
31 public void studentDisplayMonitor() throws Exception{
32 CtClass ss = pool.getCtClass(classname);
33 CtClass.debugDump="./dump";
34 //添加字段name
35 CtField param = new CtField(pool.get("java.lang.String"),"name", ss);
36 // 访问级别是 private
37 param.setModifiers(Modifier.PRIVATE);
38 // 初始值是 "Frankyu"
39 ss.addField(param, CtField.Initializer.constant("Frankyu"));
40 String methodname = "display";
41 CtMethod display = ss.getDeclaredMethod(methodname);
42 String src = "{"+
43 "System.out.println($0.age);" +
44 "$0.name=\"frankyu\";" +
45 "System.out.println($0.name);"+
46 "}";
47 display.insertBefore(src);
48 if(true){
49 System.out.println("Hello javassist + 1");
50 }
51 src ="if(true){" +
52 "System.out.println(\"Hello javassist +2\");" +
53 "}";
54 display.insertAt(7,src);
55 src = "{"+
56 "System.out.println($0.grade);"+
57 "}";
58 display.insertAfter(src);
59 ss.toClass();
60 //ss.writeFile();
61 Student s = new Student();
62 s.display();
63 }
64
65 public static void main(String[] args) throws Exception{
66 Monitor m = new Monitor();

Callers 1

mainMethod · 0.95

Calls 1

displayMethod · 0.95

Tested by

no test coverage detected