Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Methods "readonly" annotation #46675

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/libraries/Common/src/Interop/Unix/Interop.Errors.cs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ internal ErrorInfo(Error error)
_rawErrno = -1;
}

internal Error Error
internal readonly Error Error
{
get { return _error; }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ internal struct GssBuffer : IDisposable
internal ulong _length;
internal IntPtr _data;

internal int Copy(byte[] destination, int offset)
internal readonly int Copy(byte[] destination, int offset)
{
Debug.Assert(destination != null, "target destination cannot be null");
Debug.Assert((offset >= 0 && offset < destination.Length) || destination.Length == 0, "invalid offset " + offset);
Expand All @@ -38,7 +38,7 @@ internal int Copy(byte[] destination, int offset)
return sourceLength;
}

internal byte[] ToByteArray()
internal readonly byte[] ToByteArray()
{
if (_data == IntPtr.Zero || _length == 0)
{
Expand All @@ -51,7 +51,7 @@ internal byte[] ToByteArray()
return destination;
}

internal unsafe ReadOnlySpan<byte> Span => (_data != IntPtr.Zero && _length != 0) ?
internal unsafe readonly ReadOnlySpan<byte> Span => (_data != IntPtr.Zero && _length != 0) ?
new ReadOnlySpan<byte>(_data.ToPointer(), checked((int)_length)) :
default;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ internal struct SYSTEMTIME
internal short wSecond;
internal short wMilliseconds;

public override string ToString()
public override readonly string ToString()
{
return "[SYSTEMTIME: "
+ wDay.ToString(CultureInfo.CurrentCulture) + "/" + wMonth.ToString(CultureInfo.CurrentCulture) + "/" + wYear.ToString(CultureInfo.CurrentCulture)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ internal struct CRYPT_BIT_BLOB
internal IntPtr pbData;
internal int cUnusedBits;

internal byte[] ToByteArray()
internal readonly byte[] ToByteArray()
{
int numBytes = cbData;
byte[] data = new byte[numBytes];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ internal struct CRYPT_OID_INFO
public int cbData;
public IntPtr pbData;

public string? OID
public readonly string? OID
{
get
{
return Marshal.PtrToStringAnsi(pszOID);
}
}

public string? Name
public readonly string? Name
{
get
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public struct RECT
public int right;
public int bottom;

public Size Size => new Size(right - left, bottom - top);
public readonly Size Size => new Size(right - left, bottom - top);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ internal struct LongFileTime
internal long TicksSince1601;
#pragma warning restore CS0649

internal DateTimeOffset ToDateTimeOffset() => new DateTimeOffset(DateTime.FromFileTimeUtc(TicksSince1601));
internal readonly DateTimeOffset ToDateTimeOffset() => new DateTimeOffset(DateTime.FromFileTimeUtc(TicksSince1601));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ internal struct IpSocketAddress
internal IntPtr address;
internal int addressLength;

internal IPAddress MarshalIPAddress()
internal readonly IPAddress MarshalIPAddress()
{
// Determine the address family used to create the IPAddress.
AddressFamily family = (addressLength > Internals.SocketAddress.IPv4AddressSize)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ internal FILE_TIME(long fileTime)
dwHighDateTime = (uint)(fileTime >> 32);
}

internal long ToTicks() => ((long)dwHighDateTime << 32) + dwLowDateTime;
internal DateTime ToDateTimeUtc() => DateTime.FromFileTimeUtc(ToTicks());
internal DateTimeOffset ToDateTimeOffset() => DateTimeOffset.FromFileTime(ToTicks());
internal readonly long ToTicks() => ((long)dwHighDateTime << 32) + dwLowDateTime;
internal readonly DateTime ToDateTimeUtc() => DateTime.FromFileTimeUtc(ToTicks());
internal readonly DateTimeOffset ToDateTimeOffset() => DateTimeOffset.FromFileTime(ToTicks());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ internal struct SYSTEMTIME
internal ushort Second;
internal ushort Milliseconds;

internal bool Equals(in SYSTEMTIME other) =>
internal readonly bool Equals(in SYSTEMTIME other) =>
Year == other.Year &&
Month == other.Month &&
DayOfWeek == other.DayOfWeek &&
Expand All @@ -42,7 +42,7 @@ internal unsafe struct TIME_DYNAMIC_ZONE_INFORMATION
internal fixed char TimeZoneKeyName[128];
internal byte DynamicDaylightTimeDisabled;

internal string GetTimeZoneKeyName()
internal readonly string GetTimeZoneKeyName()
{
fixed (char* p = TimeZoneKeyName)
return new string(p);
Expand All @@ -68,13 +68,13 @@ internal TIME_ZONE_INFORMATION(in TIME_DYNAMIC_ZONE_INFORMATION dtzi)
*pTo = *(TIME_ZONE_INFORMATION*)pFrom;
}

internal string GetStandardName()
internal readonly string GetStandardName()
{
fixed (char* p = StandardName)
return new string(p);
}

internal string GetDaylightName()
internal readonly string GetDaylightName()
{
fixed (char* p = DaylightName)
return new string(p);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public struct FILE_FULL_DIR_INFORMATION
public uint EaSize;

private char _fileName;
public unsafe ReadOnlySpan<char> FileName { get { fixed (char* c = &_fileName) { return new ReadOnlySpan<char>(c, (int)FileNameLength / sizeof(char)); } } }
public unsafe readonly ReadOnlySpan<char> FileName { get { fixed (char* c = &_fileName) { return new ReadOnlySpan<char>(c, (int)FileNameLength / sizeof(char)); } } }

/// <summary>
/// Gets the next info pointer or null if there are no more.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ internal struct STATSTG
public uint grfStateBits;
public uint reserved;

public string? GetName() => Marshal.PtrToStringUni(pwcsName);
public readonly string? GetName() => Marshal.PtrToStringUni(pwcsName);

/// <summary>
/// Caller is responsible for freeing the name memory.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ internal struct CredHandle
private IntPtr dwLower;
private IntPtr dwUpper;

public bool IsZero
public readonly bool IsZero
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
Expand All @@ -38,7 +38,7 @@ internal void SetToInvalid()
dwUpper = IntPtr.Zero;
}

public override string ToString()
public override readonly string ToString()
{
{ return dwLower.ToString("x") + ":" + dwUpper.ToString("x"); }
}
Expand Down
4 changes: 2 additions & 2 deletions src/libraries/Common/src/System/MutableDecimal.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ internal struct MutableDecimal

public bool IsNegative
{
get { return (Flags & SignMask) != 0; }
readonly get { return (Flags & SignMask) != 0; }
set { Flags = (Flags & ~SignMask) | (value ? SignMask : 0); }
}

public int Scale
{
get { return (byte)(Flags >> ScaleShift); }
readonly get { return (byte)(Flags >> ScaleShift); }
set { Flags = (Flags & ~ScaleMask) | ((uint)value << ScaleShift); }
}

Expand Down
Loading