1 write to segments
System.ServiceModel (1)
System\UriTemplate.cs (1)
61this.segments = new List<UriTemplatePathSegment>();
56 references to segments
System.ServiceModel (56)
System\UriTemplate.cs (38)
138this.segments.Add(UriTemplatePathSegment.CreateFromUriTemplate(segment, this)); 258this.firstOptionalSegment = this.segments.Count; 427if (other.segments == null || other.queries == null) 546this.segments[i].Lookup(result.RelativePathSegments[i], result.BoundVariables); 553else if (numMatchedSegments < this.segments.Count) 584Fx.Assert(segmentsCount <= this.segments.Count, "How can that be? The Trie is constructed that way!"); 586Fx.Assert(segmentsCount <= other.segments.Count, "How can that be? The Trie is constructed that way!"); 589if (!this.segments[i].IsEquivalentTo(other.segments[i], 665Fx.Assert(segmentIndex < this.segments.Count, 667this.segments[segmentIndex++].Bind(parameters, ref parameterIndex, pathString); 672Fx.Assert(segmentIndex < this.segments.Count, 674while (this.segments[segmentIndex].Nature == UriTemplatePartType.Literal) 676this.segments[segmentIndex++].Bind(parameters, ref parameterIndex, pathString); 679Fx.Assert(segmentIndex < this.segments.Count, 685else if (this.segments.Count > 0 || this.wildcard != null) 687for (int i = 0; i < this.segments.Count; i++) 689this.segments[i].Bind(parameters, ref parameterIndex, pathString); 741Fx.Assert(numMatchedSegments < this.segments.Count, "Otherwise - no defaults to bind"); 744for (int i = numMatchedSegments; i < this.segments.Count; i++) 746switch (this.segments[i].Nature) 750UriTemplateVariablePathSegment vps = this.segments[i] as UriTemplateVariablePathSegment; 775if (relativeSegmentsIndex < this.segments.Count) 779if (!this.segments[relativeSegmentsIndex].IsMatch(lps, ignoreSlash)) 843if (this.segments.Count != other.segments.Count) 847for (int i = 0; i < this.segments.Count; ++i) 849if (!this.segments[i].IsEquivalentTo(other.segments[i], 850(i == this.segments.Count - 1) && !this.HasWildcard && (this.ignoreTrailingSlash || other.ignoreTrailingSlash))) 1427int segmentIndex = this.owner.segments.Count - (this.pathSegmentVariableNames.Count - i); 1428if (this.owner.segments[segmentIndex].Nature != UriTemplatePartType.Variable) 1433this.owner.segments[segmentIndex].OriginalSegment))); 1443firstOptionalSegment = this.owner.segments.Count - numNullablePathVariables; 1448UriTemplatePathSegment ps = this.owner.segments[firstOptionalSegment - 1]; 1495(this.owner.segments[this.owner.segments.Count - 1].Nature != UriTemplatePartType.Literal)) 1712Fx.Assert(numMatchedSegments == this.owner.segments.Count, "We should have matched the other segments");
System\UriTemplateEquivalenceComparer.cs (4)
46for (int i = obj.segments.Count - 1; i >= 0; --i) 48if (obj.segments[i].Nature == UriTemplatePartType.Literal) 50return obj.segments[i].GetHashCode(); 53return obj.segments.Count + obj.queries.Count;
System\UriTemplateTable.cs (7)
231minSegmentsCount = candidate.Template.segments.Count; 234else if (candidate.Template.segments.Count < minSegmentsCount) 236minSegmentsCount = candidate.Template.segments.Count; 240else if (candidate.Template.segments.Count == minSegmentsCount) 247Fx.Assert(nextCandidates[0].Template.segments.Count == minSegmentsCount, "Trivial"); 339segmentsCount = candidates[i].Template.segments.Count; 341else if (segmentsCount != candidates[i].Template.segments.Count)
System\UriTemplateTrieNode.cs (7)
63bool needProcessingOnFinalNode = ((ut.segments.Count == 0) || ut.HasWildcard || 64ut.segments[ut.segments.Count - 1].EndsWithSlash); 65for (int i = 0; i < ut.segments.Count; ++i) 71UriTemplatePathSegment ps = ut.segments[i]; 74Fx.Assert(i == ut.segments.Count - 1, "only the last segment can !EndsWithSlash"); 465if (pes.SegmentsCount < kvp.Key.segments.Count)