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