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);
3655placeholderResult = new VisitResult(GetReturnTypeWithState(patternDisposeMethod), patternDisposeMethod.ReturnTypeWithAnnotations);
3662placeholderResult = new VisitResult(placeholder.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
3757SetAnalyzedNullability(node.DeclaredTypeOpt, new VisitResult(type.ToTypeWithState(), type), true);
3966var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4014result: new VisitResult(
4636var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4661argumentResults = argumentResults.SetItem(0, new VisitResult(containingType, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull));
4787firstArgumentResult = new VisitResult(containingType, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4880SetAnalyzedNullability(node.ImplicitReceiverOpt, new VisitResult(node.ImplicitReceiverOpt.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull));
4917new VisitResult(
4945SetResult(node, new VisitResult(resultType, lvalueType, stateForLambda), updateAnalyzedNullability: true, isLvalue: null);
5045SetAnalyzedNullability(currentDeclaration, new VisitResult(argumentType, property.TypeWithAnnotations));
8413SetAnalyzedNullability(discard, new VisitResult(parameterWithState, parameterWithState.ToTypeWithAnnotations(compilation)), isLvalue: true);
10690SetAnalyzedNullability(sourceToParameterConversion, new VisitResult(operandType, operandType.ToTypeWithAnnotations(compilation)));
10710SetAnalyzedNullability(unionConstructionConversion, new VisitResult(unionTypeWithState, unionTypeWithState.ToTypeWithAnnotations(compilation)));
10768var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11528parameter, parameter.TypeWithAnnotations, GetParameterAnnotations(parameter), new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
11543new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
12547SetAnalyzedNullability(collectionExpression, new VisitResult(convertedResult, convertedResult.ToTypeWithAnnotations(compilation)));
12611var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
12714SetAnalyzedNullability(node.IterationVariableType, new VisitResult(resultForType, destinationType), isLvalue: true);
13522new VisitResult(result, result.ToTypeWithAnnotations(compilation)),
72 references to VisitResult
Microsoft.CodeAnalysis.CSharp (72)
FlowAnalysis\NullableWalker.cs (72)
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)
588private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression? expression, VisitResult result)
595_resultForPlaceholdersOpt ??= PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>.GetInstance();
3652VisitResult placeholderResult;
3942var resultBuilder = ArrayBuilder<VisitResult>.GetInstance(node.Elements.Length);
3966var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4098var addArgumentResult = _visitResult;
4139var itemResult = spread.EnumeratorInfoOpt == null ? default : _visitResult;
4291ImmutableArray<VisitResult> argumentResults = reinferenceResult.Results;
4313ImmutableArray<VisitResult> argumentResults,
4342ImmutableArray<VisitResult> argumentResults,
4382ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> argumentResults,
4476ImmutableArray<VisitResult> argumentResults,
4586ImmutableArray<VisitResult> argumentResults = default;
4593out ImmutableArray<int> argsToParamsOpt, out BitVector defaultArguments, out bool usesExtensionReceiver, out VisitResult? firstArgumentResult);
4623InitializerCompletionAfterTargetType? setAnalyzedNullability(BoundAssignmentOperator node, BoundObjectInitializerMember objectInitializer, Symbol? updatedSymbol, ImmutableArray<VisitResult> argumentResults,
4636var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4649InitializerCompletionAfterTargetType setAnalyzedNullabilityAsContinuation(BoundAssignmentOperator node, ImmutableArray<VisitResult> argumentResults,
4768out BitVector defaultArguments, out bool usesExtensionReceiver, out VisitResult? firstArgumentResult)
4829ImmutableArray<VisitResult> argumentResults = default;
4853VisitResult receiverResult = argumentResults[0];
4865ImmutableArray<VisitResult> argumentResults,
4890ImmutableArray<VisitResult> argumentResults,
4903static MethodSymbol addMethodAsMemberOfContainingType(BoundCollectionElementInitializer node, TypeSymbol containingType, ref ImmutableArray<VisitResult> argumentResults)
4911VisitResult receiverResult = argumentResults[0];
4915var builder = ArrayBuilder<VisitResult>.GetInstance(argumentResults.Length);
6785VisitResult? extensionReceiverResult = null;
6895void reinferMethodAndVisitArguments(BoundCall node, TypeWithState receiverType, VisitResult? firstArgumentResult = null)
6931ImmutableArray<VisitResult> results = reinferenceResult.Results;
6972VisitResult? firstArgumentResult = null)
7103private void LearnFromEqualsMethod(MethodSymbol method, BoundCall node, TypeWithState receiverType, ImmutableArray<VisitResult> results)
7282public readonly ImmutableArray<VisitResult> Results;
7285public CompareExchangeInfo(ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> results, ImmutableArray<int> argsToParamsOpt)
7554private delegate (TMember? member, bool returnNotNull) ArgumentsCompletionDelegate<TMember>(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) where TMember : Symbol;
7559private readonly struct ReinferenceResult<TMember>(TMember? member, ImmutableArray<VisitResult> results,
7564public readonly ImmutableArray<VisitResult> Results = results;
7581VisitResult? firstArgumentResult = null)
7601ImmutableArray<VisitResult> results = VisitArgumentsEvaluate(argumentsNoConversions, refKindsOpt, GetParametersAnnotations(arguments, parametersOpt, argsToParamsOpt, expanded), defaultArguments, firstArgumentResult: firstArgumentResult);
7615ImmutableArray<VisitResult> results,
7674var conversionResultsBuilder = ArrayBuilder<VisitResult>.GetInstance(results.Length);
7787var result = results[i];
7814return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) =>
8078private ImmutableArray<VisitResult> VisitArgumentsEvaluate(
8083VisitResult? firstArgumentResult = null)
8089return ImmutableArray<VisitResult>.Empty;
8092var resultsBuilder = ArrayBuilder<VisitResult>.GetInstance(n);
8141private VisitResult VisitArgumentEvaluate(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8153private VisitResult VisitArgumentEvaluateEpilogue(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8212VisitResult result,
8213ArrayBuilder<VisitResult>? conversionResultsBuilder,
8350VisitResult result,
8859private ImmutableArray<BoundExpression> GetArgumentsForMethodTypeInference(ImmutableArray<VisitResult> argumentResults, ImmutableArray<BoundExpression> arguments)
8870var visitArgumentResult = argumentResults[i];
8875BoundExpression getArgumentForMethodTypeInference(BoundExpression argument, VisitResult visitResult)
9830ArrayBuilder<VisitResult>? previousArgumentConversionResults = null)
10768var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11751ImmutableArray<VisitResult> results = reinferenceResult.Results;
11944ImmutableArray<VisitResult> results = reinferenceResult.Results;
12158VisitResult? firstArgumentResult)
12251var receiverResult = _visitResult;
12611var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
13766var result = value.Result;
13814var getAwaiterResult = _visitResult;