2 writes to _lazyExtensionInfo
Microsoft.CodeAnalysis.CSharp (2)
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (2)
101Interlocked.CompareExchange(ref _lazyExtensionInfo, new ExtensionInfo(), null); // Tracked by https://github.com/dotnet/roslyn/issues/76130 : Test this code path 130Interlocked.CompareExchange(ref _lazyExtensionInfo, new ExtensionInfo(), null);
12 references to _lazyExtensionInfo
Microsoft.CodeAnalysis.CSharp (12)
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (12)
77if (_lazyExtensionInfo.LazyExtensionParameter == null && markerMethod is { Parameters: [var parameter, ..] }) 79Interlocked.CompareExchange(ref _lazyExtensionInfo.LazyExtensionParameter, new ReceiverParameterSymbol(this, parameter), null); 82return _lazyExtensionInfo.LazyExtensionParameter; 99if (_lazyExtensionInfo is null) 104if (_lazyExtensionInfo.LazyImplementationMap is null) 112Interlocked.CompareExchange(ref _lazyExtensionInfo.LazyImplementationMap, builder.ToImmutable(), null); 115return _lazyExtensionInfo.LazyImplementationMap.GetValueOrDefault(method); 123[MemberNotNull(nameof(_lazyExtensionInfo))] 128if (_lazyExtensionInfo is null) 133if (_lazyExtensionInfo.LazyExtensionMarker == (object)ErrorMethodSymbol.UnknownMethod) 135Interlocked.CompareExchange(ref _lazyExtensionInfo.LazyExtensionMarker, tryCreateExtensionMarker(), ErrorMethodSymbol.UnknownMethod); 138return _lazyExtensionInfo.LazyExtensionMarker;