public FieldAccessSyntax(ISyntaxNode parent, JurParser.FieldAccessContext context) : base(parent, context)
 {
     Owner             = ExpressionSyntaxFactory.Create(this, context.expression());
     Name              = context.ID().GetText();
     ImmediateChildren = ImmutableArray.Create <ITreeNode>()
                         .Add(Owner);
 }
        public InferredVariableDeclarationSyntax(ISyntaxNode parent, JurParser.InferedVariableDeclarationContext context) : base(parent, context)
        {
            Name        = context.ID().GetText();
            Initializer = ExpressionSyntaxFactory.Create(this, context.expression());
            IsMutable   = context.MUTABLE() != null;

            ImmediateChildren = ImmutableArray.Create <ITreeNode>()
                                .Add(Initializer);
        }
예제 #3
0
        public IfStatementSyntax(ISyntaxNode parent, JurParser.IfStatementContext context) : base(parent, context)
        {
            Condition = ExpressionSyntaxFactory.Create(this, context.expression());
            Body      = new GeneratedScopeSyntax(this, context.statement(0));
            ElseBody  = context.ELSE() != null
                                           ? new GeneratedScopeSyntax(this, context.statement(1))
                                           : null;

            ImmediateChildren = ImmutableArray.Create <ITreeNode>()
                                .Add(Condition)
                                .Add(Body)
                                .AddIfNotNull(ElseBody);
        }
예제 #4
0
 protected ImmutableArray <IExpressionSyntax> ToExpressions(IEnumerable <JurParser.ExpressionContext> contexts)
 {
     return(contexts.Select(x => ExpressionSyntaxFactory.Create(this, x)).ToImmutableArray());
 }
예제 #5
0
 protected IExpressionSyntax ToExpression(JurParser.ExpressionContext context)
 {
     return(ExpressionSyntaxFactory.Create(this, context));
 }