예제 #1
0
 public RuleDefineNode(DeltinScriptParser.Rule_defineContext context, BuildAstVisitor visitor) : base(new Location(visitor.file, Range.GetRange(context)))
 {
     VariableName = context.name.Text;
     Type         = context.type?.Text;
     if (context.expr() != null)
     {
         Value = visitor.Visit(context.expr());
     }
     if (context.useVar() != null)
     {
         UseVar = (UseVarNode)visitor.Visit(context.useVar());
     }
     IsGlobal = context.GLOBAL() != null;
 }
        public RuleDefineNode(DeltinScriptParser.Rule_defineContext context, BuildAstVisitor visitor) : base(new Location(visitor.file, DocRange.GetRange(context)))
        {
            VariableName = context.name.Text;
            Type         = context.type?.Text;
            if (context.expr() != null)
            {
                Value = visitor.Visit(context.expr());
            }
            Extended = context.NOT() != null;
            IsGlobal = context.GLOBAL() != null;

            if (context.id != null)
            {
                OverrideID = int.Parse(context.id.GetText());
            }
        }
예제 #3
0
 public override Node VisitRule_define(DeltinScriptParser.Rule_defineContext context)
 {
     return(new RuleDefineNode(context, this));
 }