diff --git a/src/main/java/gr/gousiosg/javacg/stat/MethodVisitor.java b/src/main/java/gr/gousiosg/javacg/stat/MethodVisitor.java index 21100420..b4c55ca2 100644 --- a/src/main/java/gr/gousiosg/javacg/stat/MethodVisitor.java +++ b/src/main/java/gr/gousiosg/javacg/stat/MethodVisitor.java @@ -53,8 +53,8 @@ public MethodVisitor(MethodGen m, JavaClass jc) { visitedClass = jc; mg = m; cp = mg.getConstantPool(); - format = "M:" + visitedClass.getClassName() + ":" + mg.getName() + "(" + argumentList(mg.getArgumentTypes()) + ")" - + " " + "(%s)%s:%s(%s)"; + format = "M:" + visitedClass.getClassName() + ":" + mg.getName() + "(" + argumentList(mg.getArgumentTypes()) + ")" + mg.getReturnType().toString() + + " " + "(%s)%s:%s(%s)%s"; } private String argumentList(Type[] arguments) { @@ -91,27 +91,27 @@ private boolean visitInstruction(Instruction i) { @Override public void visitINVOKEVIRTUAL(INVOKEVIRTUAL i) { - methodCalls.add(String.format(format,"M",i.getReferenceType(cp),i.getMethodName(cp),argumentList(i.getArgumentTypes(cp)))); + methodCalls.add(String.format(format,"M",i.getReferenceType(cp),i.getMethodName(cp),argumentList(i.getArgumentTypes(cp)),i.getReturnType(cp))); } @Override public void visitINVOKEINTERFACE(INVOKEINTERFACE i) { - methodCalls.add(String.format(format,"I",i.getReferenceType(cp),i.getMethodName(cp),argumentList(i.getArgumentTypes(cp)))); + methodCalls.add(String.format(format,"I",i.getReferenceType(cp),i.getMethodName(cp),argumentList(i.getArgumentTypes(cp)),i.getReturnType(cp))); } @Override public void visitINVOKESPECIAL(INVOKESPECIAL i) { - methodCalls.add(String.format(format,"O",i.getReferenceType(cp),i.getMethodName(cp),argumentList(i.getArgumentTypes(cp)))); + methodCalls.add(String.format(format,"O",i.getReferenceType(cp),i.getMethodName(cp),argumentList(i.getArgumentTypes(cp)),i.getReturnType(cp))); } @Override public void visitINVOKESTATIC(INVOKESTATIC i) { - methodCalls.add(String.format(format,"S",i.getReferenceType(cp),i.getMethodName(cp),argumentList(i.getArgumentTypes(cp)))); + methodCalls.add(String.format(format,"S",i.getReferenceType(cp),i.getMethodName(cp),argumentList(i.getArgumentTypes(cp)),i.getReturnType(cp))); } @Override public void visitINVOKEDYNAMIC(INVOKEDYNAMIC i) { methodCalls.add(String.format(format,"D",i.getType(cp),i.getMethodName(cp), - argumentList(i.getArgumentTypes(cp)))); + argumentList(i.getArgumentTypes(cp)),i.getReturnType(cp))); } }