Skip to content
Merged
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
4 changes: 1 addition & 3 deletions src/libraries/Common/src/System/CodeDom/CodeObject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,8 @@ public class CodeObject
internal class CodeObject
#endif
{
private IDictionary? _userData;

public CodeObject() { }

public IDictionary UserData => _userData ??= new ListDictionary();
public IDictionary UserData => field ??= new ListDictionary();
}
}
7 changes: 2 additions & 5 deletions src/libraries/Common/src/System/Data/Common/AdapterUtil.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,8 @@ internal static partial class ADP
{
// NOTE: Initializing a Task in SQL CLR requires the "UNSAFE" permission set (https://learn.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes)
// Therefore we are lazily initializing these Tasks to avoid forcing customers to use the "UNSAFE" set when they are actually using no Async features
private static Task<bool>? _trueTask;
internal static Task<bool> TrueTask => _trueTask ??= Task.FromResult(true);

private static Task<bool>? _falseTask;
internal static Task<bool> FalseTask => _falseTask ??= Task.FromResult(false);
internal static Task<bool> TrueTask => field ??= Task.FromResult(true);
internal static Task<bool> FalseTask => field ??= Task.FromResult(false);

internal const CompareOptions DefaultCompareOptions = CompareOptions.IgnoreKanaType | CompareOptions.IgnoreWidth | CompareOptions.IgnoreCase;
internal const int DefaultConnectionTimeout = DbConnectionStringDefaults.ConnectTimeout;
Expand Down
103 changes: 35 additions & 68 deletions src/libraries/Common/src/System/Security/Cryptography/Oids.Shared.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,74 +8,41 @@ namespace System.Security.Cryptography
{
internal static partial class Oids
{
private static Oid? s_rsaOid;
private static Oid? s_ecPublicKeyOid;
private static Oid? s_tripleDesCbcOid;
private static Oid? s_aes256CbcOid;
private static Oid? s_secp256R1Oid;
private static Oid? s_secp384R1Oid;
private static Oid? s_secp521R1Oid;
private static Oid? s_sha256Oid;
private static Oid? s_pkcs7DataOid;
private static Oid? s_contentTypeOid;
private static Oid? s_documentDescriptionOid;
private static Oid? s_documentNameOid;
private static Oid? s_localKeyIdOid;
private static Oid? s_messageDigestOid;
private static Oid? s_signingTimeOid;
private static Oid? s_pkcs9ExtensionRequestOid;
private static Oid? s_basicConstraints2Oid;
private static Oid? s_enhancedKeyUsageOid;
private static Oid? s_keyUsageOid;
private static Oid? s_subjectAltNameOid;
private static Oid? s_subjectKeyIdentifierOid;
private static Oid? s_authorityKeyIdentifierOid;
private static Oid? s_authorityInformationAccessOid;
private static Oid? s_crlNumberOid;
private static Oid? s_crlDistributionPointOid;
private static Oid? s_commonNameOid;
private static Oid? s_countryOrRegionOid;
private static Oid? s_localityNameOid;
private static Oid? s_stateOrProvinceNameOid;
private static Oid? s_organizationOid;
private static Oid? s_organizationalUnitOid;
private static Oid? s_emailAddressOid;

internal static Oid RsaOid => s_rsaOid ??= InitializeOid(Rsa);
internal static Oid EcPublicKeyOid => s_ecPublicKeyOid ??= InitializeOid(EcPublicKey);
internal static Oid TripleDesCbcOid => s_tripleDesCbcOid ??= InitializeOid(TripleDesCbc);
internal static Oid Aes256CbcOid => s_aes256CbcOid ??= InitializeOid(Aes256Cbc);
internal static Oid secp256r1Oid => s_secp256R1Oid ??= new Oid(secp256r1, nameof(ECCurve.NamedCurves.nistP256));
internal static Oid secp384r1Oid => s_secp384R1Oid ??= new Oid(secp384r1, nameof(ECCurve.NamedCurves.nistP384));
internal static Oid secp521r1Oid => s_secp521R1Oid ??= new Oid(secp521r1, nameof(ECCurve.NamedCurves.nistP521));
internal static Oid Sha256Oid => s_sha256Oid ??= InitializeOid(Sha256);

internal static Oid Pkcs7DataOid => s_pkcs7DataOid ??= InitializeOid(Pkcs7Data);
internal static Oid ContentTypeOid => s_contentTypeOid ??= InitializeOid(ContentType);
internal static Oid DocumentDescriptionOid => s_documentDescriptionOid ??= InitializeOid(DocumentDescription);
internal static Oid DocumentNameOid => s_documentNameOid ??= InitializeOid(DocumentName);
internal static Oid LocalKeyIdOid => s_localKeyIdOid ??= InitializeOid(LocalKeyId);
internal static Oid MessageDigestOid => s_messageDigestOid ??= InitializeOid(MessageDigest);
internal static Oid SigningTimeOid => s_signingTimeOid ??= InitializeOid(SigningTime);
internal static Oid Pkcs9ExtensionRequestOid => s_pkcs9ExtensionRequestOid ??= InitializeOid(Pkcs9ExtensionRequest);

internal static Oid BasicConstraints2Oid => s_basicConstraints2Oid ??= InitializeOid(BasicConstraints2);
internal static Oid EnhancedKeyUsageOid => s_enhancedKeyUsageOid ??= InitializeOid(EnhancedKeyUsage);
internal static Oid KeyUsageOid => s_keyUsageOid ??= InitializeOid(KeyUsage);
internal static Oid AuthorityKeyIdentifierOid => s_authorityKeyIdentifierOid ??= InitializeOid(AuthorityKeyIdentifier);
internal static Oid SubjectKeyIdentifierOid => s_subjectKeyIdentifierOid ??= InitializeOid(SubjectKeyIdentifier);
internal static Oid SubjectAltNameOid => s_subjectAltNameOid ??= InitializeOid(SubjectAltName);
internal static Oid AuthorityInformationAccessOid => s_authorityInformationAccessOid ??= InitializeOid(AuthorityInformationAccess);
internal static Oid CrlNumberOid => s_crlNumberOid ??= InitializeOid(CrlNumber);
internal static Oid CrlDistributionPointsOid => s_crlDistributionPointOid ??= InitializeOid(CrlDistributionPoints);

internal static Oid CommonNameOid => s_commonNameOid ??= InitializeOid(CommonName);
internal static Oid CountryOrRegionNameOid => s_countryOrRegionOid ??= InitializeOid(CountryOrRegionName);
internal static Oid LocalityNameOid => s_localityNameOid ??= InitializeOid(LocalityName);
internal static Oid StateOrProvinceNameOid => s_stateOrProvinceNameOid ??= InitializeOid(StateOrProvinceName);
internal static Oid OrganizationOid => s_organizationOid ??= InitializeOid(Organization);
internal static Oid OrganizationalUnitOid => s_organizationalUnitOid ??= InitializeOid(OrganizationalUnit);
internal static Oid EmailAddressOid => s_emailAddressOid ??= InitializeOid(EmailAddress);
internal static Oid RsaOid => field ??= InitializeOid(Rsa);
internal static Oid EcPublicKeyOid => field ??= InitializeOid(EcPublicKey);
internal static Oid TripleDesCbcOid => field ??= InitializeOid(TripleDesCbc);
internal static Oid Aes256CbcOid => field ??= InitializeOid(Aes256Cbc);
internal static Oid secp256r1Oid => field ??= new Oid(secp256r1, nameof(ECCurve.NamedCurves.nistP256));
internal static Oid secp384r1Oid => field ??= new Oid(secp384r1, nameof(ECCurve.NamedCurves.nistP384));
internal static Oid secp521r1Oid => field ??= new Oid(secp521r1, nameof(ECCurve.NamedCurves.nistP521));
internal static Oid Sha256Oid => field ??= InitializeOid(Sha256);

internal static Oid Pkcs7DataOid => field ??= InitializeOid(Pkcs7Data);
internal static Oid ContentTypeOid => field ??= InitializeOid(ContentType);
internal static Oid DocumentDescriptionOid => field ??= InitializeOid(DocumentDescription);
internal static Oid DocumentNameOid => field ??= InitializeOid(DocumentName);
internal static Oid LocalKeyIdOid => field ??= InitializeOid(LocalKeyId);
internal static Oid MessageDigestOid => field ??= InitializeOid(MessageDigest);
internal static Oid SigningTimeOid => field ??= InitializeOid(SigningTime);
internal static Oid Pkcs9ExtensionRequestOid => field ??= InitializeOid(Pkcs9ExtensionRequest);

internal static Oid BasicConstraints2Oid => field ??= InitializeOid(BasicConstraints2);
internal static Oid EnhancedKeyUsageOid => field ??= InitializeOid(EnhancedKeyUsage);
internal static Oid KeyUsageOid => field ??= InitializeOid(KeyUsage);
internal static Oid AuthorityKeyIdentifierOid => field ??= InitializeOid(AuthorityKeyIdentifier);
internal static Oid SubjectKeyIdentifierOid => field ??= InitializeOid(SubjectKeyIdentifier);
internal static Oid SubjectAltNameOid => field ??= InitializeOid(SubjectAltName);
internal static Oid AuthorityInformationAccessOid => field ??= InitializeOid(AuthorityInformationAccess);
internal static Oid CrlNumberOid => field ??= InitializeOid(CrlNumber);
internal static Oid CrlDistributionPointsOid => field ??= InitializeOid(CrlDistributionPoints);

internal static Oid CommonNameOid => field ??= InitializeOid(CommonName);
internal static Oid CountryOrRegionNameOid => field ??= InitializeOid(CountryOrRegionName);
internal static Oid LocalityNameOid => field ??= InitializeOid(LocalityName);
internal static Oid StateOrProvinceNameOid => field ??= InitializeOid(StateOrProvinceName);
internal static Oid OrganizationOid => field ??= InitializeOid(Organization);
internal static Oid OrganizationalUnitOid => field ??= InitializeOid(OrganizationalUnit);
internal static Oid EmailAddressOid => field ??= InitializeOid(EmailAddress);

private static Oid InitializeOid(string oidValue)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,7 @@ protected virtual void Dispose(bool disposing)
protected string GetRandomLinkPath([CallerMemberName] string memberName = null, [CallerLineNumber] int lineNumber = 0) => Path.Combine(TestDirectoryActualCasing, GetRandomLinkName(memberName, lineNumber));
protected string GetRandomDirPath([CallerMemberName] string memberName = null, [CallerLineNumber] int lineNumber = 0) => Path.Combine(TestDirectoryActualCasing, GetRandomDirName(memberName, lineNumber));

private string _testDirectoryActualCasing;
private string TestDirectoryActualCasing => _testDirectoryActualCasing ??= GetTestDirectoryActualCasing();
private string TestDirectoryActualCasing => field ??= GetTestDirectoryActualCasing();

/// <summary>Gets a test file full path that is associated with the call site.</summary>
/// <param name="index">An optional index value to use as a suffix on the file name. Typically a loop index.</param>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ namespace Microsoft.Extensions.Http
{
internal sealed class DefaultHttpMessageHandlerBuilder : HttpMessageHandlerBuilder
{
private HttpMessageHandler? _primaryHandler;
private string? _name;

public DefaultHttpMessageHandlerBuilder(IServiceProvider services)
Expand All @@ -34,8 +33,8 @@ public override string? Name

public override HttpMessageHandler PrimaryHandler
{
get => _primaryHandler ??= CreatePrimaryHandler();
set => _primaryHandler = value;
get => field ??= CreatePrimaryHandler();
set => field = value;
}

public override IList<DelegatingHandler> AdditionalHandlers { get; } = new List<DelegatingHandler>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ internal sealed class LoggingHttpMessageHandlerBuilderFilter : IHttpMessageHandl
{
// we want to prevent a circular depencency between ILoggerFactory and IHttpMessageHandlerBuilderFilter, in case
// any of ILoggerProvider instances use IHttpClientFactory to send logs to an external server
private ILoggerFactory? _loggerFactory;
private ILoggerFactory LoggerFactory => _loggerFactory ??= _serviceProvider.GetRequiredService<ILoggerFactory>();
private ILoggerFactory LoggerFactory => field ??= _serviceProvider.GetRequiredService<ILoggerFactory>();
private readonly IServiceProvider _serviceProvider;
private readonly IOptionsMonitor<HttpClientFactoryOptions> _optionsMonitor;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ namespace Microsoft.Extensions.Logging.EventLog
/// </summary>
public class EventLogSettings
{
private IEventLog? _eventLog;

/// <summary>
/// Gets or sets the name of the event log. If <see langword="null" /> or not specified, "Application" is the default.
/// </summary>
Expand All @@ -34,10 +32,10 @@ public class EventLogSettings

internal IEventLog EventLog
{
get => _eventLog ??= CreateDefaultEventLog();
get => field ??= CreateDefaultEventLog();

// For unit testing purposes only.
set => _eventLog = value;
set => field = value;
}

private WindowsEventLog CreateDefaultEventLog()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ namespace System.CodeDom
{
public class CodeArrayIndexerExpression : CodeExpression
{
private CodeExpressionCollection _indices;

public CodeArrayIndexerExpression() { }

public CodeArrayIndexerExpression(CodeExpression targetObject, params CodeExpression[] indices)
Expand All @@ -17,6 +15,6 @@ public CodeArrayIndexerExpression(CodeExpression targetObject, params CodeExpres

public CodeExpression TargetObject { get; set; }

public CodeExpressionCollection Indices => _indices ??= new CodeExpressionCollection();
public CodeExpressionCollection Indices => field ??= new CodeExpressionCollection();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ namespace System.CodeDom
{
public class CodeCastExpression : CodeExpression
{
private CodeTypeReference _targetType;

public CodeCastExpression() { }

public CodeCastExpression(CodeTypeReference targetType, CodeExpression expression)
Expand All @@ -29,8 +27,8 @@ public CodeCastExpression(Type targetType, CodeExpression expression)

public CodeTypeReference TargetType
{
get => _targetType ??= new CodeTypeReference("");
set => _targetType = value;
get => field ??= new CodeTypeReference("");
set => field = value;
}

public CodeExpression Expression { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ namespace System.CodeDom
{
public class CodeCatchClause
{
private CodeStatementCollection _statements;
private CodeTypeReference _catchExceptionType;
private string _localName;

Expand Down Expand Up @@ -41,6 +40,6 @@ public CodeTypeReference CatchExceptionType
set => _catchExceptionType = value;
}

public CodeStatementCollection Statements => _statements ??= new CodeStatementCollection();
public CodeStatementCollection Statements => field ??= new CodeStatementCollection();
}
}
14 changes: 4 additions & 10 deletions src/libraries/System.CodeDom/src/System/CodeDom/CodeCompileUnit.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,16 @@ namespace System.CodeDom
{
public class CodeCompileUnit : CodeObject
{
private StringCollection _assemblies;
private CodeAttributeDeclarationCollection _attributes;

private CodeDirectiveCollection _startDirectives;
private CodeDirectiveCollection _endDirectives;

public CodeCompileUnit() { }

public CodeNamespaceCollection Namespaces { get; } = new CodeNamespaceCollection();

public StringCollection ReferencedAssemblies => _assemblies ??= new StringCollection();
public StringCollection ReferencedAssemblies => field ??= new StringCollection();

public CodeAttributeDeclarationCollection AssemblyCustomAttributes => _attributes ??= new CodeAttributeDeclarationCollection();
public CodeAttributeDeclarationCollection AssemblyCustomAttributes => field ??= new CodeAttributeDeclarationCollection();

public CodeDirectiveCollection StartDirectives => _startDirectives ??= new CodeDirectiveCollection();
public CodeDirectiveCollection StartDirectives => field ??= new CodeDirectiveCollection();

public CodeDirectiveCollection EndDirectives => _endDirectives ??= new CodeDirectiveCollection();
public CodeDirectiveCollection EndDirectives => field ??= new CodeDirectiveCollection();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ namespace System.CodeDom
{
public class CodeIndexerExpression : CodeExpression
{
private CodeExpressionCollection _indices;

public CodeIndexerExpression() { }

public CodeIndexerExpression(CodeExpression targetObject, params CodeExpression[] indices)
Expand All @@ -17,6 +15,6 @@ public CodeIndexerExpression(CodeExpression targetObject, params CodeExpression[

public CodeExpression TargetObject { get; set; }

public CodeExpressionCollection Indices => _indices ??= new CodeExpressionCollection();
public CodeExpressionCollection Indices => field ??= new CodeExpressionCollection();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,16 @@ namespace System.CodeDom
{
public class CodeMemberEvent : CodeTypeMember
{
private CodeTypeReference _type;
private CodeTypeReferenceCollection _implementationTypes;

public CodeMemberEvent() { }

public CodeTypeReference Type
{
get => _type ??= new CodeTypeReference("");
set => _type = value;
get => field ??= new CodeTypeReference("");
set => field = value;
}

public CodeTypeReference PrivateImplementationType { get; set; }

public CodeTypeReferenceCollection ImplementationTypes => _implementationTypes ??= new CodeTypeReferenceCollection();
public CodeTypeReferenceCollection ImplementationTypes => field ??= new CodeTypeReferenceCollection();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ namespace System.CodeDom
{
public class CodeMemberField : CodeTypeMember
{
private CodeTypeReference _type;

public CodeMemberField() { }

public CodeMemberField(CodeTypeReference type, string name)
Expand All @@ -29,8 +27,8 @@ public CodeMemberField(Type type, string name)

public CodeTypeReference Type
{
get => _type ??= new CodeTypeReference("");
set => _type = value;
get => field ??= new CodeTypeReference("");
set => field = value;
}

public CodeExpression InitExpression { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,7 @@ public class CodeMemberMethod : CodeTypeMember
{
private readonly CodeParameterDeclarationExpressionCollection _parameters = new CodeParameterDeclarationExpressionCollection();
private readonly CodeStatementCollection _statements = new CodeStatementCollection();
private CodeTypeReference _returnType;
private CodeTypeReferenceCollection _implementationTypes;
private CodeAttributeDeclarationCollection _returnAttributes;
private CodeTypeParameterCollection _typeParameters;

private int _populated;
private const int ParametersCollection = 0x1;
Expand All @@ -23,8 +20,8 @@ public class CodeMemberMethod : CodeTypeMember

public CodeTypeReference ReturnType
{
get => _returnType ??= new CodeTypeReference(typeof(void).FullName);
set => _returnType = value;
get => field ??= new CodeTypeReference(typeof(void).FullName);
set => field = value;
}

public CodeStatementCollection Statements
Expand Down Expand Up @@ -73,8 +70,8 @@ public CodeTypeReferenceCollection ImplementationTypes
}
}

public CodeAttributeDeclarationCollection ReturnTypeCustomAttributes => _returnAttributes ??= new CodeAttributeDeclarationCollection();
public CodeAttributeDeclarationCollection ReturnTypeCustomAttributes => field ??= new CodeAttributeDeclarationCollection();

public CodeTypeParameterCollection TypeParameters => _typeParameters ??= new CodeTypeParameterCollection();
public CodeTypeParameterCollection TypeParameters => field ??= new CodeTypeParameterCollection();
}
}
Loading
Loading