Exemplo n.º 1
0
        public PatternUst VisitMethodDeclaration(DslParser.MethodDeclarationContext context)
        {
            PatternUst result;
            IEnumerable <PatternUst> modifiers = ProcessLiteralsOrPatternIds(context._modifiers);
            PatternUst name           = VisitLiteralOrPatternId(context.methodName);
            var        bodyExpression = context.expression();

            if (bodyExpression != null)
            {
                PatternUst body = VisitExpression(bodyExpression);
                result = new PatternMethodDeclaration(modifiers, name, body, context.GetTextSpan());
            }
            else if (context.Ellipsis() != null)
            {
                // Any body
                result = new PatternMethodDeclaration(modifiers, name, true, context.GetTextSpan());
            }
            else
            {
                result = new PatternMethodDeclaration(modifiers, name, false, context.GetTextSpan());
            }
            return(result);
        }
Exemplo n.º 2
0
 public virtual T Visit(PatternMethodDeclaration patternMethodDeclaration)
 {
     return(VisitChildren(patternMethodDeclaration));
 }