public LanguageType Visit(FunctionNode node) { CurrentSymbolTable = node.SymbolTable; node.AcceptSiblings(node.Params, this); node.AcceptChildren(this); CurrentSymbolTable = node.SymbolTable.parent; return(LanguageType.Null); }
public void Visit(FunctionNode node) { CurrentSymbolTable.Insert(node.Identifier, node.Type, node); CurrentSymbolTable.OpenScope(); node.AcceptSiblings(node.Params, this); node.AcceptChildren(this); node.SymbolTable = CurrentSymbolTable.currentTable; CurrentSymbolTable.CloseScope(); }