// public delegate TinyValue TinyFunction(object[] args); public override TinyValue VisitFunctionDecl([NotNull] TinyUnityParser.FunctionDeclContext context) { if (context.idList() == null) { IParseTree block = context.parenBlock(); string id = context.Identifier().GetText(); functions.Add(id, new TinyFunction(null, block)); return(null); } else { var parameters = context.idList().Identifier().ToList(); IParseTree block = context.parenBlock(); string id = context.Identifier().GetText() + parameters.Count(); functions.Add(id, new TinyFunction(parameters, block)); return(null); } }
//Handled by symbol visitor public override TinyValue VisitFunctionDecl([NotNull] TinyUnityParser.FunctionDeclContext context) { return(TinyValue.NULL); }