IDEA-132625 (decompiler time limit)
This commit is contained in:
parent
52a7e1c7e9
commit
3940565598
|
@ -94,7 +94,7 @@ public class ClassWrapper {
|
|||
|
||||
mtThread.start();
|
||||
|
||||
while (mtThread.isAlive()) {
|
||||
while (!mtProc.isFinished()) {
|
||||
synchronized (mtProc.lock) {
|
||||
mtProc.lock.wait(100);
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ public class MethodProcessorRunnable implements Runnable {
|
|||
|
||||
private volatile RootStatement root;
|
||||
private volatile Throwable error;
|
||||
private volatile boolean finished = false;
|
||||
|
||||
public MethodProcessorRunnable(StructMethod method, VarProcessor varProc, DecompilerContext parentContext) {
|
||||
this.method = method;
|
||||
|
@ -57,10 +58,6 @@ public class MethodProcessorRunnable implements Runnable {
|
|||
|
||||
try {
|
||||
root = codeToJava(method, varProc);
|
||||
|
||||
synchronized (lock) {
|
||||
lock.notifyAll();
|
||||
}
|
||||
}
|
||||
catch (ThreadDeath ex) {
|
||||
throw ex;
|
||||
|
@ -68,6 +65,14 @@ public class MethodProcessorRunnable implements Runnable {
|
|||
catch (Throwable ex) {
|
||||
error = ex;
|
||||
}
|
||||
finally {
|
||||
DecompilerContext.setCurrentContext(null);
|
||||
}
|
||||
|
||||
finished = true;
|
||||
synchronized (lock) {
|
||||
lock.notifyAll();
|
||||
}
|
||||
}
|
||||
|
||||
public static RootStatement codeToJava(StructMethod mt, VarProcessor varProc) throws IOException {
|
||||
|
@ -206,7 +211,7 @@ public class MethodProcessorRunnable implements Runnable {
|
|||
return root;
|
||||
}
|
||||
|
||||
public Throwable getError() {
|
||||
return error;
|
||||
public boolean isFinished() {
|
||||
return finished;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue