4 writes to m_Info
System (4)
net\System\URI.cs (3)
494m_Info = null; 543m_Info = null; 2454m_Info = info;
net\System\UriExt.cs (1)
997m_Info = null;
246 references to m_Info
System (246)
net\System\URI.cs (233)
332char ch = m_String[m_Info.Offset.Path]; 362return m_Info; 375if ((object)m_Info.Host == null) { 1048start = IsUncPath? m_Info.Offset.Host-2 :m_Info.Offset.Path; 1050string str = (IsImplicitFile && m_Info.Offset.Host == (IsDosPath ? 0 : 2) && 1051m_Info.Offset.Query == m_Info.Offset.End) 1054? m_String.Substring(start + 1, m_Info.Offset.Query - start - 1) 1055: m_String.Substring(start, m_Info.Offset.Query - start); 1079start = m_Info.Offset.Path; 1081string host = m_Info.Host; 1082result = new char [host.Length + 3 + m_Info.Offset.Fragment - m_Info.Offset.Path ]; 1107UriHelper.UnescapeString(m_String, start, m_Info.Offset.Query, result, ref count, c_DummyChar, 1158return (int)m_Info.Offset.PortValue; 1255return m_Info.DnsSafeHost; 1260if (!String.IsNullOrEmpty(m_Info.DnsSafeHost)) { 1262return m_Info.DnsSafeHost; 1263} else if (m_Info.Host.Length == 0) { 1270string ret = m_Info.Host; 1274if ((object)m_Info.ScopeId != null) { 1275ret += m_Info.ScopeId; 1291m_Info.DnsSafeHost = ret; 1668if ((object)m_Info.String == null) 1675m_Info.String = GetComponentsHelper(UriComponents.AbsoluteUri, V1ToStringUnescape); 1677m_Info.String = GetParts(UriComponents.AbsoluteUri, UriFormat.SafeUnescaped); 1680return m_Info.String; 1809ushort i1 = m_Info.Offset.Host; 1810ushort end1 = m_Info.Offset.Path; 1812ushort i2 = obj.m_Info.Offset.Host; 1813ushort end2 = obj.m_Info.Offset.Path; 1832if (i1 < m_Info.Offset.Path && m_String[i1] != ':') { 1843if (!m_Info.Host.Equals(obj.m_Info.Host)) { 1858UriInfo meInfo = m_Info; 1859UriInfo sheInfo = obj.m_Info; 2471lock (m_Info) 2486string host = CreateHostStringHelper(m_String, m_Info.Offset.Host, m_Info.Offset.Path, ref flags, ref m_Info.ScopeId); 2534if ((object)m_Info.ScopeId != null) { 2540if ((m_Info.Offset.Host + i) >= m_Info.Offset.End || 2541host[i] != m_String[m_Info.Offset.Host + i]) { 2550m_Info.Host = host; 2551lock (m_Info) 2621if (m_Info.Host != null) 2627if ((object)m_Info.Host == null) 2654host = CreateHostStringHelper(host, 0, (ushort)host.Length, ref flags, ref m_Info.ScopeId); 2656if ((m_Info.Offset.Host + i) >= m_Info.Offset.End || host[i] != m_String[m_Info.Offset.Host + i]) { 2674m_Info.Offset.PortValue = 0; 2684if (port != m_Info.Offset.PortValue) 2692m_Info.Offset.PortValue = (ushort) port; 2696m_Info.Host = host; 2723else if (IsDosPath && m_String[m_Info.Offset.Path + SecuredPathIndex - 1] == '|') { 2750else if (IsDosPath && m_String[m_Info.Offset.Path + SecuredPathIndex - 1] == '|') { 2774string stemp = (parts & UriComponents.Host) == 0? string.Empty: m_Info.Host; 2780int count = (m_Info.Offset.End-m_Info.Offset.User) * (formatAs == UriFormat.UriEscaped?12:1); 2805chars = UriHelper.EscapeString(m_String, m_Info.Offset.User, m_Info.Offset.Host, chars, 2813m_String.CopyTo(m_Info.Offset.User, chars, count, m_Info.Offset.Host - m_Info.Offset.User); 2814count += (m_Info.Offset.Host - m_Info.Offset.User); 2819chars = UriHelper.UnescapeString(m_String, m_Info.Offset.User, m_Info.Offset.Host - 1, 2826chars = UriHelper.UnescapeString(m_String, m_Info.Offset.User, m_Info.Offset.Host, chars, 2832chars = UriHelper.UnescapeString(m_String, m_Info.Offset.User, m_Info.Offset.Host, chars, 2839UriHelper.UnescapeString(m_String, m_Info.Offset.User, m_Info.Offset.Host, chars, ref count, 2890(object)m_Info.ScopeId != null) 2892m_Info.ScopeId.CopyTo(0, chars, count-1, m_Info.ScopeId.Length); 2893count += m_Info.ScopeId.Length; 2904ushort start = m_Info.Offset.Path; 2908m_String.CopyTo(start, chars, count, m_Info.Offset.Path - start); 2909count += (m_Info.Offset.Path - start); 2913stemp = m_Info.Offset.PortValue.ToString(CultureInfo.InvariantCulture); 2922stemp = m_Info.Offset.PortValue.ToString(CultureInfo.InvariantCulture); 2951if ((parts & UriComponents.Query) != 0 && m_Info.Offset.Query < m_Info.Offset.Fragment) 2953delimiterAwareIndex = (ushort)(m_Info.Offset.Query+1); 2964chars = UriHelper.EscapeString(m_String, delimiterAwareIndex, m_Info.Offset.Fragment, chars, 2971UriHelper.UnescapeString(m_String, delimiterAwareIndex, m_Info.Offset.Fragment, chars, 2979chars = UriHelper.UnescapeString(m_String, delimiterAwareIndex, m_Info.Offset.Fragment, chars, 2987chars = UriHelper.UnescapeString(m_String, delimiterAwareIndex, m_Info.Offset.Fragment, chars, 2994chars = UriHelper.UnescapeString(m_String, delimiterAwareIndex, m_Info.Offset.Fragment, chars, 3002UriHelper.UnescapeString(m_String, delimiterAwareIndex, m_Info.Offset.Fragment, chars, ref count, 3008if ((parts & UriComponents.Fragment) != 0 && m_Info.Offset.Fragment < m_Info.Offset.End) 3010delimiterAwareIndex = (ushort)(m_Info.Offset.Fragment+1); 3019chars = UriHelper.EscapeString(m_String, delimiterAwareIndex, m_Info.Offset.End, chars, 3026UriHelper.UnescapeString(m_String, delimiterAwareIndex, m_Info.Offset.End, chars, 3034chars = UriHelper.UnescapeString(m_String, delimiterAwareIndex, m_Info.Offset.End, chars, 3041chars = UriHelper.UnescapeString(m_String, delimiterAwareIndex, m_Info.Offset.End, chars, 3048chars = UriHelper.UnescapeString(m_String, delimiterAwareIndex, m_Info.Offset.End, chars, 3056UriHelper.UnescapeString(m_String, delimiterAwareIndex, m_Info.Offset.End, chars, ref count, 3076return m_String.Substring(m_Info.Offset.Scheme, m_Info.Offset.Path - m_Info.Offset.Scheme); 3078return m_String.Substring(m_Info.Offset.Scheme, m_Info.Offset.User - m_Info.Offset.Scheme) 3079+ m_String.Substring(m_Info.Offset.Host, m_Info.Offset.Path - m_Info.Offset.Host); 3088return m_String.Substring(m_Info.Offset.Host, m_Info.Offset.Path - m_Info.Offset.Host); 3090return m_String.Substring(m_Info.Offset.Host, m_Info.Offset.Path - m_Info.Offset.Host) 3091+ ':' + m_Info.Offset.PortValue.ToString(CultureInfo.InvariantCulture); 3095if (m_Info.Offset.Scheme == 0 && m_Info.Offset.End == m_String.Length) 3098return m_String.Substring(m_Info.Offset.Scheme, m_Info.Offset.End - m_Info.Offset.Scheme); 3103return m_String.Substring(m_Info.Offset.Scheme, m_Info.Offset.User - m_Info.Offset.Scheme) 3104+ m_String.Substring(m_Info.Offset.Host, m_Info.Offset.Fragment - m_Info.Offset.Host); 3106if (m_Info.Offset.Scheme == 0 && m_Info.Offset.Fragment == m_String.Length) 3109return m_String.Substring(m_Info.Offset.Scheme, m_Info.Offset.Fragment - m_Info.Offset.Scheme); 3113return m_String.Substring(m_Info.Offset.Scheme, m_Info.Offset.Path - m_Info.Offset.Scheme); 3117if (m_Info.Offset.Scheme == 0 && m_Info.Offset.Fragment == m_String.Length) 3120return m_String.Substring(m_Info.Offset.Scheme, m_Info.Offset.Fragment - m_Info.Offset.Scheme); 3126return m_String.Substring(m_Info.Offset.Scheme, m_Info.Offset.User - m_Info.Offset.Scheme); 3132ushort idx = m_Info.Offset.Path; 3138return (idx - m_Info.Offset.Host == 0)? string.Empty: m_String.Substring(m_Info.Offset.Host, 3139idx - m_Info.Offset.Host); 3145m_Info.Offset.End > m_Info.Offset.Path && m_String[m_Info.Offset.Path] == '/') 3146delimiterAwareIdx = (ushort)(m_Info.Offset.Path + 1); 3148delimiterAwareIdx = m_Info.Offset.Path; 3150if (delimiterAwareIdx >= m_Info.Offset.Query) 3154return m_String.Substring(delimiterAwareIdx, m_Info.Offset.Query - delimiterAwareIdx); 3159delimiterAwareIdx = (ushort)(m_Info.Offset.Query + 1); 3161delimiterAwareIdx = m_Info.Offset.Query; 3163if (delimiterAwareIdx >= m_Info.Offset.Fragment) 3166return m_String.Substring(delimiterAwareIdx, m_Info.Offset.Fragment - delimiterAwareIdx); 3171delimiterAwareIdx = (ushort)(m_Info.Offset.Fragment + 1); 3173delimiterAwareIdx = m_Info.Offset.Fragment; 3175if (delimiterAwareIdx >= m_Info.Offset.End) 3178return m_String.Substring(delimiterAwareIdx, m_Info.Offset.End - delimiterAwareIdx); 3181return (m_Info.Offset.Path - m_Info.Offset.User == 0) ? string.Empty : 3182m_String.Substring(m_Info.Offset.User, m_Info.Offset.Path - m_Info.Offset.User); 3188return m_String.Substring(m_Info.Offset.User, m_Info.Offset.Path - m_Info.Offset.User) 3189+ ':' + m_Info.Offset.PortValue.ToString(CultureInfo.InvariantCulture); 3192return m_String.Substring(m_Info.Offset.Path, m_Info.Offset.Fragment - m_Info.Offset.Path); 3196return m_String.Substring(m_Info.Offset.Scheme, m_Info.Offset.User - m_Info.Offset.Scheme) 3197+ m_String.Substring(m_Info.Offset.Host, m_Info.Offset.End - m_Info.Offset.Host); 3199if (m_Info.Offset.Scheme == 0 && m_Info.Offset.End == m_String.Length) 3202return m_String.Substring(m_Info.Offset.Scheme, m_Info.Offset.End - m_Info.Offset.Scheme); 3205return m_String.Substring(m_Info.Offset.Path, m_Info.Offset.End - m_Info.Offset.Path); 3214delimiterAwareIdx = (ushort)(m_Info.Offset.Host - 1); 3216delimiterAwareIdx = m_Info.Offset.Host; 3218if (m_Info.Offset.User >= delimiterAwareIdx) 3221return m_String.Substring(m_Info.Offset.User, delimiterAwareIdx - m_Info.Offset.User); 3252ushort idx = m_Info.Offset.Scheme; 3293idx = m_Info.Offset.User; 3294result = CheckCanonical(str, ref idx, m_Info.Offset.Host, '@'); 3325idx = m_Info.Offset.Path; 3326origIdx = m_Info.Offset.Path; 3343m_Info.Offset.Path = (ushort)m_String.Length; 3344idx = m_Info.Offset.Path; 3399&& (m_Info.Offset.Path == length || (str[m_Info.Offset.Path] != '/' && str[m_Info.Offset.Path] != '\\'))){ 3501m_Info.Offset.Query = idx; 3559m_Info.Offset.Fragment = idx; 3582m_Info.Offset.End = idx; 3586lock (m_Info) 4579if (m_Info.Offset.Path == m_Info.Offset.Query) 4593m_String.CopyTo(m_Info.Offset.Path, dest, end, m_Info.Offset.Query - m_Info.Offset.Path); 4594end += (m_Info.Offset.Query - m_Info.Offset.Path); 4616if (dosPathIdx != 0 && str[dosPathIdx + m_Info.Offset.Path -1] == '|') 4618str = str.Remove(dosPathIdx + m_Info.Offset.Path -1, 1); 4619str = str.Insert(dosPathIdx + m_Info.Offset.Path -1, ":"); 4621dest = UriHelper.EscapeString(str, m_Info.Offset.Path, m_Info.Offset.Query, dest, ref end, true, 4625m_String.CopyTo(m_Info.Offset.Path, dest, end, m_Info.Offset.Query - m_Info.Offset.Path); 4626end += (m_Info.Offset.Query - m_Info.Offset.Path); 4632m_String.CopyTo(m_Info.Offset.Path, dest, end, m_Info.Offset.Query - m_Info.Offset.Path); 4633end += (m_Info.Offset.Query - m_Info.Offset.Path);
net\System\UriExt.cs (13)
526idx = (ushort)(m_Info.Offset.Scheme + m_Syntax.SchemeName.Length + 2); 527if (idx >= m_Info.Offset.User || m_String[idx - 1] == '\\' || m_String[idx] == '\\') 533while (++idx < m_Info.Offset.User && (m_String[idx] == '/' || m_String[idx] == '\\')) 544if (InFact(Flags.FirstSlashAbsent) && m_Info.Offset.Query > m_Info.Offset.Path) 554if (IsDosPath && m_String[m_Info.Offset.Path + SecuredPathIndex - 1] == '|') 566idx = m_Info.Offset.User; 567Check result = CheckCanonical(str, ref idx, (ushort)m_Info.Offset.Path, '/'); 897return m_Info.Offset.PortValue.ToString(CultureInfo.InvariantCulture); 913return m_Info.Host; 1004int portIndex = otherUri.m_Info.Offset.Path; 1008while (otherUri.m_String[portIndex] != ':' && portIndex > otherUri.m_Info.Offset.Host) 1016portIndex = otherUri.m_Info.Offset.Path;