4 types derived from SourceLocalSymbol
Microsoft.CodeAnalysis.CSharp (4)
Symbols\Source\SourceLocalSymbol.cs (4)
610private sealed class LocalWithInitializer : SourceLocalSymbol 717private sealed class ForEachLocalSymbol : SourceLocalSymbol 750private sealed class DeconstructionLocalSymbol : SourceLocalSymbol 797private sealed class LocalSymbolWithEnclosingContext : SourceLocalSymbol
3 instantiations of SourceLocalSymbol
Microsoft.CodeAnalysis.CSharp (3)
Symbols\Source\SourceLocalSymbol.cs (3)
180: new SourceLocalSymbol(containingSymbol, scopeBinder, allowRefKind: false, allowScoped: true, closestTypeSyntax, identifierToken, kind); 212: new SourceLocalSymbol(containingSymbol, scopeBinder, allowRefKind: false, allowScoped: true, typeSyntax, identifierToken, kind); 248: new SourceLocalSymbol(containingSymbol, scopeBinder, allowRefKind: allowRefKind, allowScoped: allowScoped, typeSyntax, identifierToken, declarationKind);
82 references to SourceLocalSymbol
Microsoft.CodeAnalysis.CSharp (63)
Binder\Binder.ValueChecks.cs (5)
3096private bool ShouldInferDeclarationExpressionValEscape(BoundExpression argument, [NotNullWhen(true)] out SourceLocalSymbol? localSymbol) 3104if (symbol is SourceLocalSymbol local && 3115Debug.Assert(symbol is null or SourceLocalSymbol or GlobalExpressionVariable); 3204if (ShouldInferDeclarationExpressionValEscape(argument, out var localSymbol)) 3285if (ShouldInferDeclarationExpressionValEscape(argument, out var localSymbol))
Binder\Binder_Deconstruct.cs (1)
871SourceLocalSymbol localSymbol = LookupLocal(designation.Identifier);
Binder\Binder_Expressions.cs (1)
3226SourceLocalSymbol localSymbol = this.LookupLocal(designation.Identifier);
Binder\Binder_Patterns.cs (1)
891SourceLocalSymbol localSymbol = this.LookupLocal(identifier);
Binder\Binder_Statements.cs (5)
980SourceLocalSymbol localSymbol, 1201private SourceLocalSymbol LocateDeclaredVariableSymbol(VariableDeclaratorSyntax declarator, TypeSyntax typeSyntax, LocalDeclarationKind outerKind, BindingDiagnosticBag diagnostics) 1205SourceLocalSymbol localSymbol = this.LookupLocal(identifier); 1213localSymbol = SourceLocalSymbol.MakeLocal( 1892protected virtual SourceLocalSymbol LookupLocal(SyntaxToken nameToken)
Binder\BuckStopsHereBinder.cs (1)
53protected override SourceLocalSymbol? LookupLocal(SyntaxToken nameToken)
Binder\CatchClauseBinder.cs (1)
34locals.Add(SourceLocalSymbol.MakeLocal(this.ContainingMemberOrLambda, this, allowRefKind: false, allowScoped: false, declarationOpt.Type, declarationOpt.Identifier, LocalDeclarationKind.CatchVariable, initializer: null));
Binder\ExpressionVariableFinder.cs (3)
615return SourceLocalSymbol.MakeLocalSymbolWithEnclosingContext( 637return SourceLocalSymbol.MakeLocalSymbolWithEnclosingContext( 663return SourceLocalSymbol.MakeDeconstructionLocal(
Binder\ForEachLoopBinder.cs (7)
29private SourceLocalSymbol IterationVariable 33return (_syntax.Kind() == SyntaxKind.ForEachStatement) ? (SourceLocalSymbol)this.Locals[0] : null; 88var iterationVariable = SourceLocalSymbol.MakeForeachLocal( 150SourceLocalSymbol localSymbol = SourceLocalSymbol.MakeDeconstructionLocal( 321SourceLocalSymbol local = this.IterationVariable;
Binder\ForLoopBinder.cs (1)
48var localSymbol = MakeLocal(_syntax.Declaration, vdecl, LocalDeclarationKind.RegularVariable, allowScoped: true);
Binder\InContainerBinder.cs (1)
146protected override SourceLocalSymbol LookupLocal(SyntaxToken nameToken)
Binder\InMethodBinder.cs (1)
60protected override SourceLocalSymbol LookupLocal(SyntaxToken nameToken)
Binder\LocalScopeBinder.cs (6)
216var localSymbol = MakeLocal(decl.Declaration, vdecl, kind, allowScoped: true, localDeclarationBinder); 331protected SourceLocalSymbol MakeLocal(VariableDeclarationSyntax declaration, VariableDeclaratorSyntax declarator, LocalDeclarationKind kind, bool allowScoped, Binder initializerBinderOpt = null) 333return SourceLocalSymbol.MakeLocal( 381protected override SourceLocalSymbol LookupLocal(SyntaxToken nameToken) 386if (result.IdentifierToken == nameToken) return (SourceLocalSymbol)result; 393return (SourceLocalSymbol)local;
Binder\RefSafetyAnalysis.cs (2)
545var localSymbol = (SourceLocalSymbol)node.LocalSymbol;
Binder\WithExternAliasesBinder.cs (1)
62protected sealed override SourceLocalSymbol? LookupLocal(SyntaxToken nameToken)
Binder\WithUsingNamespacesAndTypesBinder.cs (1)
264protected override SourceLocalSymbol? LookupLocal(SyntaxToken nameToken)
BoundTree\NullabilityRewriter.cs (2)
218case SourceLocalSymbol local: 263Symbol remapLocal(SourceLocalSymbol local)
BoundTree\VariablePendingInference.cs (2)
51var localSymbol = (SourceLocalSymbol)this.VariableSymbol;
Compilation\CSharpSemanticModel.cs (2)
3283return (local is SourceLocalSymbol { DeclarationKind: LocalDeclarationKind.ForEachIterationVariable } sourceLocal 3295internal abstract LocalSymbol GetAdjustedLocalSymbol(SourceLocalSymbol originalSymbol);
Compilation\MemberSemanticModel.cs (2)
701return GetAdjustedLocalSymbol((SourceLocalSymbol)local); 710internal override LocalSymbol GetAdjustedLocalSymbol(SourceLocalSymbol local)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
340internal override LocalSymbol GetAdjustedLocalSymbol(SourceLocalSymbol local)
Compilation\SyntaxTreeSemanticModel.cs (1)
1891internal override LocalSymbol GetAdjustedLocalSymbol(SourceLocalSymbol originalSymbol)
FlowAnalysis\NullableWalker.cs (1)
11957else if (iterationVariable is SourceLocalSymbol { IsVar: true })
FlowAnalysis\NullableWalker.SnapshotManager.cs (1)
60internal TypeWithAnnotations? GetUpdatedTypeForLocalSymbol(SourceLocalSymbol symbol)
FlowAnalysis\NullableWalker_Patterns.cs (1)
683if (variableAccess is BoundLocal { LocalSymbol: SourceLocalSymbol local } boundLocal)
Symbols\Source\SourceLocalSymbol.cs (6)
47public readonly SourceLocalSymbol Local; 49public LocalTypeInferenceInProgressKey(SourceLocalSymbol local, SyntaxNode reference) 139public static SourceLocalSymbol MakeForeachLocal( 166public static SourceLocalSymbol MakeDeconstructionLocal( 234public static SourceLocalSymbol MakeLocal( 597return obj is SourceLocalSymbol symbol
Symbols\UpdatedContainingSymbolLocal.cs (6)
18internal static UpdatedContainingSymbolAndNullableAnnotationLocal CreateForTest(SourceLocalSymbol underlyingLocal, Symbol updatedContainingSymbol, TypeWithAnnotations updatedType) 23private UpdatedContainingSymbolAndNullableAnnotationLocal(SourceLocalSymbol underlyingLocal, Symbol updatedContainingSymbol, TypeWithAnnotations updatedType, bool assertContaining) 34internal UpdatedContainingSymbolAndNullableAnnotationLocal(SourceLocalSymbol underlyingLocal, Symbol updatedContainingSymbol, TypeWithAnnotations updatedType) 39private readonly SourceLocalSymbol _underlyingLocal; 55SourceLocalSymbol? otherSource = otherLocal switch 58SourceLocalSymbol source => source,
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (5)
CodeGen\CodeGenDeconstructTests.cs (2)
3586var local = symbol.GetSymbol<SourceLocalSymbol>();
CodeGen\CodeGenTupleTest.cs (1)
1616var xSymbol = model.GetDeclaredSymbol(x).GetSymbol<SourceLocalSymbol>().Type;
CodeGen\ForeachTest.cs (2)
1688var local = (SourceLocalSymbol)model.GetDeclaredSymbol(decl).GetSymbol<LocalSymbol>();
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (2)
Semantics\OutVarTests.cs (2)
1174var local = symbol.GetSymbol<SourceLocalSymbol>();
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (8)
Semantics\InteractiveSemanticModelTests.cs (1)
129Assert.IsAssignableFrom<SourceLocalSymbol>(symbol.GetSymbol());
Semantics\RefFieldTests.cs (7)
13509foreach (SourceLocalSymbol local in locals) 13573foreach (SourceLocalSymbol local in locals) 13647var locals = decls.Select(d => model.GetDeclaredSymbol(d).GetSymbol<SourceLocalSymbol>()).ToArray(); 13720foreach (SourceLocalSymbol local in locals) 15202foreach (SourceLocalSymbol local in locals) 28012foreach (SourceLocalSymbol local in locals) 28072foreach (SourceLocalSymbol local in locals)
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (4)
Symbols\Source\UpdatedContainingSymbolAndNullableAnntotationTests.cs (4)
38var local1 = model.GetDeclaredSymbol(varDeclarators.First()).GetSymbol<SourceLocalSymbol>(); 39var local2 = model.GetDeclaredSymbol(varDeclarators.ElementAt(1)).GetSymbol<SourceLocalSymbol>();