예제 #1
0
        public PatternUst VisitPatternIntLiteral(DslParser.PatternIntLiteralContext context)
        {
            PatternUst result;

            if (context.i != null)
            {
                result = VisitPatternIntExpression(context.i);
            }
            else
            {
                long minValue = long.MinValue;
                long maxValue = long.MaxValue;
                if (context.i1 != null)
                {
                    minValue = ((PatternIntLiteral)VisitPatternIntExpression(context.i1)).Value;
                }
                if (context.i2 != null)
                {
                    maxValue = ((PatternIntLiteral)VisitPatternIntExpression(context.i2)).Value;
                }
                result = new PatternIntRangeLiteral(minValue, maxValue);
            }
            result.TextSpan = context.GetTextSpan();
            return(result);
        }
예제 #2
0
        public UstNode VisitPatternIntLiteral(DslParser.PatternIntLiteralContext context)
        {
            IntLiteral result;

            if (context.i != null)
            {
                result = (IntLiteral)VisitPatternIntExpression(context.i);
            }
            else
            {
                result = new PatternIntLiteral(
                    context.i1 != null ? ((IntLiteral)VisitPatternIntExpression(context.i1)).Value : long.MinValue,
                    context.i2 != null ? ((IntLiteral)VisitPatternIntExpression(context.i2)).Value : long.MaxValue);
            }
            result.TextSpan = context.GetTextSpan();
            return(result);
        }