@@ -77,71 +77,10 @@ private RoutePatternTree ParseTree()
77
77
ValidateNoConsecutiveSeparators ( root , diagnostics ) ;
78
78
ValidateCatchAllParameters ( root , diagnostics ) ;
79
79
ValidateParameterParts ( root , diagnostics , routeParameters ) ;
80
- ValidateAdditionalInvalidParameterCharacters ( root , diagnostics , _routePatternOptions ) ;
81
- ValidateComplexSegments ( root , diagnostics , _routePatternOptions ) ;
82
80
83
81
return new RoutePatternTree ( _lexer . Text , root , diagnostics . ToImmutable ( ) , routeParameters . ToImmutable ( ) ) ;
84
82
}
85
83
86
- private static void ValidateComplexSegments ( RoutePatternCompilationUnit root , ImmutableArray < EmbeddedDiagnostic > . Builder diagnostics , RoutePatternOptions routePatternOptions )
87
- {
88
- if ( routePatternOptions . SupportComplexSegments )
89
- {
90
- return ;
91
- }
92
-
93
- foreach ( var part in root )
94
- {
95
- if ( part . TryGetNode ( RoutePatternKind . Segment , out var segmentNode ) )
96
- {
97
- if ( segmentNode . ChildCount > 1 )
98
- {
99
- var message = $ "Complex segment is not supported.";
100
- diagnostics . Add ( new EmbeddedDiagnostic ( message , segmentNode . GetFullSpan ( ) ! . Value ) ) ;
101
- }
102
- }
103
- }
104
- }
105
-
106
- private static void ValidateAdditionalInvalidParameterCharacters ( RoutePatternCompilationUnit root , ImmutableArray < EmbeddedDiagnostic > . Builder diagnostics , RoutePatternOptions routePatternOptions )
107
- {
108
- if ( routePatternOptions . AdditionalInvalidParameterCharacters == null )
109
- {
110
- return ;
111
- }
112
-
113
- foreach ( var part in root )
114
- {
115
- if ( part . TryGetNode ( RoutePatternKind . Segment , out var segmentNode ) )
116
- {
117
- foreach ( var segmentPart in segmentNode )
118
- {
119
- if ( segmentPart . TryGetNode ( RoutePatternKind . Parameter , out var parameterNode ) )
120
- {
121
- foreach ( var parameterPart in parameterNode )
122
- {
123
- if ( parameterPart . TryGetNode ( RoutePatternKind . ParameterName , out var parameterNameNode ) )
124
- {
125
- var parameterNameToken = ( ( RoutePatternNameParameterPartNode ) parameterNameNode ) . ParameterNameToken ;
126
- if ( ! parameterNameToken . IsMissing )
127
- {
128
- var name = parameterNameToken . Value ! . ToString ( ) ;
129
- var invalidCharacter = name . IndexOfAny ( routePatternOptions . AdditionalInvalidParameterCharacters ) ;
130
-
131
- if ( invalidCharacter != - 1 )
132
- {
133
- var message = $ "The character '{ name [ invalidCharacter ] } ' in parameter segment '{ parameterNode } ' is not allowed.";
134
- diagnostics . Add ( new EmbeddedDiagnostic ( message , parameterNameNode . GetSpan ( ) ) ) ;
135
- }
136
- }
137
- }
138
- }
139
- }
140
- }
141
- }
142
- }
143
- }
144
-
145
84
private static void ValidateStart ( RoutePatternCompilationUnit root , IList < EmbeddedDiagnostic > diagnostics )
146
85
{
147
86
if ( root . ChildCount > 1 &&
@@ -567,12 +506,6 @@ private ImmutableArray<RoutePatternParameterPartNode> ParseParameterParts()
567
506
RoutePatternKind . AsteriskToken ,
568
507
VirtualCharSequence . FromBounds ( firstAsteriskToken . VirtualChars , _currentToken . VirtualChars ) ) ;
569
508
570
- if ( ! _routePatternOptions . SupportTwoAsteriskCatchAll )
571
- {
572
- asterisksToken = asterisksToken . AddDiagnosticIfNone (
573
- new EmbeddedDiagnostic ( "A catch-all parameter may only have one '*' at the beginning of the segment." , asterisksToken . GetFullSpan ( ) ! . Value ) ) ;
574
- }
575
-
576
509
parts . Add ( new RoutePatternCatchAllParameterPartNode ( asterisksToken ) ) ;
577
510
ConsumeCurrentToken ( ) ;
578
511
}
@@ -629,14 +562,6 @@ private RoutePatternDefaultValueParameterPartNode ParseDefaultValue()
629
562
var equalsToken = _currentToken ;
630
563
var defaultValue = _lexer . TryScanDefaultValue ( ) ?? CreateMissingToken ( RoutePatternKind . DefaultValueToken ) ;
631
564
632
- if ( ! _routePatternOptions . SupportDefaultValues )
633
- {
634
- equalsToken = equalsToken . AddDiagnosticIfNone (
635
- new EmbeddedDiagnostic (
636
- "A parameter with a default value isn't supported." ,
637
- EmbeddedSyntaxHelpers . GetSpan ( equalsToken , defaultValue ) ) ) ;
638
- }
639
-
640
565
ConsumeCurrentToken ( ) ;
641
566
var node = new RoutePatternDefaultValueParameterPartNode ( equalsToken , defaultValue ) ;
642
567
return node ;
0 commit comments