3 instantiations of RoutePatternParameterPart
Microsoft.AspNetCore.Routing (3)
Patterns\RouteParameterParser.cs (2)
22return new RoutePatternParameterPart(string.Empty, null, RoutePatternParameterKind.Standard, Array.Empty<RoutePatternParameterPolicyReference>()); 87return new RoutePatternParameterPart(
Patterns\RoutePatternFactory.cs (1)
929return new RoutePatternParameterPart(
215 references to RoutePatternParameterPart
Microsoft.AspNetCore.App.Analyzers.Test (2)
RouteEmbeddedLanguage\RoutePatternParserTests.cs (2)
152IReadOnlyList<RoutePatternParameterPart> parsedRoutePatterns = null; 203foreach (var parsedRoutePattern in parsedRoutePatterns)
Microsoft.AspNetCore.Mvc.ApiExplorer (1)
EndpointMetadataApiDescriptionProvider.cs (1)
221if (pattern.GetParameter(parameter.Name) is not RoutePatternParameterPart parameterPart)
Microsoft.AspNetCore.Mvc.Core (2)
Routing\ActionEndpointFactory.cs (1)
283var parameter = attributeRoutePattern.GetParameter(routeValue.Key);
Routing\RoutePatternWriter.cs (1)
34if (part.IsParameter && part is RoutePatternParameterPart parameterPart)
Microsoft.AspNetCore.OpenApi (1)
Extensions\ApiDescriptionExtensions.cs (1)
62else if (part is RoutePatternParameterPart parameterPart)
Microsoft.AspNetCore.Routing (87)
DefaultLinkParser.cs (1)
95var parameter = endpoint.RoutePattern.GetParameter(kvp.Key);
DefaultParameterPolicyFactory.cs (2)
23public override IParameterPolicy Create(RoutePatternParameterPart? parameter, IParameterPolicy parameterPolicy) 35public override IParameterPolicy Create(RoutePatternParameterPart? parameter, string inlineText)
Matching\DfaMatcherBuilder.cs (15)
127public override IParameterPolicy Create(RoutePatternParameterPart parameter, string inlineText) 155public override IParameterPolicy Create(RoutePatternParameterPart parameter, IParameterPolicy parameterPolicy) 261var parameterPart = part as RoutePatternParameterPart; 372private void AddParentsMatchingComplexSegment(RouteEndpoint endpoint, List<DfaNode> nextParents, RoutePatternPathSegment segment, DfaNode parent, RoutePatternParameterPart parameterPart) 386if (segmentPart is not RoutePatternParameterPart partParameter) 425private void AddParentsWithMatchingLiteralConstraints(List<DfaNode> nextParents, DfaNode parent, RoutePatternParameterPart parameterPart, IReadOnlyList<RoutePatternParameterPolicyReference> parameterPolicyReferences) 473private void AddRequiredLiteralValue(RouteEndpoint endpoint, List<DfaNode> nextParents, DfaNode parent, RoutePatternParameterPart parameterPart, object requiredValue) 524if (lastSegment.IsSimple && lastSegment.Parts[0] is RoutePatternParameterPart parameterPart && parameterPart.IsCatchAll) 761var parameterPart = segment.Parts[0] as RoutePatternParameterPart; 813var parameter = routeEndpoint.RoutePattern.GetParameter(kvp.Key); // may be null, that's ok 859var parameterPart = segment.Parts[0] as RoutePatternParameterPart; 980private static bool TryGetRequiredValue(RoutePattern routePattern, RoutePatternParameterPart parameterPart, out object value)
ParameterPolicyFactory.cs (3)
20public abstract IParameterPolicy Create(RoutePatternParameterPart? parameter, string inlineText); 28public abstract IParameterPolicy Create(RoutePatternParameterPart? parameter, IParameterPolicy parameterPolicy); 36public IParameterPolicy Create(RoutePatternParameterPart? parameter, RoutePatternParameterPolicyReference reference)
Patterns\DefaultRoutePatternTransformer.cs (8)
50RoutePatternParameterPart parameter; 150List<RoutePatternParameterPart> updatedParameters = null; 159var parameter = original.GetParameter(kvp.Key); 175updatedParameters = new List<RoutePatternParameterPart>(original.Parameters); 197private bool MatchesConstraints(RoutePattern pattern, RoutePatternParameterPart parameter, string key, RouteValueDictionary requiredValues) 217private static void RemoveParameterDefault(List<RoutePatternPathSegment> segments, List<RoutePatternParameterPart> parameters, RoutePatternParameterPart parameter) 228var updatedParameter = RoutePatternFactory.ParameterPart(parameter.Name, @default: null, parameter.ParameterKind, parameter.ParameterPolicies);
Patterns\RouteParameterParser.cs (1)
16public static RoutePatternParameterPart ParseRouteParameter(string parameter)
Patterns\RoutePattern.cs (4)
45IReadOnlyList<RoutePatternParameterPart> parameters, 126public IReadOnlyList<RoutePatternParameterPart> Parameters { get; } 138public RoutePatternParameterPart? GetParameter(string name) 147var parameter = parameters[i];
Patterns\RoutePatternFactory.cs (25)
469List<RoutePatternParameterPart>? parameters = null; 478if (segment.Parts[j] is RoutePatternParameterPart parameter) 482parameters = new List<RoutePatternParameterPart>(); 540(IReadOnlyList<RoutePatternParameterPart>?)parameters ?? Array.Empty<RoutePatternParameterPart>(), 578var parameter = (RoutePatternParameterPart)part; 765/// Creates a <see cref="RoutePatternParameterPart"/> from the provided parameter name. 768/// <returns>The <see cref="RoutePatternParameterPart"/>.</returns> 769public static RoutePatternParameterPart ParameterPart(string parameterName) 786/// Creates a <see cref="RoutePatternParameterPart"/> from the provided parameter name 791/// <returns>The <see cref="RoutePatternParameterPart"/>.</returns> 792public static RoutePatternParameterPart ParameterPart(string parameterName, object @default) 809/// Creates a <see cref="RoutePatternParameterPart"/> from the provided parameter name 815/// <returns>The <see cref="RoutePatternParameterPart"/>.</returns> 816public static RoutePatternParameterPart ParameterPart( 841/// Creates a <see cref="RoutePatternParameterPart"/> from the provided parameter name 848/// <returns>The <see cref="RoutePatternParameterPart"/>.</returns> 849public static RoutePatternParameterPart ParameterPart( 877/// Creates a <see cref="RoutePatternParameterPart"/> from the provided parameter name 884/// <returns>The <see cref="RoutePatternParameterPart"/>.</returns> 885public static RoutePatternParameterPart ParameterPart( 912private static RoutePatternParameterPart ParameterPartCore( 922private static RoutePatternParameterPart ParameterPartCore( 1071static Action<RoutePatternParameterPart> CheckDuplicateParameters(int parameterCount, string rawText)
Patterns\RoutePatternMatcher.cs (13)
50var parameter = (RoutePatternParameterPart)part; 93else if (pathSegment.IsSimple && pathSegment.Parts[0] is RoutePatternParameterPart parameter && parameter.IsCatchAll) 127var parameter = (RoutePatternParameterPart)part; 175if (part is RoutePatternParameterPart parameter && (parameter.IsCatchAll || _hasDefaultValue[i])) 229var part = (RoutePatternParameterPart)pathSegment.Parts[0]; 249if (pathSegment.IsSimple && pathSegment.Parts[0] is RoutePatternParameterPart parameter && parameter.IsCatchAll) 270parameter = (RoutePatternParameterPart)pathSegment.Parts[0]; 302if (routeSegment.Parts[indexOfLastSegment] is RoutePatternParameterPart parameter && parameter.IsOptional && 344RoutePatternParameterPart parameterNeedsValue = null; // Keeps track of a parameter segment that is pending a value 357parameterNeedsValue = (RoutePatternParameterPart)part;
Patterns\RoutePatternParameterKind.cs (1)
8/// Defines the kinds of <see cref="RoutePatternParameterPart"/> instances.
Patterns\RoutePatternParameterPart.cs (1)
10/// Represents a parameter part in a route pattern. Instances of <see cref="RoutePatternParameterPart"/>
Patterns\RoutePatternParser.cs (4)
214var templatePart = RouteParameterParser.ParseRouteParameter(decoded); 325if (part is RoutePatternParameterPart parameter 344if (part is RoutePatternParameterPart parameter && parameter.IsCatchAll && parts.Count > 1) 357if (part is RoutePatternParameterPart parameter && parameter.IsOptional && parts.Count > 1)
Patterns\RoutePatternPartKind.cs (1)
21/// The <see cref="RoutePatternPartKind"/> of a <see cref="RoutePatternParameterPart"/>.
RouteEndpointDataSource.cs (1)
285foreach (var routePatternPart in pattern.Parameters)
Template\DefaultTemplateBinderFactory.cs (1)
45var parameter = pattern.GetParameter(parameterName);
Template\RoutePrecedence.cs (2)
189else if (part is RoutePatternParameterPart parameterPart) 263else if (part is RoutePatternParameterPart parameterPart)
Template\TemplateBinder.cs (3)
268var parameter = parameters[i]; 541else if (part is RoutePatternParameterPart parameterPart) 711var parameter = _pattern.GetParameter(kvp.Key);
Template\TemplatePart.cs (1)
37else if (other.IsParameter && other is RoutePatternParameterPart parameter)
Microsoft.AspNetCore.Routing.Microbenchmarks (2)
src\Http\Routing\test\UnitTests\Matching\RouteMatcherBuilder.cs (1)
55var parameter = withoutDefaults.Parameters[i];
src\Http\Routing\test\UnitTests\Matching\TreeRouterMatcherBuilder.cs (1)
59var parameter = endpoint.RoutePattern.Parameters[i];
Microsoft.AspNetCore.Routing.Tests (120)
DefaultParameterPolicyFactoryTest.cs (5)
58var parameter = RoutePatternFactory.ParameterPart( 77var parameter = RoutePatternFactory.ParameterPart( 97var parameter = RoutePatternFactory.ParameterPart( 116var parameter = RoutePatternFactory.ParameterPart( 136var parameter = RoutePatternFactory.ParameterPart(
Matching\RouteMatcherBuilder.cs (1)
55var parameter = withoutDefaults.Parameters[i];
Matching\TreeRouterMatcherBuilder.cs (1)
59var parameter = endpoint.RoutePattern.Parameters[i];
Patterns\InlineRouteParameterParserTest.cs (77)
14var templatePart = ParseParameter(parameterName); 26var templatePart = ParseParameter("param="); 38var templatePart = ParseParameter("param:"); 50var templatePart = ParseParameter("param:="); 62var templatePart = ParseParameter("param=:"); 74var templatePart = ParseParameter("param:int=111111"); 88var templatePart = ParseParameter(@"param:test(\d+)=111111"); 102var templatePart = ParseParameter(@"param:int?"); 116var templatePart = ParseParameter(@"param:int=12?"); 131var templatePart = ParseParameter(@"param:int=12??"); 146var templatePart = ParseParameter(@"param:test(\d+)?"); 160var templatePart = ParseParameter(@"param:test(\d+)=abc?"); 176var templatePart = ParseParameter(@"param:test(d+):test(w+)"); 190var templatePart = ParseParameter(@"param::test(d+)::test(w+)"); 205var templatePart = ParseParameter(@"param:test(\d+):test(\w:+)"); 219var templatePart = ParseParameter(@"param:test(\d+):test(\w+)=qwer"); 235var templatePart = ParseParameter(@"param:test(\d+)::test(\w+)==qwer"); 255var templatePart = ParseParameter($"comparison-operator:length(6)={defaultValue}"); 274var param1 = parameters[0]; 284var param2 = parameters[1]; 289var param3 = parameters[2]; 298var templatePart = ParseParameter("world"); 308var templatePart = ParseParameter("param=world"); 319var templatePart = ParseParameter(@"param:test(\})"); 332var templatePart = ParseParameter(@"param:test(\})=wer"); 347var templatePart = ParseParameter(@"param:test(\))"); 360var templatePart = ParseParameter(@"param:test(\))=fsd"); 375var templatePart = ParseParameter(@"param:test(:)"); 388var templatePart = ParseParameter(@"param:test(:)=mnf"); 403var templatePart = ParseParameter(@"param:test(a:b:c)"); 416var templatePart = ParseParameter(@":param:test=12"); 431var templatePart = ParseParameter(@":param::test=12"); 447var templatePart = ParseParameter(@":param:test:"); 461var templatePart = ParseParameter(@"param:test(\w,\w)"); 474var templatePart = ParseParameter(@"par,am:test(\w)"); 487var templatePart = ParseParameter(@"param:test(\w,\w)=jsd"); 502var templatePart = ParseParameter(@"param:int=?"); 518var templatePart = ParseParameter(@"param:test(=)"); 532var templatePart = ParseParameter(@"param=test=bar"); 543var templatePart = ParseParameter(@"param:test(a==b)"); 557var templatePart = ParseParameter(@"param:test(a==b)=dvds"); 571var templatePart = ParseParameter(@"par==am:test=dvds"); 582var templatePart = ParseParameter(@"param:test==dvds"); 593var templatePart = ParseParameter(@"par=am:test(asd)"); 604var templatePart = ParseParameter(@"par=test(am):est=asd"); 615var templatePart = ParseParameter(@"param:test(=)=sds"); 629var templatePart = ParseParameter(@"param:test(\{)"); 642var templatePart = ParseParameter(@"par{am:test(\sd)"); 655var templatePart = ParseParameter(@"param:test(\{)=xvc"); 670var templatePart = ParseParameter(@"par(am:test(\()"); 683var templatePart = ParseParameter(@"param:test(\()"); 696var templatePart = ParseParameter(@"param:test(#$%"); 709var templatePart = ParseParameter(@"param:test(#:test1"); 723var templatePart = ParseParameter(@"param:test(abc:somevalue):name(test1:differentname=default-value"); 739var templatePart = ParseParameter(@"param:test(constraintvalue=test1"); 753var templatePart = ParseParameter(@"param:test(\()=djk"); 768var templatePart = ParseParameter(@"param:test(\?)"); 783var templatePart = ParseParameter(@"param:test(\?)?"); 798var templatePart = ParseParameter(@"param:test(\?)=sdf"); 813var templatePart = ParseParameter(@"param:test(\?)=sdf?"); 828var templatePart = ParseParameter(@"par?am:test(\?)"); 843var templatePart = ParseParameter(@"param:test(#):$)"); 859var templatePart = ParseParameter(@"param:test(#:)$)"); 874var templatePart = ParseParameter(@"foo:regex(\\(\\(\\(\\()"); 889var templatePart = ParseParameter(@"p1:regex(^\d{{3}}-\d{{3}}-\d{{4}}$)"); // ssn 904var templatePart = ParseParameter(@"p1:regex(^\d{{3}}-\d{{3}}-\d{{4}}$)=123-456-7890"); // ssn 929var templatePart = ParseParameter(parameter); 941var parameterPart = ParseParameter("*path"); 954var parameterPart = ParseParameter("*path=a/b/c"); 972var parameterPart = ParseParameter($"*path:{constraintContent}"); 990var parameterPart = ParseParameter($"*path:{constraintContent}=a/b/c"); 1007var parameterPart = ParseParameter("**path"); 1019var parameterPart = ParseParameter("**path=a/b/c"); 1036var parameterPart = ParseParameter($"**path:{constraintContent}"); 1053var parameterPart = ParseParameter($"**path:{constraintContent}=a/b/c"); 1065private RoutePatternParameterPart ParseParameter(string routeParameter) 1068var templatePart = RouteParameterParser.ParseRouteParameter(routeParameter);
Patterns\RoutePatternFactoryTest.cs (25)
407var paramPartB = RoutePatternFactory.ParameterPart("B"); 408var paramPartC = RoutePatternFactory.ParameterPart("C"); 409var paramPartD = RoutePatternFactory.ParameterPart("D"); 436var paramPartB = RoutePatternFactory.ParameterPart("B"); 437var paramPartC = RoutePatternFactory.ParameterPart("C"); 438var paramPartD = RoutePatternFactory.ParameterPart("D"); 466var paramPartB = RoutePatternFactory.ParameterPart("B"); 467var paramPartC = RoutePatternFactory.ParameterPart("C"); 468var paramPartD = RoutePatternFactory.ParameterPart("D"); 506var paramPartB = RoutePatternFactory.ParameterPart("B"); 507var paramPartC = RoutePatternFactory.ParameterPart("C"); 508var paramPartD = RoutePatternFactory.ParameterPart("D"); 632var routePatternParameterPart = (RoutePatternParameterPart)templatePart.ToRoutePatternPart(); 636var parameterPart = RoutePatternFactory.ParameterPart(name, defaults, RoutePatternParameterKind.Standard, policies); 659var routePatternParameterPart = (RoutePatternParameterPart)templatePart.ToRoutePatternPart(); 663var parameterPart = RoutePatternFactory.ParameterPart(name, defaults, RoutePatternParameterKind.Standard, policies); 679var paramPartB = RoutePatternFactory.ParameterPart("B"); 680var paramPartC = RoutePatternFactory.ParameterPart("C"); 681var paramPartD = RoutePatternFactory.ParameterPart("D"); 685var actual = RoutePatternFactory.Segment((IEnumerable<RoutePatternParameterPart>)parts); 700var paramPartB = RoutePatternFactory.ParameterPart("B"); 701var paramPartC = RoutePatternFactory.ParameterPart("C"); 702var paramPartD = RoutePatternFactory.ParameterPart("D");
Patterns\RoutePatternParserTest.cs (4)
710return Equals((RoutePatternParameterPart)x, (RoutePatternParameterPart)y); 726private bool Equals(RoutePatternParameterPart x, RoutePatternParameterPart y)
Template\TemplateSegmentTest.cs (7)
24var paramPartB = RoutePatternFactory.ParameterPart("B"); 25var paramPartC = RoutePatternFactory.ParameterPart("C"); 26var paramPartD = RoutePatternFactory.ParameterPart("D"); 37Assert.IsType<RoutePatternParameterPart>(routePatternPathSegment.Parts[0]); 38Assert.Equal(paramPartC.Name, ((RoutePatternParameterPart)routePatternPathSegment.Parts[0]).Name); 43Assert.IsType<RoutePatternParameterPart>(routePatternPathSegment.Parts[3]); 44Assert.Equal(paramPartB.Name, ((RoutePatternParameterPart)routePatternPathSegment.Parts[3]).Name);