private void pushBlockTable(Block block) { if (!stack.isEmpty()) { if (!context().referenceTableStack.isEmpty()) { block.getReferenceTable().relink(context().referenceTableStack.peek()); } context().referenceTableStack.push(block.getReferenceTable()); } }
@Override public void visitBlock(Block block) { pushBlockTable(block); definedInBlock(block.getReferenceTable().ownedSymbols(), block); for (GoloStatement statement : block.getStatements()) { statement.accept(this); } dropBlockTable(); }