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