26 instantiations of VisitResult
Microsoft.CodeAnalysis.CSharp (26)
FlowAnalysis\NullableWalker.cs (26)
167return new VisitResult(RValueType, lvalueType, NestedVisitResults);
170return new VisitResult(RValueType, lvalueType, StateForLambda);
362SetResult(expression, new VisitResult(resultType, lvalueType), updateAnalyzedNullability, isLvalue);
382SetAnalyzedNullability(expression, new VisitResult(resultType, lvalueType), isLvalue);
3704placeholderResult = new VisitResult(GetReturnTypeWithState(patternDisposeMethod), patternDisposeMethod.ReturnTypeWithAnnotations);
3711placeholderResult = new VisitResult(placeholder.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
3806SetAnalyzedNullability(node.DeclaredTypeOpt, new VisitResult(type.ToTypeWithState(), type), true);
4015var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4063result: new VisitResult(
4702var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4727argumentResults = argumentResults.SetItem(0, new VisitResult(containingType, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull));
4853firstArgumentResult = new VisitResult(containingType, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4946SetAnalyzedNullability(node.ImplicitReceiverOpt, new VisitResult(node.ImplicitReceiverOpt.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull));
4983new VisitResult(
5011SetResult(node, new VisitResult(resultType, lvalueType, stateForLambda), updateAnalyzedNullability: true, isLvalue: null);
5111SetAnalyzedNullability(currentDeclaration, new VisitResult(argumentType, property.TypeWithAnnotations));
8502SetAnalyzedNullability(discard, new VisitResult(parameterWithState, parameterWithState.ToTypeWithAnnotations(compilation)), isLvalue: true);
10779SetAnalyzedNullability(sourceToParameterConversion, new VisitResult(operandType, operandType.ToTypeWithAnnotations(compilation)));
10799SetAnalyzedNullability(unionConstructionConversion, new VisitResult(unionTypeWithState, unionTypeWithState.ToTypeWithAnnotations(compilation)));
10857var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11624parameter, parameter.TypeWithAnnotations, GetParameterAnnotations(parameter), new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
11639new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
12643SetAnalyzedNullability(collectionExpression, new VisitResult(convertedResult, convertedResult.ToTypeWithAnnotations(compilation)));
12707var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
12810SetAnalyzedNullability(node.IterationVariableType, new VisitResult(resultForType, destinationType), isLvalue: true);
13618new VisitResult(result, result.ToTypeWithAnnotations(compilation)),
83 references to VisitResult
Microsoft.CodeAnalysis.CSharp (83)
FlowAnalysis\NullableWalker.cs (83)
128public readonly VisitResult[]? NestedVisitResults;
156public VisitResult(TypeWithState rValueType, TypeWithAnnotations lValueType, VisitResult[] nestedVisitResults)
162internal VisitResult WithLValueType(TypeWithAnnotations lvalueType)
258private PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt;
272/// The delegate is invoked by <see cref="VisitConversion(BoundConversion, BoundExpression, Conversion, TypeWithAnnotations, TypeWithState, bool, bool, bool, AssignmentKind, ParameterSymbol, bool, bool, bool, bool, Optional<LocalState>,bool, int, Location, ArrayBuilder<VisitResult>)"/>.
303private VisitResult _visitResult;
311private VisitResult _currentConditionalReceiverVisitResult;
336VisitResult visitResult = _visitResult.WithLValueType(ResultType.ToTypeWithAnnotations(compilation));
365private void SetResult(BoundExpression? expression, VisitResult visitResult, bool updateAnalyzedNullability, bool? isLvalue)
388private void SetAnalyzedNullability(BoundExpression? expr, VisitResult result, bool? isLvalue = null)
590private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression? expression, VisitResult result)
597_resultForPlaceholdersOpt ??= PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>.GetInstance();
3701VisitResult placeholderResult;
3991var resultBuilder = ArrayBuilder<VisitResult>.GetInstance(node.Elements.Length);
4015var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4147var addArgumentResult = _visitResult;
4188var itemResult = spread.EnumeratorInfoOpt == null ? default : _visitResult;
4340ImmutableArray<VisitResult> argumentResults = reinferenceResult.Results;
4341ImmutableArray<VisitResult> argumentConversionResultsOpt = reinferenceResult.ConversionResultsOpt;
4347(int slot, NullableFlowState resultState, Func<TypeSymbol, MethodSymbol?, ImmutableArray<VisitResult>, int>? initialStateInferenceCompletion) =
4363ImmutableArray<VisitResult> argumentResults,
4365Func<TypeSymbol, MethodSymbol?, ImmutableArray<VisitResult>, int>? initialStateInferenceCompletion,
4392ImmutableArray<VisitResult> argumentResults,
4394Func<TypeSymbol, MethodSymbol?, ImmutableArray<VisitResult>, int> initialStateInferenceCompletion,
4408(_, ImmutableArray<VisitResult> conversionResults, _) = argumentsCompletion(argumentResults, constructor?.Parameters ?? default, constructor);
4430(int slot, NullableFlowState resultState, Func<TypeSymbol, MethodSymbol?, ImmutableArray<VisitResult>, int>? completion) inferInitialObjectState(
4432ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> argumentResults, ImmutableArray<VisitResult> argumentConversionResultsOpt,
4534Func<TypeSymbol, MethodSymbol?, ImmutableArray<VisitResult>, int> inferInitialObjectStateAsContinuation(
4537ImmutableArray<VisitResult> argumentResults,
4540return (TypeSymbol type, MethodSymbol? constructor, ImmutableArray<VisitResult> argumentConversionResultsOpt) =>
4652ImmutableArray<VisitResult> argumentResults = default;
4659out ImmutableArray<int> argsToParamsOpt, out BitVector defaultArguments, out bool usesExtensionReceiver, out VisitResult? firstArgumentResult);
4689InitializerCompletionAfterTargetType? setAnalyzedNullability(BoundAssignmentOperator node, BoundObjectInitializerMember objectInitializer, Symbol? updatedSymbol, ImmutableArray<VisitResult> argumentResults,
4702var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4715InitializerCompletionAfterTargetType setAnalyzedNullabilityAsContinuation(BoundAssignmentOperator node, ImmutableArray<VisitResult> argumentResults,
4834out BitVector defaultArguments, out bool usesExtensionReceiver, out VisitResult? firstArgumentResult)
4895ImmutableArray<VisitResult> argumentResults = default;
4931ImmutableArray<VisitResult> argumentResults,
4956ImmutableArray<VisitResult> argumentResults,
4969static MethodSymbol addMethodAsMemberOfContainingType(BoundCollectionElementInitializer node, TypeSymbol containingType, ref ImmutableArray<VisitResult> argumentResults)
4977VisitResult receiverResult = argumentResults[0];
4981var builder = ArrayBuilder<VisitResult>.GetInstance(argumentResults.Length);
6867VisitResult? extensionReceiverResult = null;
6977void reinferMethodAndVisitArguments(BoundCall node, TypeWithState receiverType, VisitResult? firstArgumentResult = null)
7013ImmutableArray<VisitResult> results = reinferenceResult.Results;
7054VisitResult? firstArgumentResult = null)
7185private void LearnFromEqualsMethod(MethodSymbol method, BoundCall node, TypeWithState receiverType, ImmutableArray<VisitResult> results)
7364public readonly ImmutableArray<VisitResult> Results;
7367public CompareExchangeInfo(ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> results, ImmutableArray<int> argsToParamsOpt)
7644private delegate (TMember? member, ImmutableArray<VisitResult> conversionResults, bool returnNotNull) ArgumentsCompletionDelegate<TMember>(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) where TMember : Symbol;
7649private readonly struct ReinferenceResult<TMember>(TMember? member, ImmutableArray<VisitResult> results, ImmutableArray<VisitResult> conversionResultsOpt,
7654public readonly ImmutableArray<VisitResult> Results = results;
7655public readonly ImmutableArray<VisitResult> ConversionResultsOpt = conversionResultsOpt;
7672VisitResult? firstArgumentResult = null)
7692ImmutableArray<VisitResult> results = VisitArgumentsEvaluate(argumentsNoConversions, refKindsOpt, GetParametersAnnotations(arguments, parametersOpt, argsToParamsOpt, expanded), defaultArguments, firstArgumentResult: firstArgumentResult);
7706ImmutableArray<VisitResult> results,
7765var conversionResultsBuilder = ArrayBuilder<VisitResult>.GetInstance(results.Length);
7876var result = results[i];
7903return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) =>
8167private ImmutableArray<VisitResult> VisitArgumentsEvaluate(
8172VisitResult? firstArgumentResult = null)
8178return ImmutableArray<VisitResult>.Empty;
8181var resultsBuilder = ArrayBuilder<VisitResult>.GetInstance(n);
8230private VisitResult VisitArgumentEvaluate(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8242private VisitResult VisitArgumentEvaluateEpilogue(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8301VisitResult result,
8302ArrayBuilder<VisitResult>? conversionResultsBuilder,
8439VisitResult result,
8948private ImmutableArray<BoundExpression> GetArgumentsForMethodTypeInference(ImmutableArray<VisitResult> argumentResults, ImmutableArray<BoundExpression> arguments)
8959var visitArgumentResult = argumentResults[i];
8964BoundExpression getArgumentForMethodTypeInference(BoundExpression argument, VisitResult visitResult)
9919ArrayBuilder<VisitResult>? previousArgumentConversionResults = null)
10857var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11847ImmutableArray<VisitResult> results = reinferenceResult.Results;
12040ImmutableArray<VisitResult> results = reinferenceResult.Results;
12254VisitResult? firstArgumentResult)
12347var receiverResult = _visitResult;
12707var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
13870var result = value.Result;
13918var getAwaiterResult = _visitResult;