Beispiel #1
0
        public PatternUst VisitExpressionStatement(DslParser.ExpressionStatementContext context)
        {
            PatternUst result = VisitExpression(context.expression());

            if (!PatternExpressionInsideStatement)
            {
                if (context.PatternNot() != null)
                {
                    result = new PatternNot(result);
                }
            }
            else
            {
                result = new PatternArbitraryDepth(result, context.GetTextSpan());
                if (context.PatternNot() != null)
                {
                    result = new PatternNot(result);
                }
            }
            return(result);
        }
Beispiel #2
0
        public PatternUst VisitClassDeclaration(DslParser.ClassDeclarationContext context)
        {
            IEnumerable <PatternUst> modifiers = ProcessLiteralsOrPatternIds(context._modifiers);
            IEnumerable <PatternUst> baseTypes = ProcessLiteralsOrPatternIds(context._baseTypes);

            PatternUst name = null;

            if (context.name != null)
            {
                name = VisitLiteralOrPatternId(context.name);
            }

            PatternArbitraryDepth body   = null;
            var arbitraryDepthExpression = context.arbitraryDepthExpression();

            if (arbitraryDepthExpression != null)
            {
                body = (PatternArbitraryDepth)VisitArbitraryDepthExpression(arbitraryDepthExpression);
            }

            return(new PatternClassDeclaration(modifiers, name, baseTypes, body, context.GetTextSpan()));
        }
Beispiel #3
0
 public virtual T Visit(PatternArbitraryDepth patternArbitraryDepth)
 {
     return(VisitChildren(patternArbitraryDepth));
 }