1 instantiation of RoutePatternTree
Microsoft.AspNetCore.App.Analyzers (1)
Infrastructure\RoutePattern\RoutePatternParser.cs (1)
81return new RoutePatternTree(_lexer.Text, root, diagnostics.ToImmutable(), routeParameters.ToImmutable());
67 references to RoutePatternTree
Microsoft.AspNetCore.App.Analyzers (22)
Infrastructure\AmbiguousRoutePatternComparer.cs (4)
15internal sealed class AmbiguousRoutePatternComparer : IEqualityComparer<RoutePatternTree> 19public bool Equals(RoutePatternTree x, RoutePatternTree y) 153public int GetHashCode(RoutePatternTree obj)
Infrastructure\RoutePattern\RoutePatternParser.cs (2)
50public static RoutePatternTree? TryParse(VirtualCharSequence text, RoutePatternOptions routePatternOptions) 61private RoutePatternTree ParseTree()
Infrastructure\RouteUsageCache.cs (1)
66var tree = RoutePatternParser.TryParse(virtualChars, usageContext.RoutePatternOptions);
Infrastructure\RouteUsageModel.cs (1)
11public RoutePatternTree RoutePattern { get; init; } = default!;
Mvc\DetectAmbiguousActionRoutes.cs (4)
21private static void DetectAmbiguousActionRoutes(SymbolAnalysisContext context, WellKnownTypes wellKnownTypes, RoutePatternTree? controllerRoutePattern, List<ActionRoute> actionRoutes) 56private static bool HasActionToken(RoutePatternTree routePattern) 102public RoutePatternTree RoutePattern { get; } 108public ActionRouteGroupKey(IMethodSymbol actionSymbol, RoutePatternTree routePattern, ImmutableArray<string> httpMethods, bool controllerHasActionToken, WellKnownTypes wellKnownTypes)
Mvc\MvcAnalyzer.cs (1)
70RoutePatternTree? controllerRoutePattern = null;
RouteEmbeddedLanguage\FrameworkParametersCompletionProvider.cs (2)
482public readonly RoutePatternTree Tree; 496RoutePatternTree tree)
RouteEmbeddedLanguage\RoutePatternBraceMatcher.cs (4)
31private static AspNetCoreBraceMatchingResult? GetMatchingBraces(RoutePatternTree tree, int position) 49private static AspNetCoreBraceMatchingResult? FindParameterBraces(RoutePatternTree tree, VirtualChar ch) 55private static AspNetCoreBraceMatchingResult? FindPolicyParens(RoutePatternTree tree, VirtualChar ch) 61private static AspNetCoreBraceMatchingResult? FindReplacementTokenBrackets(RoutePatternTree tree, VirtualChar ch)
RouteEmbeddedLanguage\RoutePatternHighlighter.cs (1)
37var routePattern = routeUsage.RoutePattern;
RouteHandlers\DetectAmbiguousRoutes.cs (2)
148public RoutePatternTree RoutePattern { get; } 151public MapOperationGroupKey(IOperation? builder, IOperation parentOperation, RoutePatternTree routePattern, ImmutableArray<string> httpMethods)
Microsoft.AspNetCore.App.Analyzers.Test (45)
Infrastructure\AmbiguousRoutePatternComparerTests.cs (8)
17var route1 = ParseRoutePattern(@"""/"""); 18var route2 = ParseRoutePattern(@"""/"""); 43var route1 = ParseRoutePattern(pattern1); 44var route2 = ParseRoutePattern(pattern2); 67var route1 = ParseRoutePattern(pattern1); 68var route2 = ParseRoutePattern(pattern2); 87private static RoutePatternTree ParseRoutePattern(string text) 96var tree = RoutePatternParser.TryParse(allChars, RoutePatternOptions.MvcAttributeRoute);
RouteEmbeddedLanguage\RoutePatternParserTests.cs (7)
42private RoutePatternTree Test( 119private (SyntaxToken, RoutePatternTree, VirtualCharSequence) JustParseTree( 130var tree = RoutePatternParser.TryParse(allChars, routePatternOptions); 134private (RoutePatternTree, SourceText) TryParseTree( 247private static string TreeToText(SourceText text, RoutePatternTree tree) 282private static XElement CreateDiagnosticsElement(SourceText text, RoutePatternTree tree) 321private static void CheckInvariants(RoutePatternTree tree, VirtualCharSequence allChars)
RouteEmbeddedLanguage\RoutePatternParserTests_ComponentsTests.cs (1)
189var tree = Test(@"""" + template + @"""", routePatternOptions: RoutePatternOptions.ComponentsRoute, allowDiagnosticsMismatch: true);
RouteEmbeddedLanguage\RoutePatternParserTests_ConformanceTests.cs (29)
575var tree = Test(@"""" + template.Replace(@"\", @"\\") + @""""); 589var tree = Test(@"""" + template.Replace(@"\", @"\\") + @""""); 598var tree = Test(@"""" + template.Replace(@"\", @"\\") + @""""); 613var tree = Test(@"""" + template.Replace(@"\", @"\\") + @""""); 626var tree = Test(@"""" + template.Replace(@"\", @"\\") + @""""); 633var tree = Test(@"""{Controller}.mvc/{id}/{controller}"""); 646var tree = Test(@"""" + template.Replace(@"\", @"\\") + @""""); 654var tree = Test(@"""123{a}abc{*moo}"""); 661var tree = Test(@"""{*p1}/{*p2}"""); 668var tree = Test(@"""{*p1}abc{*p2}"""); 678var tree = Test(@"""foo/{*}"""); 696var tree = Test(@"""" + template.Replace(@"\", @"\\") + @""""); 704var tree = Test(@"""foo/{{p1}"""); 711var tree = Test(@"""foo/{p1}}"""); 719var tree = Test(@"""{aaa}/{AAA}"""); 726var tree = Test(@"""{aaa}/{*AAA}"""); 733var tree = Test(@"""{a}/{aa}a}/{z}"""); 740var tree = Test(@"""{a}/{a{aa}/{z}"""); 747var tree = Test(@"""{a}/{}/{z}"""); 754var tree = Test(@"""{Controller}.mvc/{?}"""); 761var tree = Test(@"""{a}//{z}"""); 768var tree = Test(@"""foo/{p1}/{*p2}/{p3}"""); 775var tree = Test(@"""foo/aa{p1}{p2}"""); 784var tree = Test(@"""" + routePattern.Replace(@"\", @"\\") + @""""); 791var tree = Test(@"""~foo"""); 798var tree = Test(@"""foor?bar"""); 805var tree = Test(@"""{foor?b}"""); 812var tree = Test(@"""{a}/{*b?}"""); 830var tree = Test(@"""" + template + @"""", runSubTreeTests: false);