430 references to Flags
System.Private.Uri (430)
System\Uri.cs (336)
57internal Flags _flags; 155_flags |= Flags.Debug_LeftConstructor; 163Debug.Assert(InFact(Flags.MinimalUriInfoSet) == (_info is not null)); 177if (InFact(Flags.AllUriInfoSet)) 189if (!InFact(Flags.HasUnicode)) 210Debug.Assert((_flags & Flags.Debug_LeftConstructor) == 0); 261private void InterlockedSetFlags(Flags flags) 268Debug.Assert(sizeof(Flags) == sizeof(ulong)); 284get { return (_flags & Flags.ImplicitFile) != 0; } 289get { return (_flags & (Flags.UncPath | Flags.DosPath)) != 0; } 294get { return (_flags & Flags.DosPath) != 0; } 299get { return (_flags & Flags.UncPath) != 0; } 304get { return (_flags & Flags.UnixPath) != 0; } 307private Flags HostType 309get { return _flags & Flags.HostTypeMask; } 335internal bool DisablePathAndQueryCanonicalization => (_flags & Flags.DisablePathAndQueryCanonicalization) != 0; 341return (_flags & Flags.UserDrivenParsing) != 0; 360private bool NotAny(Flags flags) 365private bool InFact(Flags flags) 370private static bool StaticNotAny(Flags allFlags, Flags checkFlags) 375private static bool StaticInFact(Flags allFlags, Flags checkFlags) 383Flags cF = _flags; 384if ((cF & Flags.MinimalUriInfoSet) == 0) 389Debug.Assert(_info != null && (_flags & Flags.MinimalUriInfoSet) != 0); 395if ((_flags & Flags.AllUriInfoSet) == 0) 409if (allowDnsOptimization && InFact(Flags.CanonicalDnsHost)) 433CreateThis(uriString, Flags.Zero, UriKind.Absolute); 446CreateThis(uriString, dontEscape ? Flags.UserEscaped : Flags.Zero, UriKind.Absolute); 473CreateThis(uriString, Flags.Zero, uriKind); 518CreateThis(uriString, Flags.Zero, UriKind.Absolute); 526CreateThis(uriString, Flags.Zero, UriKind.Relative); 560CreateThis(relativeUri, dontEscape ? Flags.UserEscaped : Flags.Zero, UriKind.RelativeOrAbsolute); 584_flags = Flags.Zero; 589CreateThis(relativeUri, dontEscape ? Flags.UserEscaped : Flags.Zero, UriKind.Absolute); 611dontEscape = InFact(Flags.UserEscaped); 630_flags = Flags.Zero; 634CreateThis(newUriString, dontEscape ? Flags.UserEscaped : Flags.Zero, UriKind.Absolute); 825case Flags.DnsHostType: return UriHostNameType.Dns; 826case Flags.IPv4HostType: return UriHostNameType.IPv4; 827case Flags.IPv6HostType: return UriHostNameType.IPv6; 828case Flags.BasicHostType: return UriHostNameType.Basic; 829case Flags.UncHostType: return UriHostNameType.Basic; 830case Flags.UnknownHostType: return UriHostNameType.Unknown; 854return NotAny(Flags.NotDefaultPort); 882return InFact(Flags.LoopbackHost); 1005if (NotAny(Flags.HostNotCanonical | Flags.PathNotCanonical | Flags.ShouldBeCompressed)) 1055if (InFact(Flags.PathNotCanonical) && !IsImplicitFile) 1068if (InFact(Flags.ShouldBeCompressed)) 1108if (InFact(Flags.NotDefaultPort)) 1187Flags hostType = HostType; 1188if (hostType == Flags.IPv6HostType || (hostType == Flags.BasicHostType && InFact(Flags.HostNotCanonical | Flags.E_HostNotCanonical))) 1215Flags hostType = HostType; 1216if (hostType == Flags.DnsHostType) 1220else if (hostType == Flags.IPv6HostType) 1229else if (hostType == Flags.BasicHostType && InFact(Flags.HostNotCanonical | Flags.E_HostNotCanonical)) 1259return InFact(Flags.UserEscaped); 1366if (NotAny(Flags.AuthorityFound) || IsDosPath) 1630ushort nonCanonical = (ushort)((ushort)_flags & (ushort)Flags.CannotDisplayCanonical); 1631if (((_flags & (Flags.ShouldBeCompressed | Flags.FirstSlashAbsent | Flags.BackslashInPath)) != 0) || 1634nonCanonical |= (ushort)Flags.PathNotCanonical; 1760if (NotAny(Flags.AllUriInfoSet) || other.NotAny(Flags.AllUriInfoSet)) 1778if (InFact(Flags.CanonicalDnsHost) && other.InFact(Flags.CanonicalDnsHost)) 1920private static ParsingError ParseScheme(string uriString, ref Flags flags, ref UriParser? syntax) 1922Debug.Assert((flags & Flags.Debug_LeftConstructor) == 0); 1932flags |= (Flags)6; 1937flags |= (Flags)5; 1949flags |= (Flags)idx; 1963Debug.Assert((_flags & Flags.CustomParser_ParseMinimalAlreadyCalled) != 0); 1971_flags |= Flags.ErrorOrParsingRecursion; 1990int idx = (int)(_flags & Flags.IndexMask); 1993_flags &= ~(Flags.IndexMask | Flags.UserDrivenParsing); 2004if (!OperatingSystem.IsWindows() && InFact(Flags.UnixPath)) 2006_flags |= Flags.BasicHostType; 2007_flags |= (Flags)idx; 2017NotAny(Flags.ImplicitFile) && 2037_flags |= Flags.AuthorityFound; 2052_flags |= Flags.DosPath; 2057_flags |= Flags.AuthorityFound; 2077_flags |= Flags.UncPath; 2083_flags |= Flags.UnixPath | Flags.AuthorityFound; 2090if ((_flags & (Flags.UncPath | Flags.DosPath | Flags.UnixPath)) != 0) 2104_flags |= Flags.AuthorityFound; 2112else if (_syntax.InFact(UriSyntaxFlags.OptionalAuthority) && (InFact(Flags.AuthorityFound) || 2115_flags |= Flags.AuthorityFound; 2123if (InFact(Flags.HasUnicode)) 2128_flags |= ((Flags)idx | Flags.UnknownHostType); 2141if (InFact(Flags.HasUnicode)) 2146_flags |= ((Flags)idx | Flags.UnknownHostType); 2153if (InFact(Flags.DosPath)) 2155_flags |= (((_flags & Flags.AuthorityFound) != 0) ? Flags.BasicHostType : Flags.UnknownHostType); 2156_flags |= (Flags)idx; 2179if (hostTerminator == '\\' && NotAny(Flags.ImplicitFile) && _syntax.NotAny(UriSyntaxFlags.AllowDOSPath)) 2184else if (!OperatingSystem.IsWindows() && hostTerminator == '/' && NotAny(Flags.ImplicitFile) && InFact(Flags.UncPath) && _syntax == UriParser.FileUri) 2197_flags |= (Flags)idx; 2212private void CreateUriInfo(Flags cF) 2235if ((cF & Flags.ImplicitFile) != 0) 2237if (StaticInFact(cF, Flags.UncPath)) 2245int end = (int)(cF & Flags.IndexMask); 2258if ((cF & Flags.AuthorityFound) != 0) 2276if ((cF & (Flags.UncPath | Flags.DosPath)) != 0) 2280int end = (int)(cF & Flags.IndexMask); 2299if ((cF & Flags.HasUserInfo) != 0) 2314idx = (int)(cF & Flags.IndexMask); 2318cF &= ~Flags.IndexMask; 2322cF |= Flags.SchemeNotCanonical; 2326if ((cF & Flags.HostTypeMask) != Flags.UnknownHostType && (cF & Flags.DosPath) == 0 && 2347cF |= (Flags.PortNotCanonical | Flags.E_PortNotCanonical); 2365cF |= Flags.NotDefaultPort; 2371cF |= (Flags.PortNotCanonical | Flags.E_PortNotCanonical); 2381cF |= Flags.MinimalUriInfoSet; 2385Flags current = _flags; 2386while ((current & Flags.MinimalUriInfoSet) == 0) 2388Flags oldValue = Interlocked.CompareExchange(ref _flags, (current & ~Flags.IndexMask) | cF, current); 2409if (NotAny(Flags.ErrorOrParsingRecursion)) 2411_flags |= Flags.ErrorOrParsingRecursion; 2414_flags &= ~Flags.ErrorOrParsingRecursion; 2420Flags flags = _flags; 2427if (HostType == Flags.BasicHostType) 2435if (NotAny(Flags.ImplicitFile) || (result & Check.ReservedFound) != 0) 2437flags |= Flags.HostNotCanonical; 2441if (InFact(Flags.ImplicitFile) && (result & (Check.ReservedFound | Check.EscapedCanonical)) != 0) 2450flags |= Flags.E_HostNotCanonical; 2451if (NotAny(Flags.UserEscaped)) 2461else if (NotAny(Flags.CanonicalDnsHost)) 2467flags |= (Flags.HostNotCanonical | Flags.E_HostNotCanonical); 2476flags |= (Flags.HostNotCanonical | Flags.E_HostNotCanonical); 2488private static string CreateHostStringHelper(string str, int idx, int end, ref Flags flags, UriInfo info) 2492switch (flags & Flags.HostTypeMask) 2494case Flags.DnsHostType: 2498case Flags.IPv6HostType: 2508case Flags.IPv4HostType: 2512case Flags.UncHostType: 2516case Flags.BasicHostType: 2517if (StaticInFact(flags, Flags.DosPath)) 2534case Flags.UnknownHostType: 2545flags |= Flags.LoopbackHost; 2564Flags flags = _flags & ~Flags.HostTypeMask; 2571_flags = (_flags & ~Flags.HostTypeMask) | Flags.BasicHostType; 2581_flags |= (Flags.HostNotCanonical | Flags.E_HostNotCanonical); 2585_flags = (_flags & ~Flags.HostTypeMask) | (flags & Flags.HostTypeMask); 2596_flags &= ~Flags.NotDefaultPort; 2597_flags |= (Flags.PortNotCanonical | Flags.E_PortNotCanonical); 2611_flags &= ~Flags.NotDefaultPort; 2613_flags |= Flags.NotDefaultPort; 2615_flags |= (Flags.PortNotCanonical | Flags.E_PortNotCanonical); 2633Debug.Assert(_info != null && (_flags & Flags.MinimalUriInfoSet) != 0); 2638ushort nonCanonical = unchecked((ushort)(((ushort)_flags & ((ushort)Flags.CannotDisplayCanonical << 7)) >> 6)); 2639if (InFact(Flags.SchemeNotCanonical)) 2641nonCanonical |= (ushort)Flags.SchemeNotCanonical; 2647if (InFact(Flags.ShouldBeCompressed | Flags.FirstSlashAbsent | Flags.BackslashInPath)) 2649nonCanonical |= (ushort)Flags.PathNotCanonical; 2654nonCanonical |= (ushort)Flags.PathNotCanonical; 2672Debug.Assert(_info != null && (_flags & Flags.MinimalUriInfoSet) != 0); 2677ushort nonCanonical = unchecked((ushort)((ushort)_flags & (ushort)Flags.CannotDisplayCanonical)); 2682if ((_flags & (Flags.ShouldBeCompressed | Flags.FirstSlashAbsent | Flags.BackslashInPath)) != 0) 2684nonCanonical |= (ushort)Flags.PathNotCanonical; 2689nonCanonical |= (ushort)Flags.PathNotCanonical; 2742Debug.Assert(InFact(Flags.AllUriInfoSet)); 2751if (InFact(Flags.AuthorityFound)) 2760if ((parts & UriComponents.UserInfo) != 0 && InFact(Flags.HasUserInfo)) 2769if (NotAny(Flags.UserEscaped)) 2783InFact(Flags.UserEscaped) ? UnescapeMode.Unescape : UnescapeMode.EscapeUnescape, 2832if (formatAs != UriFormat.UriEscaped && HostType == Flags.BasicHostType && (nonCanonical & (ushort)UriComponents.Host) != 0) 2843InFact(Flags.UserEscaped) ? UnescapeMode.Unescape : UnescapeMode.EscapeUnescape, 2855if ((parts & UriComponents.SerializationInfoString) != 0 && HostType == Flags.IPv6HostType && _info._moreInfo?.ScopeId is string scopeId) 2866(InFact(Flags.NotDefaultPort) || ((parts & UriComponents.StrongPort) != 0 && _syntax.DefaultPort != UriParser.NoDefaultPort))) 2885if (InFact(Flags.AuthorityFound) && dest.Length != 0 && dest[0] == '/') 2930if (NotAny(Flags.UserEscaped)) 2945UnescapeMode mode = InFact(Flags.UserEscaped) ? UnescapeMode.Unescape : UnescapeMode.EscapeUnescape; 2972if (!InFact(Flags.HasUserInfo)) 2982if (!InFact(Flags.HasUserInfo)) 2985if (InFact(Flags.NotDefaultPort) || _syntax.DefaultPort == UriParser.NoDefaultPort) 3000if (InFact(Flags.HasUserInfo)) 3033if (InFact(Flags.NotDefaultPort | Flags.PortNotCanonical)) 3045if (uriParts == UriComponents.Path && InFact(Flags.AuthorityFound) && 3086if (InFact(Flags.NotDefaultPort) || _syntax.DefaultPort == UriParser.NoDefaultPort) 3096if (InFact(Flags.HasUserInfo)) 3113if (NotAny(Flags.HasUserInfo)) 3145Flags cF = _flags | Flags.AllUriInfoSet; 3147if ((cF & Flags.UserDrivenParsing) != 0) 3153if ((cF & Flags.HasUnicode) != 0) 3168if ((cF & Flags.ImplicitFile) != 0) 3170cF |= Flags.SchemeNotCanonical; 3187cF |= Flags.SchemeNotCanonical; 3194if ((cF & Flags.AuthorityFound) != 0 && !str.Slice(schemeLength).StartsWith("://", StringComparison.Ordinal)) 3196cF |= Flags.SchemeNotCanonical | Flags.SchemeNotCanonical_NoTrailingSlashes; 3204if ((cF & Flags.HasUserInfo) != 0) 3211cF |= Flags.UserNotCanonical; 3215cF |= Flags.E_UserNotCanonical; 3221cF |= Flags.UserIriCanonical; 3234if ((cF & Flags.DisablePathAndQueryCanonicalization) != 0) 3237if ((cF & Flags.ImplicitFile) != 0 || (syntaxFlags & UriSyntaxFlags.MayHaveQuery) == 0) 3264(cF & Flags.ImplicitFile) != 0 || (syntaxFlags & (UriSyntaxFlags.MayHaveQuery | UriSyntaxFlags.MayHaveFragment)) == 0 ? c_DummyChar : 3280if (((cF & Flags.AuthorityFound) != 0) && ((syntaxFlags & UriSyntaxFlags.PathIsRooted) != 0) 3283cF |= Flags.FirstSlashAbsent; 3290if ((cF & Flags.DosPath) != 0 || (((cF & Flags.AuthorityFound) != 0) && 3296cF |= (Flags.E_PathNotCanonical | Flags.PathNotCanonical); 3302cF |= (Flags.E_PathNotCanonical | Flags.PathNotCanonical); 3306if (((syntaxFlags & (UriSyntaxFlags.CompressPath)) != 0) && ((cF & Flags.E_PathNotCanonical) != 0 || 3309cF |= Flags.ShouldBeCompressed; 3313cF |= Flags.BackslashInPath; 3318cF |= Flags.E_PathNotCanonical; 3328if (((cF & Flags.ImplicitFile) == 0) || ((cF & Flags.UserEscaped) != 0) || 3332cF |= Flags.PathNotCanonical; 3337if (((cF & Flags.ImplicitFile) != 0) && (result & (Check.ReservedFound | Check.EscapedCanonical)) != 0) 3346cF |= Flags.E_PathNotCanonical; 3353cF |= Flags.PathIriCanonical; 3368cF |= Flags.QueryNotCanonical; 3373cF |= Flags.E_QueryNotCanonical; 3380cF |= Flags.QueryIriCanonical; 3396cF |= Flags.FragmentNotCanonical; 3401cF |= Flags.E_FragmentNotCanonical; 3408cF |= Flags.FragmentIriCanonical; 3422Debug.Assert(InFact(Flags.HasUnicode)); 3423Debug.Assert(InFact(Flags.MinimalUriInfoSet)); 3424Debug.Assert(!InFact(Flags.UserDrivenParsing)); 3428Flags flags = _flags; 3433if ((flags & (Flags.DosPath | Flags.UnixPath)) != 0) 3435if ((flags & Flags.ImplicitFile) == 0) 3439if ((flags & Flags.AuthorityFound) != 0) 3462if ((flags & Flags.DisablePathAndQueryCanonicalization) != 0) 3475int pathLength = (flags & Flags.ImplicitFile) != 0 || (syntaxFlags & UriSyntaxFlags.MayHaveQuery) == 0 3521private static int ParseSchemeCheckImplicitFile(string uriString, ref ParsingError err, ref Flags flags, ref UriParser? syntax) 3524Debug.Assert((flags & Flags.Debug_LeftConstructor) == 0); 3537StaticNotAny(flags, Flags.DisableImplicitFilePaths) && 3541flags |= (Flags.UnixPath | Flags.ImplicitFile | Flags.AuthorityFound); 3562if (char.IsAsciiLetter(uriString[i]) && StaticNotAny(flags, Flags.DisableImplicitFilePaths)) 3566flags |= (Flags.DosPath | Flags.ImplicitFile | Flags.AuthorityFound); 3581if ((uriString[i + 1] is '\\' or '/') && StaticNotAny(flags, Flags.DisableImplicitFilePaths)) 3583flags |= (Flags.UncPath | Flags.ImplicitFile | Flags.AuthorityFound); 3688private int CheckAuthorityHelper(ReadOnlySpan<char> str, int startOffset, out ParsingError err, ref Flags flags, UriSyntaxFlags syntaxFlags, ref string? newHost) 3690Debug.Assert((_flags & Flags.Debug_LeftConstructor) == 0 || (!_syntax.IsSimple && Monitor.IsEntered(_info))); 3691Debug.Assert((_flags & Flags.HasUserInfo) == 0 && (_flags & Flags.HostTypeMask) == 0); 3696bool hasUnicode = ((flags & Flags.HasUnicode) != 0); 3711flags &= ~Flags.UncPath; //UNC cannot have an empty hostname 3712if (StaticInFact(flags, Flags.ImplicitFile)) 3715flags |= Flags.BasicHostType; 3737flags |= Flags.HasUserInfo; 3763flags |= Flags.IPv6HostType; 3771IPv4AddressHelper.IsValid(str.Slice(i), out hostLength, allowIPv6: false, StaticNotAny(flags, Flags.ImplicitFile), (syntaxFlags & UriSyntaxFlags.V1_UnknownUri) != 0)) 3773flags |= Flags.IPv4HostType; 3781DomainNameHelper.IsValid(str.Slice(i), iri: false, StaticNotAny(flags, Flags.ImplicitFile), out hostLength)) 3786flags |= Flags.DnsHostType; 3791flags |= Flags.CanonicalDnsHost; 3796DomainNameHelper.IsValid(str.Slice(i), iri: true, StaticNotAny(flags, Flags.ImplicitFile), out hostLength)) 3798flags |= Flags.DnsHostType; 3822if (UncNameHelper.IsValid(str.Slice(i), StaticNotAny(flags, Flags.ImplicitFile), out hostLength)) 3826flags |= Flags.UncHostType; 3840if (hostDelimiter == '\\' && (flags & Flags.HostTypeMask) != Flags.HostNotParsed && (syntaxFlags & UriSyntaxFlags.FileLikeUri) == 0) 3848flags &= ~Flags.HostTypeMask; 3877flags &= ~Flags.HostTypeMask; 3893flags &= ~Flags.HostTypeMask; 3909flags &= ~Flags.HostTypeMask; 3914if ((flags & Flags.HostTypeMask) == Flags.HostNotParsed) 3917flags &= ~Flags.HasUserInfo; 3922flags |= Flags.BasicHostType; 3966flags |= Flags.BasicHostType; 4133if ((_flags & Flags.HasUnicode) != 0) 4184if (InFact(Flags.FirstSlashAbsent)) 4199if (InFact(Flags.ShouldBeCompressed)) 4206if (_syntax.InFact(UriSyntaxFlags.UnEscapeDotsAndSlashes) && InFact(Flags.PathNotCanonical) 4215if (InFact(Flags.E_PathNotCanonical) && NotAny(Flags.UserEscaped)) 4238if (!OperatingSystem.IsWindows() && InFact(Flags.BackslashInPath) && _syntax.NotAny(UriSyntaxFlags.ConvertPathSlashes) && _syntax.InFact(UriSyntaxFlags.FileLikeUri) && !IsImplicitFile) 4256if (InFact(Flags.ShouldBeCompressed)) 4261if (_syntax.InFact(UriSyntaxFlags.UnEscapeDotsAndSlashes) && InFact(Flags.PathNotCanonical) 4281if (InFact(Flags.ShouldBeCompressed) && dest.Length - offset > 0) 4292if (formatAs == UriFormat.UriEscaped && NotAny(Flags.UserEscaped) && InFact(Flags.E_PathNotCanonical)) 4309if (formatAs != UriFormat.UriEscaped && InFact(Flags.PathNotCanonical)) 4326UnescapeMode mode = InFact(Flags.UserEscaped) ? UnescapeMode.Unescape : UnescapeMode.EscapeUnescape; 4501if (basePart.HostType == Flags.IPv6HostType) 4575if (basePart.HostType == Flags.IPv6HostType) 4889return InFact(Flags.AuthorityFound);
System\UriCreationOptions.cs (7)
11internal Uri.Flags _flags; 23readonly get => (_flags & Uri.Flags.DisableImplicitFilePaths) == 0; 25? _flags & ~Uri.Flags.DisableImplicitFilePaths 26: _flags | Uri.Flags.DisableImplicitFilePaths; 40readonly get => (_flags & Uri.Flags.DisablePathAndQueryCanonicalization) != 0; 42? _flags | Uri.Flags.DisablePathAndQueryCanonicalization 43: _flags & ~Uri.Flags.DisablePathAndQueryCanonicalization;
System\UriExt.cs (81)
18private void CreateThis(string? uri, Flags flags, UriKind uriKind) 30private UriFormatException? TryCreateThis(string? uri, Flags flags, UriKind uriKind) 39Debug.Assert((flags & Flags.DisableImplicitFilePaths) == 0 || uriKind != UriKind.Relative); 40Debug.Assert((flags & Flags.DisablePathAndQueryCanonicalization) == 0 || uriKind == UriKind.Absolute); 44Debug.Assert(_originalUnicodeString is null && _info is null && _syntax is null && _flags == Flags.Zero); 55_flags |= Flags.HasUnicode; 86if (NotAny(Flags.DosPath) && uriKind == UriKind.RelativeOrAbsolute && 88|| (!OperatingSystem.IsWindows() && InFact(Flags.UnixPath)))) 114_flags |= Flags.UserDrivenParsing; 124if (InFact(Flags.ErrorOrParsingRecursion)) 128_flags = Flags.UserDrivenParsing | (_flags & Flags.UserEscaped); 159_flags &= Flags.UserEscaped | Flags.HasUnicode; // the only flags that make sense for a relative uri 222result.CreateThis(s, Flags.DisableImplicitFilePaths, UriKind.RelativeOrAbsolute); 229result = CreateHelper(s, Flags.DisableImplicitFilePaths, UriKind.RelativeOrAbsolute); 239result = CreateHelper(uriString, Flags.Zero, uriKind); 298result ??= CreateHelper(newUriString!, dontEscape ? Flags.UserEscaped : Flags.Zero, UriKind.Absolute); 416Flags nonCanonical = (_flags & (Flags.E_CannotDisplayCanonical | Flags.IriCanonical)); 419if ((nonCanonical & (Flags.UserIriCanonical | Flags.PathIriCanonical | Flags.QueryIriCanonical | Flags.FragmentIriCanonical)) != 0) 421if ((nonCanonical & (Flags.E_UserNotCanonical | Flags.UserIriCanonical)) == (Flags.E_UserNotCanonical | Flags.UserIriCanonical)) 423nonCanonical &= ~(Flags.E_UserNotCanonical | Flags.UserIriCanonical); 426if ((nonCanonical & (Flags.E_PathNotCanonical | Flags.PathIriCanonical)) == (Flags.E_PathNotCanonical | Flags.PathIriCanonical)) 428nonCanonical &= ~(Flags.E_PathNotCanonical | Flags.PathIriCanonical); 431if ((nonCanonical & (Flags.E_QueryNotCanonical | Flags.QueryIriCanonical)) == (Flags.E_QueryNotCanonical | Flags.QueryIriCanonical)) 433nonCanonical &= ~(Flags.E_QueryNotCanonical | Flags.QueryIriCanonical); 436if ((nonCanonical & (Flags.E_FragmentNotCanonical | Flags.FragmentIriCanonical)) == (Flags.E_FragmentNotCanonical | Flags.FragmentIriCanonical)) 438nonCanonical &= ~(Flags.E_FragmentNotCanonical | Flags.FragmentIriCanonical); 443if (((nonCanonical & Flags.E_CannotDisplayCanonical & (Flags.E_UserNotCanonical | Flags.E_PathNotCanonical | 444Flags.E_QueryNotCanonical | Flags.E_FragmentNotCanonical)) != Flags.Zero)) 450if (InFact(Flags.AuthorityFound)) 452if (InFact(Flags.SchemeNotCanonical_NoTrailingSlashes)) 457if (InFact(Flags.UncPath | Flags.DosPath)) 472if (InFact(Flags.FirstSlashAbsent) && _info.Offset.Query > _info.Offset.Path) 478if (InFact(Flags.BackslashInPath)) 487if ((_flags & Flags.CanonicalDnsHost) == 0 && HostType != Flags.IPv6HostType) 654internal static Uri? CreateHelper(string? uriString, Flags flags, UriKind uriKind) 742if (baseUri.InFact(Flags.AuthorityFound)) 814if (((_flags & Flags.NotDefaultPort) != 0) || (uriComponents == UriComponents.StrongPort 831|| ((_flags & (Flags.HostNotCanonical | Flags.E_HostNotCanonical)) == 0))) 886uriLink = CreateHelper(newUriString!, dontEscape ? Flags.UserEscaped : Flags.Zero, UriKind.Absolute)!; 912Debug.Assert((otherUri._flags & Flags.Debug_LeftConstructor) != 0); 914_flags = otherUri._flags & ~Flags.Debug_LeftConstructor; 916if (InFact(Flags.AllUriInfoSet)) 923Debug.Assert(!InFact(Flags.HasUnicode) || otherUri.IsNotAbsoluteUri); 929if (InFact(Flags.MinimalUriInfoSet)) 931_flags &= ~(Flags.MinimalUriInfoSet | Flags.AllUriInfoSet | Flags.IndexMask); 934if (InFact(Flags.NotDefaultPort)) 948_flags |= (Flags)portIndex; // Port or path
System\UriScheme.cs (4)
77Debug.Assert(sizeof(Uri.Flags) == sizeof(ulong)); 80Uri.Flags previous = Interlocked.Or(ref uri._flags, Uri.Flags.CustomParser_ParseMinimalAlreadyCalled); 81if ((previous & Uri.Flags.CustomParser_ParseMinimalAlreadyCalled) != 0)
System\UriSyntax.cs (2)
266Debug.Assert(sizeof(Uri.Flags) == sizeof(ulong)); 267Interlocked.Or(ref thisUri._flags, Uri.Flags.CustomParser_ParseMinimalAlreadyCalled);