11 writes to CurrentSymbol
Microsoft.CodeAnalysis.CSharp (11)
FlowAnalysis\AbstractFlowPass.cs (1)
215CurrentSymbol = symbol;
FlowAnalysis\AbstractFlowPass_LocalFunctions.cs (2)
74this.CurrentSymbol = localFuncSymbol; 151this.CurrentSymbol = oldSymbol;
FlowAnalysis\DefiniteAssignment.cs (6)
202this.CurrentSymbol = member; 226this.CurrentSymbol = member; 344CurrentSymbol = primaryConstructor; 352CurrentSymbol = save; 2425this.CurrentSymbol = node.Symbol; 2464this.CurrentSymbol = oldSymbol;
FlowAnalysis\NullableWalker.cs (2)
3303this.CurrentSymbol = lambdaOrFunctionSymbol; 3391this.CurrentSymbol = oldCurrentSymbol;
30 references to CurrentSymbol
Microsoft.CodeAnalysis.CSharp (30)
FlowAnalysis\AbstractFlowPass_LocalFunctions.cs (1)
72var oldSymbol = this.CurrentSymbol;
FlowAnalysis\DefiniteAssignment.cs (18)
102&& CurrentSymbol is MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }; 343var save = CurrentSymbol; 401if (CurrentSymbol is MethodSymbol currentMethod && currentMethod.IsAsync && !currentMethod.IsImplicitlyDeclared) 408var diagnosticLocation = CurrentSymbol is LambdaSymbol lambda 410: CurrentSymbol.GetFirstLocationOrNone(); 451if (!_requireOutParamsAssigned && ReferenceEquals(topLevelMethod, CurrentSymbol)) 709if (CurrentSymbol is SourceMethodSymbol sourceMethod && 1104if (Binder.AccessingAutoPropertyFromConstructor(propAccess, this.CurrentSymbol)) 1258Debug.Assert(CurrentSymbol is MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }); 1311if (CurrentSymbol is not MethodSymbol { MethodKind: MethodKind.Constructor, ContainingType.TypeKind: TypeKind.Struct }) 1317var thisSlot = GetOrCreateSlot(CurrentSymbol.EnclosingThisSymbol()); 1436if (Binder.AccessingAutoPropertyFromConstructor(propertyAccess, this.CurrentSymbol)) 1805Symbol current = CurrentSymbol; 1809if ((object)current != CurrentSymbol && current is MethodSymbol method) 1879if (parameter.RefKind == RefKind.Out && !(this.CurrentSymbol is MethodSymbol currentMethod && currentMethod.IsAsync)) // out parameters not allowed in async 2370if (localSymbol.IsFixed && this.CurrentSymbol is MethodSymbol currentMethod && 2424var oldSymbol = this.CurrentSymbol; 2724if (Binder.AccessingAutoPropertyFromConstructor(node, this.CurrentSymbol))
FlowAnalysis\DefiniteAssignment.LocalFunctions.cs (2)
95var localFunc = GetNearestLocalFunctionOpt(CurrentSymbol); 152var nearestLocalFunc = GetNearestLocalFunctionOpt(CurrentSymbol);
FlowAnalysis\NullableWalker.cs (8)
1371else if (CurrentSymbol is MethodSymbol { IsAsync: false }) 1383if (CurrentSymbol is MethodSymbol method && 2839if (!(CurrentSymbol is MethodSymbol methodSymbol)) 3002if (CurrentSymbol is MethodSymbol method) 3036var method = CurrentSymbol as MethodSymbol; 3302var oldCurrentSymbol = this.CurrentSymbol; 4537placeholder = new PlaceholderLocal(CurrentSymbol, identifier, type); 12055var method = (MethodSymbol)CurrentSymbol;
FlowAnalysis\ReadWriteWalker.cs (1)
78Symbol current = CurrentSymbol;