24 instantiations of VisitResult
Microsoft.CodeAnalysis.CSharp (24)
FlowAnalysis\NullableWalker.cs (24)
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);
3660placeholderResult = new VisitResult(GetReturnTypeWithState(patternDisposeMethod), patternDisposeMethod.ReturnTypeWithAnnotations);
3667placeholderResult = new VisitResult(placeholder.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
3762SetAnalyzedNullability(node.DeclaredTypeOpt, new VisitResult(type.ToTypeWithState(), type), true);
3971var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4019result: new VisitResult(
4668var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4896SetAnalyzedNullability(node.ImplicitReceiverOpt, new VisitResult(node.ImplicitReceiverOpt.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull));
4933new VisitResult(
4961SetResult(node, new VisitResult(resultType, lvalueType, stateForLambda), updateAnalyzedNullability: true, isLvalue: null);
5061SetAnalyzedNullability(currentDeclaration, new VisitResult(argumentType, property.TypeWithAnnotations));
8400SetAnalyzedNullability(discard, new VisitResult(parameterWithState, parameterWithState.ToTypeWithAnnotations(compilation)), isLvalue: true);
10671SetAnalyzedNullability(sourceToParameterConversion, new VisitResult(operandType, operandType.ToTypeWithAnnotations(compilation)));
10691SetAnalyzedNullability(unionConstructionConversion, new VisitResult(unionTypeWithState, unionTypeWithState.ToTypeWithAnnotations(compilation)));
10749var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11510parameter, parameter.TypeWithAnnotations, GetParameterAnnotations(parameter), new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
11525new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
12480SetAnalyzedNullability(collectionExpression, new VisitResult(convertedResult, convertedResult.ToTypeWithAnnotations(compilation)));
12544var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
12647SetAnalyzedNullability(node.IterationVariableType, new VisitResult(resultForType, destinationType), isLvalue: true);
13455new VisitResult(result, result.ToTypeWithAnnotations(compilation)),
69 references to VisitResult
Microsoft.CodeAnalysis.CSharp (69)
FlowAnalysis\NullableWalker.cs (69)
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();
3657VisitResult placeholderResult;
3947var resultBuilder = ArrayBuilder<VisitResult>.GetInstance(node.Elements.Length);
3971var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4103var addArgumentResult = _visitResult;
4144var itemResult = spread.EnumeratorInfoOpt == null ? default : _visitResult;
4296ImmutableArray<VisitResult> argumentResults = reinferenceResult.Results;
4318ImmutableArray<VisitResult> argumentResults,
4347ImmutableArray<VisitResult> argumentResults,
4387ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> argumentResults,
4481ImmutableArray<VisitResult> argumentResults,
4595ImmutableArray<VisitResult> argumentResults = default;
4654ImmutableArray<VisitResult> argumentResults,
4668var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4676ImmutableArray<VisitResult> argumentResults,
4845ImmutableArray<VisitResult> argumentResults = default;
4869VisitResult receiverResult = argumentResults[0];
4881ImmutableArray<VisitResult> argumentResults,
4906ImmutableArray<VisitResult> argumentResults,
4919static MethodSymbol addMethodAsMemberOfContainingType(BoundCollectionElementInitializer node, TypeSymbol containingType, ref ImmutableArray<VisitResult> argumentResults)
4927VisitResult receiverResult = argumentResults[0];
4931var builder = ArrayBuilder<VisitResult>.GetInstance(argumentResults.Length);
6801VisitResult? extensionReceiverResult = null;
6911void reinferMethodAndVisitArguments(BoundCall node, TypeWithState receiverType, VisitResult? firstArgumentResult = null)
6947ImmutableArray<VisitResult> results = reinferenceResult.Results;
6988VisitResult? firstArgumentResult = null)
7098private void LearnFromEqualsMethod(MethodSymbol method, BoundCall node, TypeWithState receiverType, ImmutableArray<VisitResult> results)
7277public readonly ImmutableArray<VisitResult> Results;
7280public CompareExchangeInfo(ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> results, ImmutableArray<int> argsToParamsOpt)
7541private delegate (TMember? member, bool returnNotNull) ArgumentsCompletionDelegate<TMember>(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) where TMember : Symbol;
7546private readonly struct ReinferenceResult<TMember>(TMember? member, ImmutableArray<VisitResult> results,
7551public readonly ImmutableArray<VisitResult> Results = results;
7568VisitResult? firstArgumentResult = null)
7588ImmutableArray<VisitResult> results = VisitArgumentsEvaluate(argumentsNoConversions, refKindsOpt, GetParametersAnnotations(arguments, parametersOpt, argsToParamsOpt, expanded), defaultArguments, firstArgumentResult: firstArgumentResult);
7602ImmutableArray<VisitResult> results,
7661var conversionResultsBuilder = ArrayBuilder<VisitResult>.GetInstance(results.Length);
7774var result = results[i];
7801return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) =>
8065private ImmutableArray<VisitResult> VisitArgumentsEvaluate(
8070VisitResult? firstArgumentResult = null)
8076return ImmutableArray<VisitResult>.Empty;
8079var resultsBuilder = ArrayBuilder<VisitResult>.GetInstance(n);
8128private VisitResult VisitArgumentEvaluate(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8140private VisitResult VisitArgumentEvaluateEpilogue(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8199VisitResult result,
8200ArrayBuilder<VisitResult>? conversionResultsBuilder,
8337VisitResult result,
8846private ImmutableArray<BoundExpression> GetArgumentsForMethodTypeInference(ImmutableArray<VisitResult> argumentResults, ImmutableArray<BoundExpression> arguments)
8857var visitArgumentResult = argumentResults[i];
8862BoundExpression getArgumentForMethodTypeInference(BoundExpression argument, VisitResult visitResult)
9817ArrayBuilder<VisitResult>? previousArgumentConversionResults = null)
10749var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11733ImmutableArray<VisitResult> results = reinferenceResult.Results;
11926ImmutableArray<VisitResult> results = reinferenceResult.Results;
12193var receiverResult = _visitResult;
12544var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
13699var result = value.Result;
13747var getAwaiterResult = _visitResult;