new ConstOperator constructor

use BytecodeInfo for Interpreter


git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@455 379699f6-c40d-0410-875b-85095c16579e
stable
jochen 26 years ago
parent df9782bde4
commit 73ea320fbf
  1. 6
      jode/jode/expr/InvokeOperator.java

@ -181,7 +181,7 @@ public final class InvokeOperator extends Operator
CodeAnalyzer ca = clazz.getMethod(methodName, methodType).getCode(); CodeAnalyzer ca = clazz.getMethod(methodName, methodType).getCode();
if (ca == null) if (ca == null)
return null; return null;
CodeInfo info = ca.getCodeInfo(); BytecodeInfo info = ca.getBytecodeInfo();
Value[] locals = new Value[info.getMaxLocals()]; Value[] locals = new Value[info.getMaxLocals()];
for (int i=0; i< locals.length; i++) for (int i=0; i< locals.length; i++)
locals[i] = new Value(); locals[i] = new Value();
@ -192,7 +192,7 @@ public final class InvokeOperator extends Operator
String result; String result;
try { try {
result = (String) Interpreter.interpretMethod result = (String) Interpreter.interpretMethod
(clazz, info.getCode(), locals, stack); (clazz, info, locals, stack);
} catch (InterpreterException ex) { } catch (InterpreterException ex) {
Decompiler.err.println("Warning: Can't interpret method " Decompiler.err.println("Warning: Can't interpret method "
+methodName); +methodName);
@ -202,7 +202,7 @@ public final class InvokeOperator extends Operator
ex.printStackTrace(Decompiler.err); ex.printStackTrace(Decompiler.err);
return null; return null;
} }
return new ConstOperator(Type.tString, result); return new ConstOperator(result);
} }
/* Invokes never equals: they may return different values even if /* Invokes never equals: they may return different values even if

Loading…
Cancel
Save