예제 #1
0
 public virtual void Visit(FunctionParameter node)
 {
     this.BeforeVisitCatchAll(node);
 }
예제 #2
0
 public FunctionParameterList(HappySourceLocation startsAt, HappySourceLocation endsAt, FunctionParameter[] parameters)
     : base(startsAt, endsAt)
 {
     _parameters = parameters;
 }
예제 #3
0
 public override void Visit(FunctionParameter node)
 {
     var parameterSymbol = (HappyParameterSymbol)node.GetExtension<SymbolExtension>().Symbol;
     _expressionStack.Push(node, parameterSymbol.Parameter);
 }
예제 #4
0
 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);
 }