public override double VisitFuncDef(MeelanLanguageParser.FuncDefContext context) { var functionName = context.ID().GetText(); if (_callStack.CurrentScope.HasFunctionDeclared(functionName)) { throw new InvalidOperationException( $"A function {functionName} has already been declared in this scope."); } _callStack.CurrentScope.SetFunction(functionName, context); return(0); }
public void SetFunction(string functionName, MeelanLanguageParser.FuncDefContext functionContext) { Functions[functionName] = functionContext; }