mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
empty dfa stack when going to catch or finally in control flow
This commit is contained in:
@@ -642,6 +642,7 @@ class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
pushUnknown();
|
||||
final ConditionalGotoInstruction branch = new ConditionalGotoInstruction(-1, false, null);
|
||||
addInstruction(branch);
|
||||
addInstruction(new EmptyStackInstruction());
|
||||
addInstruction(new GosubInstruction(cd.getJumpOffset()));
|
||||
addInstruction(new ReturnInstruction());
|
||||
branch.setOffset(myCurrentFlow.getInstructionCount());
|
||||
@@ -651,6 +652,7 @@ class ControlFlowAnalyzer extends JavaElementVisitor {
|
||||
pushUnknown();
|
||||
final ConditionalGotoInstruction branch = new ConditionalGotoInstruction(-1, false, null);
|
||||
addInstruction(branch);
|
||||
addInstruction(new EmptyStackInstruction());
|
||||
addInstruction(new PushInstruction(myFactory.getNotNullFactory().create(myRuntimeException), null));
|
||||
addGotoCatch(cd);
|
||||
branch.setOffset(myCurrentFlow.getInstructionCount());
|
||||
|
||||
Reference in New Issue
Block a user