4 instantiations of NullableWalker
Microsoft.CodeAnalysis.CSharp (4)
FlowAnalysis\NullableWalker.cs (4)
1525var walker = new NullableWalker( 1643var walker = new NullableWalker( 1690var walker = new NullableWalker(compilation, 4301var walker = new NullableWalker(binder.Compilation,
107 references to NullableWalker
Microsoft.CodeAnalysis.CSharp (74)
BoundTree\UnboundLambda.cs (6)
117public TypeWithAnnotations GetInferredReturnType(ConversionsBase? conversions, NullableWalker.VariableState? nullableState, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out bool inferredFromFunctionType) 148NullableWalker.Analyze(compilation, 285bestResultType = NullableWalker.BestTypeForLambdaReturns(returns, binder, node, (Conversions)conversions, out inferredFromFunctionType); 388private readonly NullableWalker.VariableState? _nullableState; 421private UnboundLambda(SyntaxNode syntax, UnboundLambdaState state, FunctionTypeSymbol? functionType, bool withDependencies, NullableWalker.VariableState? nullableState, bool hasErrors) : 427internal UnboundLambda WithNullableState(NullableWalker.VariableState nullableState)
Compilation\AttributeSemanticModel.cs (3)
107out NullableWalker.SnapshotManager? snapshotManager, 110return NullableWalker.AnalyzeAndRewrite(Compilation, symbol: null, boundRoot, binder, initialState: null, diagnostics, createSnapshots, out snapshotManager, ref remappedSymbols); 115NullableWalker.AnalyzeWithoutRewrite(Compilation, symbol: null, boundRoot, binder, diagnostics, createSnapshots);
Compilation\CSharpCompilation.cs (1)
144/// Used for instance for nullable analysis (<see cref="NullableWalker.NullableAnalysisData"/>)
Compilation\InitializerSemanticModel.cs (3)
258out NullableWalker.SnapshotManager snapshotManager, 263return NullableWalker.AnalyzeAndRewrite(Compilation, MemberSymbol, boundRoot, binder, initialState: null, diagnostics, createSnapshots, out snapshotManager, ref remappedSymbols); 268NullableWalker.AnalyzeWithoutRewrite(Compilation, MemberSymbol, boundRoot, binder, diagnostics, createSnapshots);
Compilation\MemberSemanticModel.cs (8)
34private NullableWalker.SnapshotManager _lazySnapshotManager; 145protected virtual NullableWalker.SnapshotManager GetSnapshotManager() 196return (BoundExpression)NullableWalker.AnalyzeAndRewriteSpeculation(position, boundRoot, binder, snapshotManager, newSnapshots: out _, remappedSymbols: ref ignored); 1464protected void UnguardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1472protected void GuardedAddBoundTreeForStandaloneSyntax(SyntaxNode syntax, BoundNode bound, NullableWalker.SnapshotManager manager = null, ImmutableDictionary<Symbol, Symbol> remappedSymbols = null) 1937NullableWalker.SnapshotManager snapshotManager; 1955boundRoot = NullableWalker.AnalyzeAndRewriteSpeculation(_containingPublicSemanticModel.OriginalPositionForSpeculation, boundRoot, binder, parentSnapshotManagerOpt, out var newSnapshots, ref remappedSymbols); 2022out NullableWalker.SnapshotManager? snapshotManager,
Compilation\MemberSemanticModel.SpeculativeMemberSemanticModel.cs (4)
37protected override NullableWalker.SnapshotManager GetSnapshotManager() 48out NullableWalker.SnapshotManager snapshotManager, 52return NullableWalker.AnalyzeAndRewrite(Compilation, MemberSymbol as MethodSymbol, boundRoot, binder, initialState: null, diagnostics, createSnapshots: false, out snapshotManager, ref remappedSymbols); 57NullableWalker.AnalyzeWithoutRewrite(Compilation, MemberSymbol as MethodSymbol, boundRoot, binder, diagnostics, createSnapshots);
Compilation\MethodBodySemanticModel.cs (8)
27internal readonly NullableWalker.SnapshotManager? SnapshotManager; 34NullableWalker.SnapshotManager? snapshotManager = null, 118NullableWalker.SnapshotManager snapshotManagerOpt, 130NullableWalker.SnapshotManager snapshotManagerOpt, 294out NullableWalker.SnapshotManager snapshotManager, 297var afterInitializersState = NullableWalker.GetAfterInitializersState(Compilation, MemberSymbol, boundRoot); 298return NullableWalker.AnalyzeAndRewrite(Compilation, MemberSymbol, boundRoot, binder, afterInitializersState, diagnostics, createSnapshots, out snapshotManager, ref remappedSymbols); 303NullableWalker.AnalyzeWithoutRewrite(Compilation, MemberSymbol, boundRoot, binder, diagnostics, createSnapshots);
Compilation\SpeculativeSemanticModelWithMemberModel.cs (5)
23private readonly NullableWalker.SnapshotManager? _parentSnapshotManagerOpt; 30NullableWalker.SnapshotManager? snapshotManagerOpt) 93NullableWalker.SnapshotManager? snapshotManagerOpt) 106NullableWalker.SnapshotManager? snapshotManagerOpt) 116internal NullableWalker.SnapshotManager? ParentSnapshotManagerOpt => _parentSnapshotManagerOpt;
Compiler\MethodCompiler.cs (9)
620NullableWalker.AnalyzeIfNeeded( 1026NullableWalker.AnalyzeIfNeeded( 1786NullableWalker.VariableState? nullableInitialState = null; 1834NullableWalker.SnapshotManager? snapshotManager = null; 1847methodBodyForSemanticModel = NullableWalker.AnalyzeAndRewrite( 1862NullableWalker.AnalyzeIfNeeded( 1961NullableWalker.AnalyzeIfNeeded( 2002NullableWalker.VariableState? getInitializerState(BoundNode? body) 2006return NullableWalker.GetAfterInitializersState(compilationState.Compilation, method, initializersBody, body, diagnostics);
FlowAnalysis\NullableWalker.cs (16)
27: LocalDataFlowPass<NullableWalker.LocalState, NullableWalker.LocalFunctionState> 37internal readonly ConcurrentDictionary<object, NullableWalker.Data> Data; 42Data = new ConcurrentDictionary<object, NullableWalker.Data>(); 1392NullableWalker.AnalyzeIfNeeded( 1525var walker = new NullableWalker( 1643var walker = new NullableWalker( 1690var walker = new NullableWalker(compilation, 1722NullableWalker walker, 4301var walker = new NullableWalker(binder.Compilation, 7072private readonly NullableWalker _walker; 7074internal MethodInferenceExtensions(NullableWalker walker) 11434public void NormalizeIfNeeded(int slot, NullableWalker walker, Variables variables, bool useNotNullsAsDefault = false) 11463public void Normalize(NullableWalker walker, Variables variables, bool useNotNullsAsDefault = false) 11479public void PopulateAll(NullableWalker walker) 11485private void Populate(NullableWalker walker, int start, bool useNotNullsAsDefault)
FlowAnalysis\NullableWalker_Patterns.cs (1)
321public static PossiblyConditionalState Create(NullableWalker nullableWalker)
Generated\BoundNodes.xml.Generated.cs (2)
11784private readonly NullableWalker.SnapshotManager? _snapshotManager; 11787public NullabilityRewriter(ImmutableDictionary<BoundExpression, (NullabilityInfo Info, TypeSymbol? Type)> updatedNullabilities, NullableWalker.SnapshotManager? snapshotManager, ImmutableDictionary<Symbol, Symbol>.Builder remappedSymbols)
Symbols\NullableFlowState.cs (1)
10/// The nullable state of an rvalue computed in <see cref="NullableWalker"/>.
Symbols\Source\SourceComplexParameterSymbol.cs (3)
257NullableWalker.AnalyzeIfNeeded(binder, parameterEqualsValue, valueSyntax, diagnostics.DiagnosticBag); 319if (attributes is null || !NullableWalker.NeedsAnalysis(DeclaringCompilation, attributes)) 346NullableWalker.AnalyzeIfNeeded(binder, parameterEqualsValue, parameterSyntax, diagnostics.DiagnosticBag);
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (3)
1278if (!NullableWalker.AreParameterAnnotationsCompatible( 1310else if (!NullableWalker.AreParameterAnnotationsCompatible( 1333if (notNullIfParameterNotNull.Contains(overrideParam.Name) && NullableWalker.GetParameterState(baseParam.TypeWithAnnotations, baseParam.FlowAnalysisAnnotations).IsNotNull)
Symbols\Symbol_Attributes.cs (1)
413NullableWalker.AnalyzeIfNeeded(binders[i], boundAttribute, boundAttribute.Syntax, diagnostics.DiagnosticBag);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (33)
Semantics\NullableContextTests.cs (28)
197comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 246comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 305comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 347comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 386comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 421comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 561comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 724comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 984comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1065comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1149comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1208comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1299comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1356comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1451comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1485comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1515comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1586comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1738comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1768comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1837comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1875comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1924comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 1966comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 2006comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 2045comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(); 2237return ((NullableWalker.NullableAnalysisData)compilationData).Data. 2247return ((NullableWalker.NullableAnalysisData)compilationData).Data.
Semantics\OverloadResolutionPerfTests.cs (5)
430var nullableAnalysisData = new NullableWalker.NullableAnalysisData(); 460var nullableAnalysisData = new NullableWalker.NullableAnalysisData(); 490var nullableAnalysisData = new NullableWalker.NullableAnalysisData(); 614comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(maxRecursionDepth: nestingLevel / 2); 650comp.TestOnlyCompilationData = new NullableWalker.NullableAnalysisData(maxRecursionDepth: nestingLevel / 2);