diff --git a/src/main/java/lang/jimple/internal/Decompiler.java b/src/main/java/lang/jimple/internal/Decompiler.java index f435cd60..e2282834 100644 --- a/src/main/java/lang/jimple/internal/Decompiler.java +++ b/src/main/java/lang/jimple/internal/Decompiler.java @@ -690,7 +690,18 @@ private LocalVariableDeclaration findLocalVariable(int idx) { return localVariables.get(node); } } - throw new RuntimeException("local variable not found"); + // the following code deals with the situations + // where the source code has not been compiler with + // debugging information + // + // throw new RuntimeException("local variable not found"); + String local = "l" + idx; + + LocalVariableDeclaration var = new LocalVariableDeclaration(Type.TUnknown(), local); + LocalVariableNode node = new LocalVariableNode(local, null, null, null, null, idx); + localVariables.put(node, var); + + return var; } /*