private Function CreateAnonFunction(PParser.NoParamAnonEventHandlerContext context) { var fun = new Function(context) { Owner = CurrentMachine, Scope = CurrentScope.MakeChildScope() }; nodesToDeclarations.Put(context, fun); return(fun); }
private Function CreateAnonFunction(PParser.AnonEventHandlerContext context) { var fun = new Function(context) { Owner = CurrentMachine, Scope = CurrentScope.MakeChildScope() }; if (context.funParam() is PParser.FunParamContext paramContext) { Variable param = fun.Scope.Put(paramContext.name.GetText(), paramContext, VariableRole.Param); param.Type = ResolveType(paramContext.type()); nodesToDeclarations.Put(paramContext, param); fun.Signature.Parameters.Add(param); } nodesToDeclarations.Put(context, fun); return(fun); }