1 6 7 package fr.emn.info.eaop.event; 8 9 import java.util.*; 10 import java.lang.reflect.*; 11 import java.io.*; 12 13 21 public class MethodCall extends Event { 22 23 public Object receiver; 24 public Method method; 25 public Object [] args; 26 27 31 public boolean skip = false; 32 33 37 public Object returnValue; 38 public int stackLevel; 39 40 public MethodCall(Thread thread, 41 Object receiver, 42 Method method, 43 Object [] args) { 44 super(thread); 45 this.receiver = receiver; 46 this.method = method; 47 this.args = args; 48 this.stackLevel = 0; 51 StringWriter stringWriter = new StringWriter(); 52 PrintWriter printWriter = new PrintWriter(stringWriter, true); 53 new Exception ().printStackTrace(printWriter); 54 String string = stringWriter.toString(); 55 int pos = 0; 56 while ((pos = string.indexOf('\n', pos + 1)) > -1) { 57 this.stackLevel++; 58 } 59 } 60 public String toString() { 61 String result = "MethodCall " + this.toString2(); 62 return result; 63 } 64 public String toString2() { 65 String result = receiver + "." + method.getName() + "("; 66 for (int i=0; i<args.length; i++) { 67 result += args[i] + ","; 68 } 69 result += ")"; 70 result += super.toString(); 71 return result; 72 } 73 } 74 75 | Popular Tags |