|
|
@ -89,8 +89,25 @@ public final class InvokeOperator extends Operator { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String toString(String[] operands) { |
|
|
|
public String toString(String[] operands) { |
|
|
|
String object = |
|
|
|
String object = null; |
|
|
|
methodType.isStatic() |
|
|
|
if (specialFlag) { |
|
|
|
|
|
|
|
if (operands[0].equals("this")) { |
|
|
|
|
|
|
|
Class clazz = codeAnalyzer.method.classAnalyzer.clazz; |
|
|
|
|
|
|
|
object = ""; |
|
|
|
|
|
|
|
while (clazz != null |
|
|
|
|
|
|
|
&& !classType.equals(Type.tType(clazz))) { |
|
|
|
|
|
|
|
object = "super"; |
|
|
|
|
|
|
|
clazz = clazz.getSuperclass(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (clazz == null) |
|
|
|
|
|
|
|
object = "ERROR-SPECIAL"; |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
object = "ERROR-SPECIAL"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
object = (object != null) ? object |
|
|
|
|
|
|
|
: methodType.isStatic() |
|
|
|
? (classType.equals(Type.tType(codeAnalyzer.getClazz())) |
|
|
|
? (classType.equals(Type.tType(codeAnalyzer.getClazz())) |
|
|
|
? "" |
|
|
|
? "" |
|
|
|
: classType.toString()) |
|
|
|
: classType.toString()) |
|
|
@ -103,11 +120,9 @@ public final class InvokeOperator extends Operator { |
|
|
|
: operands[0]); |
|
|
|
: operands[0]); |
|
|
|
|
|
|
|
|
|
|
|
int arg = methodType.isStatic() ? 0 : 1; |
|
|
|
int arg = methodType.isStatic() ? 0 : 1; |
|
|
|
String method; |
|
|
|
String method = isConstructor() |
|
|
|
if (isConstructor()) |
|
|
|
? (object.length() == 0 ? "this" : object) |
|
|
|
method = (object.length() == 0 ? "this" : object); |
|
|
|
: (object.length() == 0 ? "" : object + ".") + methodName; |
|
|
|
else |
|
|
|
|
|
|
|
method = (object.length() == 0 ? "" : object + ".") + methodName; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StringBuffer params = new StringBuffer(); |
|
|
|
StringBuffer params = new StringBuffer(); |
|
|
|
for (int i=0; i < methodType.getParameterTypes().length; i++) { |
|
|
|
for (int i=0; i < methodType.getParameterTypes().length; i++) { |
|
|
|