2 writes to _lazyExtensionInfo
Microsoft.CodeAnalysis.CSharp (2)
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (2)
412
Interlocked.CompareExchange(ref
_lazyExtensionInfo
, new ExtensionInfo(), null);
441
Interlocked.CompareExchange(ref
_lazyExtensionInfo
, new ExtensionInfo(), null);
12 references to _lazyExtensionInfo
Microsoft.CodeAnalysis.CSharp (12)
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (12)
388
if (
_lazyExtensionInfo
.LazyExtensionParameter == null && markerMethod is { Parameters: [var parameter, ..] })
390
Interlocked.CompareExchange(ref
_lazyExtensionInfo
.LazyExtensionParameter, new ReceiverParameterSymbol(this, parameter), null);
393
return
_lazyExtensionInfo
.LazyExtensionParameter;
410
if (
_lazyExtensionInfo
is null)
415
if (
_lazyExtensionInfo
.LazyImplementationMap is null)
423
Interlocked.CompareExchange(ref
_lazyExtensionInfo
.LazyImplementationMap, builder.ToImmutable(), null);
426
return
_lazyExtensionInfo
.LazyImplementationMap.GetValueOrDefault(method);
434
[MemberNotNull(nameof(
_lazyExtensionInfo
))]
439
if (
_lazyExtensionInfo
is null)
444
if (
_lazyExtensionInfo
.LazyExtensionMarker == (object)ErrorMethodSymbol.UnknownMethod)
446
Interlocked.CompareExchange(ref
_lazyExtensionInfo
.LazyExtensionMarker, tryCreateExtensionMarker(), ErrorMethodSymbol.UnknownMethod);
449
return
_lazyExtensionInfo
.LazyExtensionMarker;