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);
3624placeholderResult = new VisitResult(GetReturnTypeWithState(patternDisposeMethod), patternDisposeMethod.ReturnTypeWithAnnotations);
3631placeholderResult = new VisitResult(placeholder.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
3726SetAnalyzedNullability(node.DeclaredTypeOpt, new VisitResult(type.ToTypeWithState(), type), true);
3935var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
3982result: new VisitResult(
4629var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4856SetAnalyzedNullability(node.ImplicitReceiverOpt, new VisitResult(node.ImplicitReceiverOpt.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull));
4893new VisitResult(
4921SetResult(node, new VisitResult(resultType, lvalueType, stateForLambda), updateAnalyzedNullability: true, isLvalue: null);
5021SetAnalyzedNullability(currentDeclaration, new VisitResult(argumentType, property.TypeWithAnnotations));
8357SetAnalyzedNullability(discard, new VisitResult(parameterWithState, parameterWithState.ToTypeWithAnnotations(compilation)), isLvalue: true);
10632SetAnalyzedNullability(sourceToParameterConversion, new VisitResult(operandType, operandType.ToTypeWithAnnotations(compilation)));
10641SetAnalyzedNullability(unionConstructionConversion, new VisitResult(unionTypeWithState, unionTypeWithState.ToTypeWithAnnotations(compilation)));
10699var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11460parameter, parameter.TypeWithAnnotations, GetParameterAnnotations(parameter), new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
11474new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
12425SetAnalyzedNullability(collectionExpression, new VisitResult(convertedResult, convertedResult.ToTypeWithAnnotations(compilation)));
12489var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
12592SetAnalyzedNullability(node.IterationVariableType, new VisitResult(resultForType, destinationType), isLvalue: true);
13407new 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)
571private void AddPlaceholderReplacement(BoundValuePlaceholderBase placeholder, BoundExpression? expression, VisitResult result)
578_resultForPlaceholdersOpt ??= PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>.GetInstance();
3621VisitResult placeholderResult;
3911var resultBuilder = ArrayBuilder<VisitResult>.GetInstance(node.Elements.Length);
3935var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4065var addArgumentResult = _visitResult;
4106var itemResult = spread.EnumeratorInfoOpt == null ? default : _visitResult;
4258ImmutableArray<VisitResult> argumentResults = reinferenceResult.Results;
4280ImmutableArray<VisitResult> argumentResults,
4309ImmutableArray<VisitResult> argumentResults,
4349ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> argumentResults,
4442ImmutableArray<VisitResult> argumentResults,
4556ImmutableArray<VisitResult> argumentResults = default;
4615ImmutableArray<VisitResult> argumentResults,
4629var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4637ImmutableArray<VisitResult> argumentResults,
4806ImmutableArray<VisitResult> argumentResults = default;
4829VisitResult receiverResult = argumentResults[0];
4841ImmutableArray<VisitResult> argumentResults,
4866ImmutableArray<VisitResult> argumentResults,
4879static MethodSymbol addMethodAsMemberOfContainingType(BoundCollectionElementInitializer node, TypeSymbol containingType, ref ImmutableArray<VisitResult> argumentResults)
4887VisitResult receiverResult = argumentResults[0];
4891var builder = ArrayBuilder<VisitResult>.GetInstance(argumentResults.Length);
6761VisitResult? extensionReceiverResult = null;
6871void reinferMethodAndVisitArguments(BoundCall node, TypeWithState receiverType, VisitResult? firstArgumentResult = null)
6907ImmutableArray<VisitResult> results = reinferenceResult.Results;
6948VisitResult? firstArgumentResult = null)
7058private void LearnFromEqualsMethod(MethodSymbol method, BoundCall node, TypeWithState receiverType, ImmutableArray<VisitResult> results)
7237public readonly ImmutableArray<VisitResult> Results;
7240public CompareExchangeInfo(ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> results, ImmutableArray<int> argsToParamsOpt)
7499private delegate (TMember? member, bool returnNotNull) ArgumentsCompletionDelegate<TMember>(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) where TMember : Symbol;
7504private readonly struct ReinferenceResult<TMember>(TMember? member, ImmutableArray<VisitResult> results,
7509public readonly ImmutableArray<VisitResult> Results = results;
7525VisitResult? firstArgumentResult = null)
7545ImmutableArray<VisitResult> results = VisitArgumentsEvaluate(argumentsNoConversions, refKindsOpt, GetParametersAnnotations(arguments, parametersOpt, argsToParamsOpt, expanded), defaultArguments, firstArgumentResult: firstArgumentResult);
7557ImmutableArray<VisitResult> results,
7615var conversionResultsBuilder = ArrayBuilder<VisitResult>.GetInstance(results.Length);
7727var result = results[i];
7753return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) =>
8023private ImmutableArray<VisitResult> VisitArgumentsEvaluate(
8028VisitResult? firstArgumentResult = null)
8034return ImmutableArray<VisitResult>.Empty;
8037var resultsBuilder = ArrayBuilder<VisitResult>.GetInstance(n);
8086private VisitResult VisitArgumentEvaluate(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8098private VisitResult VisitArgumentEvaluateEpilogue(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8157VisitResult result,
8158ArrayBuilder<VisitResult>? conversionResultsBuilder,
8294VisitResult result,
8809private ImmutableArray<BoundExpression> GetArgumentsForMethodTypeInference(ImmutableArray<VisitResult> argumentResults, ImmutableArray<BoundExpression> arguments)
8820var visitArgumentResult = argumentResults[i];
8825BoundExpression getArgumentForMethodTypeInference(BoundExpression argument, VisitResult visitResult)
9781ArrayBuilder<VisitResult>? previousArgumentConversionResults = null)
10699var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11682ImmutableArray<VisitResult> results = reinferenceResult.Results;
11871ImmutableArray<VisitResult> results = reinferenceResult.Results;
12138var receiverResult = _visitResult;
12489var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
13651var result = value.Result;
13699var getAwaiterResult = _visitResult;