Example #1
0
 public override void Visit(FunctionParameter node)
 {
     var parameterSymbol = (HappyParameterSymbol)node.GetExtension<SymbolExtension>().Symbol;
     _expressionStack.Push(node, parameterSymbol.Parameter);
 }
 public override void Visit(FunctionParameter node)
 {
     base.Visit(node);
     if(this.TopSymbolTable.Items.ContainsKey(node.Name.Text))
         _errorCollector.DuplicateFunctionParameterName(node.Name);
     else
         node.GetExtension<SymbolExtension>().Symbol = this.TopSymbolTable.Add(node.Name.Text);
 }