diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java index d612cb2f013..a73a126a41c 100644 --- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java +++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java @@ -4068,15 +4068,8 @@ public void visitIfElse(final IfStatement ifElse) { restoreTypeBeforeConditional(); ifElse.getElseBlock().visit(this); - - // GROOVY-9786: if chaining: "if (...) x=?; else if (...) x=?;" - Map updates = - ifElse.getElseBlock().getNodeMetaData("assignments"); - if (updates != null) { - updates.forEach(this::recordAssignment); - } } finally { - ifElse.putNodeMetaData("assignments", popAssignmentTracking(oldTracker)); + popAssignmentTracking(oldTracker); } if (!typeCheckingContext.enclosingBlocks.isEmpty()) { @@ -4274,6 +4267,10 @@ protected Map popAssignmentTracking(final Map