Integer insn = getBytecodeOffset(decompiledLine);
if (error != null && insn != null && insn.intValue() == errorInsn) {
return new String [] {error,error};
}
if (frames != null && insn != null) {
Frame f = frames[insn.intValue()];
if (f == null) {
return null;
}
try {
StringBuffer localsBuf = new StringBuffer();
for (int i = 0; i < f.getLocals(); ++i) {
String s = f.getLocal(i).toString();
appendTypeName(i, useQualifiedNames, localsBuf, s);
for (Iterator it = localVariables.iterator(); it.hasNext();) {
LocalVariableNode lvnode = (LocalVariableNode) it.next();
int n = lvnode.index;
if( n==i) {
localsBuf.append( " : ").append( lvnode.name);
}
}
localsBuf.append('\n');
}
StringBuffer stackBuf = new StringBuffer();
for (int i = 0; i < f.getStackSize(); ++i) {
String s = f.getStack(i).toString();
appendTypeName(i, useQualifiedNames, stackBuf, s);
stackBuf.append('\n');
}
return new String[] {localsBuf.toString(), stackBuf.toString()};
} catch (IndexOutOfBoundsException e) {