Пример #1
0
        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);
        }
Пример #2
0
 public override object VisitAnonEventHandler(PParser.AnonEventHandlerContext context)
 {
     return(Visit(context.functionBody()));
 }