392 references to Flags
System (392)
net\System\URI.cs (335)
128
private
Flags
m_Flags;
163
get {return (m_Flags &
Flags
.ImplicitFile) != 0;}
168
get {return (m_Flags & (
Flags
.UncPath|
Flags
.DosPath)) != 0;}
176
get {return (m_Flags &
Flags
.DosPath) != 0;}
184
get {return (m_Flags &
Flags
.UncPath) != 0;}
190
private
Flags
HostType {
191
get {return m_Flags &
Flags
.HostTypeMask;}
225
&& NotAny(
Flags
.IntranetUri)))); }
231
private bool AllowIdnStatic(UriParser syntax,
Flags
flags)
235
&& StaticNotAny(flags,
Flags
.IntranetUri))));
318
return (m_Flags &
Flags
.UserDrivenParsing) != 0;
324
m_Flags =
Flags
.UserDrivenParsing | (m_Flags &
Flags
.UserEscaped);
339
private bool NotAny(
Flags
flags) {
343
private bool InFact(
Flags
flags) {
347
private static bool StaticNotAny(
Flags
allFlags,
Flags
checkFlags) {
351
private static bool StaticInFact(
Flags
allFlags,
Flags
checkFlags) {
358
Flags
cF = m_Flags;
359
if ((m_Flags &
Flags
.MinimalUriInfoSet) == 0) {
367
if ((m_Flags &
Flags
.AllUriInfoSet) == 0) {
376
if (allowDnsOptimization && InFact(
Flags
.CanonicalDnsHost)) {
493
m_Flags =
Flags
.Zero;
520
dontEscape = InFact(
Flags
.UserEscaped);
542
m_Flags =
Flags
.Zero;
807
case
Flags
.DnsHostType: return UriHostNameType.Dns;
808
case
Flags
.IPv4HostType: return UriHostNameType.IPv4;
809
case
Flags
.IPv6HostType: return UriHostNameType.IPv6;
810
case
Flags
.BasicHostType: return UriHostNameType.Basic;
812
case
Flags
.UncHostType: return UriHostNameType.Basic; //return (UriHostNameType)(UriHostNameType.Basic+10);
814
case
Flags
.UnknownHostType: return UriHostNameType.Unknown;
836
return NotAny(
Flags
.NotDefaultPort);
860
return InFact(
Flags
.LoopbackHost);
1046
if (NotAny(
Flags
.HostNotCanonical|
Flags
.PathNotCanonical|
Flags
.ShouldBeCompressed)) {
1105
UnescapeMode mode = (InFact(
Flags
.PathNotCanonical) && !IsImplicitFile)
1114
if (InFact(
Flags
.ShouldBeCompressed)) {
1157
if (InFact(
Flags
.NotDefaultPort)) {
1229
get{return ((m_iriParsing && InFact(
Flags
.HasUnicode)) ||
1230
(AllowIdn && (InFact(
Flags
.IdnHost) || InFact(
Flags
.UnicodeHost))));}
1252
if (AllowIdn && (((m_Flags &
Flags
.IdnHost) != 0) || ((m_Flags &
Flags
.UnicodeHost) != 0))){
1272
if (HostType ==
Flags
.IPv6HostType) {
1281
else if (HostType ==
Flags
.BasicHostType
1282
&& InFact(
Flags
.HostNotCanonical |
Flags
.E_HostNotCanonical)) {
1302
if (HostType ==
Flags
.DnsHostType) {
1324
return InFact(
Flags
.UserEscaped);
1431
if (NotAny(
Flags
.AuthorityFound) || IsDosPath) {
1664
return (m_iriParsing && InFact(
Flags
.HasUnicode)) ? m_String : OriginalString;
1771
if (NotAny(
Flags
.AllUriInfoSet) || obj.NotAny(
Flags
.AllUriInfoSet)) {
1808
if (InFact(
Flags
.CanonicalDnsHost) && obj.InFact(
Flags
.CanonicalDnsHost)) {
1985
private static unsafe ParsingError ParseScheme(string uriString, ref
Flags
flags, ref UriParser syntax)
2004
flags |= (
Flags
)idx;
2021
m_Flags |=
Flags
.ErrorOrParsingRecursion;
2038
ushort idx = (ushort) (m_Flags &
Flags
.IndexMask);
2043
m_Flags &= ~(
Flags
.IndexMask |
Flags
.UserDrivenParsing);
2048
((m_Flags &
Flags
.HasUnicode)!=0) &&
2049
((m_Flags &
Flags
.HostUnicodeNormalized) == 0)) ? m_originalUnicodeString : m_String))
2069
&& NotAny(
Flags
.ImplicitFile) && (idx + 1 < length)) {
2084
m_Flags |=
Flags
.AuthorityFound;
2099
m_Flags |=
Flags
.DosPath;
2103
m_Flags |=
Flags
.AuthorityFound;
2119
m_Flags |=
Flags
.UncPath;
2129
if ((m_Flags & (
Flags
.UncPath|
Flags
.DosPath)) != 0) {
2148
m_Flags |=
Flags
.AuthorityFound;
2155
else if (m_Syntax.InFact(UriSyntaxFlags.OptionalAuthority) && (InFact(
Flags
.AuthorityFound) ||
2157
m_Flags |=
Flags
.AuthorityFound;
2163
if (m_iriParsing && (m_Flags &
Flags
.HasUnicode) != 0 && (m_Flags &
Flags
.HostUnicodeNormalized) == 0)
2168
m_Flags |= ((
Flags
)idx |
Flags
.UnknownHostType);
2178
if (m_iriParsing && (m_Flags &
Flags
.HasUnicode) != 0 && (m_Flags &
Flags
.HostUnicodeNormalized) == 0)
2183
m_Flags |= ((
Flags
)idx |
Flags
.UnknownHostType);
2192
if (InFact(
Flags
.DosPath)) {
2194
m_Flags |= (((m_Flags &
Flags
.AuthorityFound)!= 0)?
Flags
.BasicHostType :
Flags
.UnknownHostType);
2195
m_Flags |= (
Flags
)idx;
2214
if ((idx < (ushort)length && pUriString[idx] == '\\') && NotAny(
Flags
.ImplicitFile) &&
2222
m_Flags |= (
Flags
)idx;
2243
if ((!m_iriParsing && AllowIdn && (((m_Flags &
Flags
.IdnHost) != 0) || ((m_Flags &
Flags
.UnicodeHost) != 0))) ||
2244
(m_iriParsing && ((m_Flags &
Flags
.HasUnicode) == 0) && AllowIdn && ((m_Flags &
Flags
.IdnHost) != 0))){
2246
m_Flags &= ~(
Flags
.IndexMask);
2247
m_Flags |= (
Flags
)m_String.Length;
2253
if (m_iriParsing && ((m_Flags &
Flags
.HasUnicode) != 0)){
2255
m_Flags |=
Flags
.UseOrigUncdStrOffset;
2265
private unsafe void CreateUriInfo(
Flags
cF) {
2280
if ((cF &
Flags
.ImplicitFile) != 0) {
2288
if (StaticInFact(cF,
Flags
.UncPath)) {
2292
while(idx < (ushort)(cF &
Flags
.IndexMask) && (m_String[idx] == '/' || m_String[idx] == '\\')) {
2306
if ((cF &
Flags
.AuthorityFound) != 0)
2313
if ((cF & (
Flags
.UncPath|
Flags
.DosPath)) != 0) {
2316
while( idx < (ushort)(cF &
Flags
.IndexMask) && (m_String[idx] == '/' || m_String[idx] == '\\')) {
2330
if ((cF &
Flags
.HostTypeMask) ==
Flags
.UnknownHostType
2332
|| StaticInFact(cF,
Flags
.DosPath)
2336
info.Offset.User = (ushort) (cF &
Flags
.IndexMask);
2339
cF &= ~
Flags
.IndexMask;
2341
cF |=
Flags
.SchemeNotCanonical;
2349
if (HostType ==
Flags
.BasicHostType) {
2351
info.Offset.Path = (ushort) (cF &
Flags
.IndexMask);
2352
cF &= ~
Flags
.IndexMask;
2356
if ((cF &
Flags
.HasUserInfo) != 0) {
2370
idx = (ushort) (cF &
Flags
.IndexMask);
2374
cF &= ~
Flags
.IndexMask;
2378
cF |=
Flags
.SchemeNotCanonical;
2391
bool UseOrigUnicodeStrOffset = ((cF&
Flags
.UseOrigUncdStrOffset) != 0);
2393
cF &= ~
Flags
.UseOrigUncdStrOffset;
2410
cF |= (
Flags
.PortNotCanonical |
Flags
.E_PortNotCanonical);
2424
cF |=
Flags
.NotDefaultPort;
2429
cF |= (
Flags
.PortNotCanonical |
Flags
.E_PortNotCanonical);
2437
cF |=
Flags
.MinimalUriInfoSet;
2452
if (( m_Flags &
Flags
.MinimalUriInfoSet) == 0)
2455
m_Flags = (m_Flags & ~
Flags
.IndexMask) | cF;
2475
if (NotAny(
Flags
.ErrorOrParsingRecursion))
2477
m_Flags |=
Flags
.ErrorOrParsingRecursion;
2480
m_Flags &= ~
Flags
.ErrorOrParsingRecursion;
2485
Flags
flags = m_Flags;
2495
if (HostType ==
Flags
.BasicHostType) {
2505
if (NotAny(
Flags
.ImplicitFile) || (result & Check.ReservedFound) != 0) {
2506
flags |=
Flags
.HostNotCanonical;
2510
if (InFact(
Flags
.ImplicitFile) && (result & (Check.ReservedFound | Check.EscapedCanonical)) != 0) {
2517
flags |=
Flags
.E_HostNotCanonical;
2518
if (NotAny(
Flags
.UserEscaped))
2532
else if (NotAny(
Flags
.CanonicalDnsHost)){
2536
flags |= (
Flags
.HostNotCanonical |
Flags
.E_HostNotCanonical);
2542
flags |= (
Flags
.HostNotCanonical |
Flags
.E_HostNotCanonical);
2557
private static string CreateHostStringHelper(string str, ushort idx, ushort end, ref
Flags
flags, ref string scopeId)
2561
switch (flags &
Flags
.HostTypeMask) {
2563
case
Flags
.DnsHostType:
2567
case
Flags
.IPv6HostType:
2573
case
Flags
.IPv4HostType:
2578
case
Flags
.UncHostType:
2583
case
Flags
.BasicHostType:
2585
if (StaticInFact(flags,
Flags
.DosPath)) {
2601
case
Flags
.UnknownHostType:
2611
flags |=
Flags
.LoopbackHost;
2633
Flags
flags = m_Flags & ~
Flags
.HostTypeMask;
2642
flags &= ~
Flags
.HostTypeMask;
2643
flags |=
Flags
.UnknownHostType;
2647
if (err != ParsingError.None || (flags &
Flags
.HostTypeMask) ==
Flags
.UnknownHostType)
2650
m_Flags = (m_Flags & ~
Flags
.HostTypeMask) |
Flags
.BasicHostType;
2657
m_Flags |= (
Flags
.HostNotCanonical |
Flags
.E_HostNotCanonical);
2661
m_Flags = (m_Flags & ~
Flags
.HostTypeMask) | (flags &
Flags
.HostTypeMask);
2672
m_Flags &= ~
Flags
.NotDefaultPort;
2673
m_Flags |= (
Flags
.PortNotCanonical|
Flags
.E_PortNotCanonical);
2687
m_Flags &= ~
Flags
.NotDefaultPort;
2689
m_Flags |=
Flags
.NotDefaultPort;
2691
m_Flags |= (
Flags
.PortNotCanonical|
Flags
.E_PortNotCanonical);
2713
ushort nonCanonical = (ushort)(((ushort)m_Flags & ((ushort)
Flags
.CannotDisplayCanonical<<7)) >> 6);
2714
if (InFact(
Flags
.SchemeNotCanonical)) {
2715
nonCanonical |= (ushort)
Flags
.SchemeNotCanonical;
2720
if (InFact(
Flags
.ShouldBeCompressed|
Flags
.FirstSlashAbsent|
Flags
.BackslashInPath)) {
2721
nonCanonical |= (ushort)
Flags
.PathNotCanonical;
2725
nonCanonical |= (ushort)
Flags
.PathNotCanonical;
2743
ushort nonCanonical = (ushort)((ushort)m_Flags & (ushort)
Flags
.CannotDisplayCanonical);
2747
if ((m_Flags & (
Flags
.ShouldBeCompressed|
Flags
.FirstSlashAbsent|
Flags
.BackslashInPath)) !=0) {
2748
nonCanonical |= (ushort)
Flags
.PathNotCanonical;
2752
nonCanonical |= (ushort)
Flags
.PathNotCanonical;
2790
if (InFact(
Flags
.AuthorityFound)) {
2798
if ((parts & UriComponents.UserInfo) != 0 && InFact(
Flags
.HasUserInfo))
2803
if (NotAny(
Flags
.UserEscaped))
2809
if (InFact(
Flags
.E_UserNotCanonical)) {
2820
chars, ref count, '@', '/', '\\', InFact(
Flags
.UserEscaped) ? UnescapeMode.Unescape :
2853
if (formatAs != UriFormat.UriEscaped && HostType ==
Flags
.BasicHostType
2858
(InFact(
Flags
.UserEscaped) ? UnescapeMode.Unescape : UnescapeMode.EscapeUnescape);
2889
if ((parts & UriComponents.SerializationInfoString) != 0 && HostType ==
Flags
.IPv6HostType &&
2903
if (InFact(
Flags
.NotDefaultPort)) {
2918
else if (InFact(
Flags
.NotDefaultPort) || ((parts & UriComponents.StrongPort) != 0 &&
2938
if (InFact(
Flags
.AuthorityFound) && count !=0 && chars[0] == '/')
2963
if (NotAny(
Flags
.UserEscaped))
2980
ref count, '#', c_DummyChar, c_DummyChar, (InFact(
Flags
.UserEscaped) ?
2995
ref count, '#', c_DummyChar, c_DummyChar, (InFact(
Flags
.UserEscaped) ?
3018
if (NotAny(
Flags
.UserEscaped))
3035
ref count, '#', c_DummyChar, c_DummyChar, (InFact(
Flags
.UserEscaped) ?
3049
ref count, '#', c_DummyChar, c_DummyChar, (InFact(
Flags
.UserEscaped) ?
3075
if (!InFact(
Flags
.HasUserInfo))
3084
if (!InFact(
Flags
.HasUserInfo))
3087
if (InFact(
Flags
.NotDefaultPort) || m_Syntax.DefaultPort == UriParser.NoDefaultPort)
3102
if (InFact(
Flags
.HasUserInfo)) {
3133
if (InFact(
Flags
.NotDefaultPort|
Flags
.PortNotCanonical)) {
3144
if (uriParts == UriComponents.Path && InFact(
Flags
.AuthorityFound) &&
3185
if (InFact(
Flags
.NotDefaultPort) || m_Syntax.DefaultPort == UriParser.NoDefaultPort)
3195
if (InFact(
Flags
.HasUserInfo)) {
3210
if (NotAny(
Flags
.HasUserInfo))
3243
Flags
cF =
Flags
.Zero;
3249
bool buildIriStringFromPath = m_iriParsing && ((m_Flags &
Flags
.HasUnicode) != 0) && ((m_Flags &
Flags
.RestUnicodeNormalized) == 0);
3271
cF |=
Flags
.SchemeNotCanonical;
3279
cF |=
Flags
.SchemeNotCanonical;
3283
if (((m_Flags &
Flags
.AuthorityFound) != 0) && (idx + i + 3 >= length || str[idx + i + 1] != '/' ||
3286
cF |=
Flags
.SchemeNotCanonical;
3292
if ((m_Flags &
Flags
.HasUserInfo) != 0){
3296
cF |=
Flags
.UserNotCanonical;
3299
cF |=
Flags
.E_UserNotCanonical;
3304
cF |=
Flags
.UserIriCanonical;
3398
if (((m_Flags &
Flags
.AuthorityFound) != 0) && ((syntaxFlags & UriSyntaxFlags.PathIsRooted) != 0)
3400
cF |=
Flags
.FirstSlashAbsent;
3407
if (IsDosPath || (((m_Flags &
Flags
.AuthorityFound) != 0) &&
3413
cF |= (
Flags
.E_PathNotCanonical |
Flags
.PathNotCanonical);
3418
cF |= (
Flags
.E_PathNotCanonical |
Flags
.PathNotCanonical);
3422
if (((syntaxFlags & (UriSyntaxFlags.CompressPath)) != 0) && ((cF &
Flags
.E_PathNotCanonical) != 0 ||
3425
cF |=
Flags
.ShouldBeCompressed;
3429
cF |=
Flags
.BackslashInPath;
3434
cF |=
Flags
.E_PathNotCanonical;
3443
if (((m_Flags &
Flags
.ImplicitFile) == 0) || ((m_Flags &
Flags
.UserEscaped) != 0) ||
3446
cF |=
Flags
.PathNotCanonical;
3451
if (((m_Flags &
Flags
.ImplicitFile) != 0) && (result & (Check.ReservedFound | Check.EscapedCanonical)) != 0){
3458
cF |=
Flags
.E_PathNotCanonical;
3464
cF |=
Flags
.PathIriCanonical;
3509
cF |=
Flags
.QueryNotCanonical;
3513
cF |=
Flags
.E_QueryNotCanonical;
3519
cF |=
Flags
.QueryIriCanonical;
3567
cF |=
Flags
.FragmentNotCanonical;
3571
cF |=
Flags
.E_FragmentNotCanonical;
3577
cF |=
Flags
.FragmentIriCanonical;
3585
cF |=
Flags
.AllUriInfoSet;
3590
m_Flags |=
Flags
.RestUnicodeNormalized;
3601
ref ParsingError err, ref
Flags
flags, ref UriParser syntax) {
3645
flags |= (
Flags
.DosPath|
Flags
.ImplicitFile|
Flags
.AuthorityFound);
3663
flags |= (
Flags
.UncPath|
Flags
.ImplicitFile|
Flags
.AuthorityFound);
3906
ref ParsingError err, ref
Flags
flags, UriParser syntax, ref string newHost )
3915
bool hasUnicode = ((flags &
Flags
.HasUnicode) != 0); // perf
3916
bool hostNotUnicodeNormalized = ((flags &
Flags
.HostUnicodeNormalized) == 0); // perf
3929
flags &= ~
Flags
.UncPath; //UNC cannot have an empty hostname
3930
if (StaticInFact(flags,
Flags
.ImplicitFile))
3933
flags |=
Flags
.BasicHostType;
3939
flags |=
Flags
.HostUnicodeNormalized;// no host
3968
flags |=
Flags
.HasUserInfo;
4009
flags |=
Flags
.IPv6HostType;
4020
flags |=
Flags
.HostUnicodeNormalized;
4025
IPv4AddressHelper.IsValid(pString, (int) start, ref end, false, StaticNotAny(flags,
Flags
.ImplicitFile), syntax.InFact(UriSyntaxFlags.V1_UnknownUri)))
4027
flags |=
Flags
.IPv4HostType;
4031
flags |=
Flags
.HostUnicodeNormalized;
4036
DomainNameHelper.IsValid(pString, start, ref end, ref dnsNotCanonical, StaticNotAny(flags,
Flags
.ImplicitFile)))
4040
flags |=
Flags
.DnsHostType;
4042
flags |=
Flags
.CanonicalDnsHost;
4049
flags |=
Flags
.IntranetUri;
4061
if (StaticNotAny(flags,
Flags
.HasUnicode))
4063
flags |=
Flags
.IdnHost;
4067
flags |=
Flags
.CanonicalDnsHost;
4071
flags |=
Flags
.HostUnicodeNormalized;
4079
StaticNotAny(flags,
Flags
.ImplicitFile)))
4090
if (UncNameHelper.IsValid(pString, start, ref end, StaticNotAny(flags,
Flags
.ImplicitFile)))
4094
flags |=
Flags
.UncHostType;
4098
flags |=
Flags
.HostUnicodeNormalized;
4108
if (end < length && pString[end] == '\\' && (flags &
Flags
.HostTypeMask) !=
Flags
.HostNotParsed
4114
flags |=
Flags
.UnknownHostType;
4117
flags &= ~
Flags
.HostTypeMask;
4146
flags &= ~
Flags
.HostTypeMask;
4161
flags &= ~
Flags
.HostTypeMask;
4176
flags &= ~
Flags
.HostTypeMask;
4182
if ((flags &
Flags
.HostTypeMask) ==
Flags
.HostNotParsed)
4185
flags &= ~
Flags
.HasUserInfo;
4190
flags |=
Flags
.BasicHostType;
4223
flags |=
Flags
.UnknownHostType;
4228
flags |=
Flags
.BasicHostType;
4231
&& StaticNotAny(flags,
Flags
.HostUnicodeNormalized)){
4243
flags |=
Flags
.HostUnicodeNormalized;
4250
flags |=
Flags
.UnknownHostType;
4259
bool iriParsing, bool hasUnicode, UriParser syntax, string userInfoString, ref
Flags
flags,
4264
flags |=
Flags
.DnsHostType;
4270
flags |=
Flags
.IntranetUri;
4282
flags |=
Flags
.UnicodeHost; // we have a unicode host
4285
flags |=
Flags
.IdnHost; // we have at least one valid idn label
4287
if (allAscii && atLeastOneIdn && StaticNotAny(flags,
Flags
.HasUnicode))
4292
(StaticInFact(flags,
Flags
.HasUserInfo) ? userInfoString : null);
4295
else if (!iriParsing && (StaticInFact(flags,
Flags
.UnicodeHost) || StaticInFact(flags,
Flags
.IdnHost)))
4300
(StaticInFact(flags,
Flags
.HasUserInfo) ? userInfoString : null);
4330
flags |=
Flags
.HostUnicodeNormalized;
4335
ref
Flags
flags, ref string newHost, ref ParsingError err)
4337
if (StaticNotAny(flags,
Flags
.HostUnicodeNormalized) && (AllowIdnStatic(syntax, flags) ||
4356
flags |=
Flags
.HasUnicode;
4365
flags |=
Flags
.IdnHost;
4367
flags |=
Flags
.UnicodeHost;
4385
flags |=
Flags
.HostUnicodeNormalized;
4576
if (InFact(
Flags
.FirstSlashAbsent))
4591
if (InFact(
Flags
.ShouldBeCompressed))
4599
if (m_Syntax.InFact(UriSyntaxFlags.UnEscapeDotsAndSlashes) && InFact(
Flags
.PathNotCanonical)
4612
if (InFact(
Flags
.E_PathNotCanonical) && NotAny(
Flags
.UserEscaped)) {
4635
if (InFact(
Flags
.ShouldBeCompressed))
4640
if (m_Syntax.InFact(UriSyntaxFlags.UnEscapeDotsAndSlashes) && InFact(
Flags
.PathNotCanonical)
4663
if (InFact(
Flags
.ShouldBeCompressed))
4671
if (formatAs == UriFormat.UriEscaped && NotAny(
Flags
.UserEscaped) && InFact(
Flags
.E_PathNotCanonical)) {
4679
else if (m_Syntax.InFact(UriSyntaxFlags.ConvertPathSlashes) && InFact(
Flags
.BackslashInPath))
4685
if (formatAs != UriFormat.UriEscaped && InFact(
Flags
.PathNotCanonical))
4688
if (InFact(
Flags
.PathNotCanonical))
4694
mode = (InFact(
Flags
.UserEscaped) ? UnescapeMode.Unescape : UnescapeMode.EscapeUnescape)
4707
mode = InFact(
Flags
.UserEscaped)? UnescapeMode.Unescape: UnescapeMode.EscapeUnescape;
5078
if (basePart.HostType ==
Flags
.IPv6HostType) {
5145
if (basePart.HostType ==
Flags
.IPv6HostType) {
5243
return InFact(
Flags
.AuthorityFound);
net\System\UriExt.cs (57)
43
m_Flags |=
Flags
.UserEscaped;
64
NotAny(
Flags
.DosPath) &&
71
m_Flags &=
Flags
.UserEscaped; // the only flag that makes sense for a relative uri
81
else if (uriKind == UriKind.Relative && InFact(
Flags
.DosPath))
84
m_Flags &=
Flags
.UserEscaped; // the only flag that makes sense for a relative uri
114
m_Flags |=
Flags
.HasUnicode;
131
m_Flags &=
Flags
.UserEscaped; // the only flag that makes sense for a relative uri
174
m_Flags |=
Flags
.UserDrivenParsing;
187
m_Flags &=
Flags
.UserEscaped; // the only flag that makes sense for a relative uri
192
if (err != ParsingError.None || InFact(
Flags
.ErrorOrParsingRecursion))
234
m_Flags &= (
Flags
.UserEscaped |
Flags
.HasUnicode); // the only flags that makes sense for a relative uri
510
Flags
nonCanonical = (m_Flags & (
Flags
.E_CannotDisplayCanonical |
Flags
.IriCanonical));
512
if (((nonCanonical &
Flags
.E_CannotDisplayCanonical & (
Flags
.E_UserNotCanonical |
Flags
.E_PathNotCanonical |
513
Flags
.E_QueryNotCanonical |
Flags
.E_FragmentNotCanonical)) !=
Flags
.Zero) &&
515
(((nonCanonical &
Flags
.E_UserNotCanonical) == 0) || ((nonCanonical &
Flags
.UserIriCanonical) == 0)) &&
516
(((nonCanonical &
Flags
.E_PathNotCanonical) == 0) || ((nonCanonical &
Flags
.PathIriCanonical) == 0)) &&
517
(((nonCanonical &
Flags
.E_QueryNotCanonical) == 0) || ((nonCanonical &
Flags
.QueryIriCanonical) == 0)) &&
518
(((nonCanonical &
Flags
.E_FragmentNotCanonical) == 0) || ((nonCanonical &
Flags
.FragmentIriCanonical) == 0)))))
524
if (InFact(
Flags
.AuthorityFound))
531
if (InFact(
Flags
.UncPath |
Flags
.DosPath))
544
if (InFact(
Flags
.FirstSlashAbsent) && m_Info.Offset.Query > m_Info.Offset.Path)
550
if (InFact(
Flags
.BackslashInPath))
564
if ((m_Flags &
Flags
.CanonicalDnsHost) == 0 && HostType !=
Flags
.IPv6HostType)
579
if ((m_Flags & (
Flags
.SchemeNotCanonical |
Flags
.AuthorityFound))
580
== (
Flags
.SchemeNotCanonical |
Flags
.AuthorityFound))
681
private Uri(
Flags
flags, UriParser uriParser, string uri)
699
Flags
flags =
Flags
.Zero;
703
flags |=
Flags
.UserEscaped;
710
return new Uri((flags &
Flags
.UserEscaped), null, uriString);
806
if (baseUri.InFact(
Flags
.AuthorityFound))
893
if (((m_Flags &
Flags
.NotDefaultPort) != 0) || (uriComponents == UriComponents.StrongPort
910
|| (( m_Flags & (
Flags
.HostNotCanonical |
Flags
.E_HostNotCanonical)) == 0)))
1000
if (InFact(
Flags
.MinimalUriInfoSet))
1002
m_Flags &= ~(
Flags
.MinimalUriInfoSet |
Flags
.AllUriInfoSet |
Flags
.IndexMask);
1005
if (InFact(
Flags
.NotDefaultPort))
1019
m_Flags |= (
Flags
)portIndex; // Port or path
1028
if (otherUri.AllowIdn && (otherUri.InFact(
Flags
.IdnHost) || otherUri.InFact(
Flags
.UnicodeHost))){