6 instantiations of DfaNode
Microsoft.AspNetCore.Routing (6)
Matching\DfaMatcherBuilder.cs (6)
74var root = new DfaNode() { PathDepth = 0, Label = includeLabel ? "/" : null }; 287parent.CatchAll = new DfaNode() 312parent.Parameters = new DfaNode() 349parent.Parameters = new DfaNode() 500next = new DfaNode() 926var next = new DfaNode()
233 references to DfaNode
Microsoft.AspNetCore.Routing (45)
Internal\DfaGraphWriter.cs (3)
54var visited = new Dictionary<DfaNode, int>(); 56var tree = builder.BuildDfaTree(includeLabel: true); 62void WriteNode(DfaNode node)
Matching\DfaMatcherBuilder.cs (32)
67public DfaNode BuildDfaTree(bool includeLabel = false) 74var root = new DfaNode() { PathDepth = 0, Label = includeLabel ? "/" : null }; 83work.Add(new DfaBuilderWorkerWorkItem(endpoint, precedenceDigit, new List<DfaNode>() { root, })); 206var parent = parents[j]; 212List<DfaNode> nextParents; 223nextParents = new List<DfaNode>(); 253List<DfaNode> parents, 254List<DfaNode> nextParents, 259var parent = parents[i]; 372private void AddParentsMatchingComplexSegment(RouteEndpoint endpoint, List<DfaNode> nextParents, RoutePatternPathSegment segment, DfaNode parent, RoutePatternParameterPart parameterPart) 425private void AddParentsWithMatchingLiteralConstraints(List<DfaNode> nextParents, DfaNode parent, RoutePatternParameterPart parameterPart, IReadOnlyList<RoutePatternParameterPolicyReference> parameterPolicyReferences) 463foreach (var literal in parent.Literals.Values) 473private void AddRequiredLiteralValue(RouteEndpoint endpoint, List<DfaNode> nextParents, DfaNode parent, RoutePatternParameterPart parameterPart, object requiredValue) 495private static void AddLiteralNode(bool includeLabel, List<DfaNode> nextParents, DfaNode parent, string literal) 498!parent.Literals.TryGetValue(literal, out var next)) 552var root = BuildDfaTree(includeLabel); 583DfaNode node, 678int Transition(DfaNode next) 877private void ApplyPolicies(DfaNode node) 889var work = new List<DfaNode>() { node, }; 890List<DfaNode> previousWork = null; 896List<DfaNode> nextWork; 899nextWork = new List<DfaNode>(); 910var parent = work[j]; 926var next = new DfaNode() 996public List<DfaNode> Parents { get; } 998public DfaBuilderWorkerWorkItem(RouteEndpoint endpoint, int precedenceDigit, List<DfaNode> parents) 1005public void Deconstruct(out RouteEndpoint endpoint, out int precedenceDigit, out List<DfaNode> parents)
Matching\DfaNode.cs (10)
28public Dictionary<string, DfaNode> Literals { get; private set; } 30public DfaNode Parameters { get; set; } 32public DfaNode CatchAll { get; set; } 36public Dictionary<object, DfaNode> PolicyEdges { get; private set; } 38public void AddPolicyEdge(object state, DfaNode node) 42PolicyEdges = new Dictionary<object, DfaNode>(); 48public void AddLiteral(string literal, DfaNode node) 52Literals = new Dictionary<string, DfaNode>(StringComparer.OrdinalIgnoreCase); 80public void Visit(Action<DfaNode> visitor) 129string FormatNode(DfaNode other)
Microsoft.AspNetCore.Routing.Tests (188)
Matching\DfaMatcherBuilderTest.cs (188)
27var root = builder.BuildDfaTree(); 45var root = builder.BuildDfaTree(); 54var a = next.Value; 61var b = next.Value; 68var c = next.Value; 84var root = builder.BuildDfaTree(); 90var a = root.Parameters; 94var b = a.Parameters; 98var c = b.Parameters; 114var root = builder.BuildDfaTree(); 120var a = root.Parameters; 129var catchAll = a.CatchAll; 146var root = builder.BuildDfaTree(); 154var catchAll = root.CatchAll; 173var root = builder.BuildDfaTree(); 182var a = next.Value; 187var b1 = a.Literals["b1"]; 194var c1 = next.Value; 199var b2 = a.Literals["b2"]; 206var c2 = next.Value; 225var root = builder.BuildDfaTree(); 234var a = next.Value; 239var b1 = a.Literals["b1"]; 246var c1 = next.Value; 251var b2 = a.Literals["b2"]; 258var c2 = next.Value; 277var root = builder.BuildDfaTree(); 286var a = next.Value; 292var b = next.Value; 299var c1 = next.Value; 307var b2 = a.Parameters; 314var c2 = next.Value; 333var root = builder.BuildDfaTree(); 342var a = next.Value; 346var b = a.Parameters; 353var c = next.Value; 375var root = builder.BuildDfaTree(); 384var a = next.Value; 390var b1 = next.Value; 397var c1 = next.Value; 405var catchAll = a.CatchAll; 424var root = builder.BuildDfaTree(); 433var a = next.Value; 437var b1 = a.Parameters; 444var c1 = next.Value; 452var catchAll = a.CatchAll; 471var root = builder.BuildDfaTree(); 480var aNodeValue = aNodeKvp.Value; 483var cNode = cNodeKvp.Value; 491var bNode = bNodeKvp.Value; 497var paramCNode = paramCNodeKvp.Value; 518var root = builder.BuildDfaTree(); 527var aNodeValue = aNodeKvp.Value; 530var cNode = cNodeKvp.Value; 538var bNode = bNodeKvp.Value; 544var paramCNode = paramCNodeKvp.Value; 563var root = builder.BuildDfaTree(); 574var aNodeValue = aNodeKvp.Value; 575Assert.True(aNodeValue.Literals.TryGetValue("c", out var cNode)); 583Assert.True(aNodeValue.Literals.TryGetValue("b", out var bNode)); 588var paramBCNode = paramBCNodeKvp.Value; 598var bParamNode = bParamNodeKvp.Value; 604var paramCNode = paramCNodeKvp.Value; 626var root = builder.BuildDfaTree(); 637var aNodeValue = aNodeKvp.Value; 638Assert.True(aNodeValue.Literals.TryGetValue("c", out var cNode)); 646Assert.True(aNodeValue.Literals.TryGetValue("b", out var bNode)); 651var paramBCNode = paramBCNodeKvp.Value; 661var bParamNode = bParamNodeKvp.Value; 667var paramCNode = paramCNodeKvp.Value; 686var root = builder.BuildDfaTree(); 695var aNodeValue = aNodeKvp.Value; 698var cNode = cNodeKvp.Value; 706var bNode = bNodeKvp.Value; 712var paramCNode = paramCNodeKvp.Value; 731var root = builder.BuildDfaTree(); 742var aNodeValue = aNodeKvp.Value; 743Assert.True(aNodeValue.Literals.TryGetValue("c", out var cNode)); 751Assert.True(aNodeValue.Literals.TryGetValue("b", out var bNode)); 756var paramBCNode = paramBCNodeKvp.Value; 766var bParamNode = bParamNodeKvp.Value; 772var paramCNode = paramCNodeKvp.Value; 791var root = builder.BuildDfaTree(); 800var aNodeValue = aNodeKvp.Value; 803var cNode = cNodeKvp.Value; 811var bNode = bNodeKvp.Value; 817var paramCNode = paramCNodeKvp.Value; 836var root = builder.BuildDfaTree(); 847var aNodeValue = aNodeKvp.Value; 848Assert.True(aNodeValue.Literals.TryGetValue("c", out var cNode)); 856Assert.True(aNodeValue.Literals.TryGetValue("b", out var bNode)); 861var paramBCNode = paramBCNodeKvp.Value; 871var bParamNode = bParamNodeKvp.Value; 877var paramCNode = paramCNodeKvp.Value; 896var root = builder.BuildDfaTree(); 907var aNodeValue = aNodeKvp.Value; 908Assert.True(aNodeValue.Literals.TryGetValue("c", out var cNode)); 916Assert.True(aNodeValue.Literals.TryGetValue("b", out var bNode)); 921var paramBCNode = paramBCNodeKvp.Value; 931var bParamNode = bParamNodeKvp.Value; 937var paramCNode = paramCNodeKvp.Value; 959var root = builder.BuildDfaTree(); 970var aNodeValue = aNodeKvp.Value; 973var cNode = cNodeKvp.Value; 983var bParamNode = bParamNodeKvp.Value; 989var paramCNode = paramCNodeKvp.Value; 1011var root = builder.BuildDfaTree(); 1022var aNodeValue = aNodeKvp.Value; 1023Assert.True(aNodeValue.Literals.TryGetValue("c", out var cNode)); 1031Assert.True(aNodeValue.Literals.TryGetValue("b", out var bNode)); 1036var paramBCNode = paramBCNodeKvp.Value; 1046var bParamNode = bParamNodeKvp.Value; 1052var paramCNode = paramCNodeKvp.Value; 1641var root = builder.BuildDfaTree(); 2161var root = builder.BuildDfaTree(); 2379var root = builder.BuildDfaTree(); 2406var root = builder.BuildDfaTree(); 2415var a = next.Value; 2419var b = a.Parameters; 2428var catchAll = b.CatchAll; 2449var root = builder.BuildDfaTree(); 2458var a = next.Value; 2462var b = a.Parameters; 2471var catchAll = b.CatchAll; 2492var root = builder.BuildDfaTree(); 2500var a1 = next.Value; 2504var b1 = a1.Parameters; 2513var catchAll1 = b1.CatchAll; 2519var a2 = root.Parameters; 2523var b2 = a2.Parameters; 2546var root = builder.BuildDfaTree(); 2554var a1 = next.Value; 2558var b1 = a1.Parameters; 2567var catchAll1 = b1.CatchAll; 2573var a2 = root.Parameters; 2577var b2 = a2.Parameters; 2596var root = builder.BuildDfaTree(); 2604var a1 = next.Value; 2608var b1 = a1.Parameters; 2614var a2 = root.Parameters; 2618var b2 = a2.Parameters; 2637var root = builder.BuildDfaTree(); 2646var a = next.Value; 2653var test1_0 = a.PolicyEdges[0]; 2660var test2_true = test1_0.PolicyEdges[true]; 2682var root = builder.BuildDfaTree(); 2691var a = next.Value; 2699var test1_0 = a.PolicyEdges[0]; 2706var test2_true = test1_0.PolicyEdges[true]; 2711var test1_1 = a.PolicyEdges[1]; 2724var test2_false = test1_1.PolicyEdges[false]; 2746var root = builder.BuildDfaTree(); 2755var a = next.Value; 2763var test2_true = a.PolicyEdges[true]; 2768var test2_false = a.PolicyEdges[false]; 2790var root = builder.BuildDfaTree(); 2799var a = next.Value; 2807var test1_0 = a.PolicyEdges[0]; 2812var test1_1 = a.PolicyEdges[1]; 2834var root = builder.BuildDfaTree(); 2843var a = next.Value; 2852var test1_0 = a.PolicyEdges[0]; 2857var test1_1 = a.PolicyEdges[1]; 2862var nonRouteEndpoint = a.PolicyEdges[int.MaxValue]; 2882var root = builder.BuildDfaTree(); 2891var a = next.Value; 2951var root = builder.BuildDfaTree(); 2960var home = next.Value; 2967var index = next.Value; 2985var root = builder.BuildDfaTree(); 2994var home = next.Value; 3001var index = next.Value; 3019var root = builder.BuildDfaTree(); 3028var login = next.Value; 3035var index = next.Value; 3065var root = builder.BuildDfaTree(); 3073var home = root.Literals["Home"]; 3081var homeIndex = next.Value; 3088var login = root.Literals["Login"]; 3095var loginIndex = login.Literals["Index"]; 3103var loginChangePassword = login.Literals["ChangePassword"]; 3125var root = builder.BuildDfaTree(); 3134var home = next.Value; 3141var index = next.Value; 3158var root = builder.BuildDfaTree(); 3167var conventionalTransformerRoute = next.Value; 3174var conventionalTransformer = next.Value; 3180var index = next.Value;