4 writes to _lazyExtensionInfo
Microsoft.CodeAnalysis.CSharp (4)
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (4)
1046
Interlocked.CompareExchange(ref
_lazyExtensionInfo
, new ExtensionInfo(), null);
1070
Interlocked.CompareExchange(ref
_lazyExtensionInfo
, new ExtensionInfo(), null);
1105
Interlocked.CompareExchange(ref
_lazyExtensionInfo
, new ExtensionInfo(), null);
1124
Interlocked.CompareExchange(ref
_lazyExtensionInfo
, new ExtensionInfo(), null);
20 references to _lazyExtensionInfo
Microsoft.CodeAnalysis.CSharp (20)
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (20)
1022
if (
_lazyExtensionInfo
.LazyExtensionParameter == null && markerMethod is { Parameters: [var parameter, ..] })
1024
Interlocked.CompareExchange(ref
_lazyExtensionInfo
.LazyExtensionParameter, new ReceiverParameterSymbol(this, parameter), null);
1027
return
_lazyExtensionInfo
.LazyExtensionParameter;
1044
if (
_lazyExtensionInfo
is null)
1049
if (
_lazyExtensionInfo
.LazyImplementationMap is null)
1057
Interlocked.CompareExchange(ref
_lazyExtensionInfo
.LazyImplementationMap, builder.ToImmutable(), null);
1060
return
_lazyExtensionInfo
.LazyImplementationMap.GetValueOrDefault(method);
1063
[MemberNotNull(nameof(
_lazyExtensionInfo
))]
1068
if (
_lazyExtensionInfo
is null)
1073
if (
_lazyExtensionInfo
.LazyExtensionMarker == (object)ErrorMethodSymbol.UnknownMethod)
1075
Interlocked.CompareExchange(ref
_lazyExtensionInfo
.LazyExtensionMarker, tryCreateExtensionMarker(), ErrorMethodSymbol.UnknownMethod);
1078
return
_lazyExtensionInfo
.LazyExtensionMarker;
1103
if (
_lazyExtensionInfo
is null)
1108
if (
_lazyExtensionInfo
.LazyExtensionGroupingName is null)
1110
_lazyExtensionInfo
.LazyExtensionGroupingName = WellKnownMemberNames.ExtensionGroupingTypePrefix + RawNameToHashString(ComputeExtensionGroupingRawName());
1113
return
_lazyExtensionInfo
.LazyExtensionGroupingName;
1122
if (
_lazyExtensionInfo
is null)
1127
if (
_lazyExtensionInfo
.LazyExtensionMarkerName is null)
1129
_lazyExtensionInfo
.LazyExtensionMarkerName = WellKnownMemberNames.ExtensionMarkerTypePrefix + RawNameToHashString(ComputeExtensionMarkerRawName());
1132
return
_lazyExtensionInfo
.LazyExtensionMarkerName;