Ejemplo n.º 1
0
        public MacroNode(DeltinScriptParser.MacroContext context, BuildAstVisitor visitor) : base(new Location(visitor.file, DocRange.GetRange(context)))
        {
            Name          = context.name.Text;
            Documentation = GetDocumentation(context.DOCUMENTATION());

            Parameters = new ParameterDefineNode[context.setParameters().parameter_define().Length];
            for (int i = 0; i < Parameters.Length; i++)
            {
                Parameters[i] = new ParameterDefineNode(context.setParameters().parameter_define(i), visitor);
            }

            AccessLevel = AccessLevel.Private;
            if (context.accessor() != null)
            {
                AccessLevel = (AccessLevel)Enum.Parse(typeof(AccessLevel), context.accessor().GetText(), true);
            }

            Expression = visitor.VisitExpr(context.expr());
        }
Ejemplo n.º 2
0
 public override Node VisitMacro(DeltinScriptParser.MacroContext context)
 {
     return(new MacroNode(context, this));
 }