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);
3669placeholderResult = new VisitResult(GetReturnTypeWithState(patternDisposeMethod), patternDisposeMethod.ReturnTypeWithAnnotations);
3676placeholderResult = new VisitResult(placeholder.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
3771SetAnalyzedNullability(node.DeclaredTypeOpt, new VisitResult(type.ToTypeWithState(), type), true);
3980var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4028result: new VisitResult(
4650var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4675argumentResults = argumentResults.SetItem(0, new VisitResult(containingType, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull));
4801firstArgumentResult = new VisitResult(containingType, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4894SetAnalyzedNullability(node.ImplicitReceiverOpt, new VisitResult(node.ImplicitReceiverOpt.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull));
4931new VisitResult(
4959SetResult(node, new VisitResult(resultType, lvalueType, stateForLambda), updateAnalyzedNullability: true, isLvalue: null);
5059SetAnalyzedNullability(currentDeclaration, new VisitResult(argumentType, property.TypeWithAnnotations));
8427SetAnalyzedNullability(discard, new VisitResult(parameterWithState, parameterWithState.ToTypeWithAnnotations(compilation)), isLvalue: true);
10700SetAnalyzedNullability(sourceToParameterConversion, new VisitResult(operandType, operandType.ToTypeWithAnnotations(compilation)));
10720SetAnalyzedNullability(unionConstructionConversion, new VisitResult(unionTypeWithState, unionTypeWithState.ToTypeWithAnnotations(compilation)));
10778var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11538parameter, parameter.TypeWithAnnotations, GetParameterAnnotations(parameter), new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
11553new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
12548SetAnalyzedNullability(collectionExpression, new VisitResult(convertedResult, convertedResult.ToTypeWithAnnotations(compilation)));
12612var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
12715SetAnalyzedNullability(node.IterationVariableType, new VisitResult(resultForType, destinationType), isLvalue: true);
13523new 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();
3666VisitResult placeholderResult;
3956var resultBuilder = ArrayBuilder<VisitResult>.GetInstance(node.Elements.Length);
3980var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4112var addArgumentResult = _visitResult;
4153var itemResult = spread.EnumeratorInfoOpt == null ? default : _visitResult;
4305ImmutableArray<VisitResult> argumentResults = reinferenceResult.Results;
4327ImmutableArray<VisitResult> argumentResults,
4356ImmutableArray<VisitResult> argumentResults,
4396ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> argumentResults,
4490ImmutableArray<VisitResult> argumentResults,
4600ImmutableArray<VisitResult> argumentResults = default;
4607out ImmutableArray<int> argsToParamsOpt, out BitVector defaultArguments, out bool usesExtensionReceiver, out VisitResult? firstArgumentResult);
4637InitializerCompletionAfterTargetType? setAnalyzedNullability(BoundAssignmentOperator node, BoundObjectInitializerMember objectInitializer, Symbol? updatedSymbol, ImmutableArray<VisitResult> argumentResults,
4650var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4663InitializerCompletionAfterTargetType setAnalyzedNullabilityAsContinuation(BoundAssignmentOperator node, ImmutableArray<VisitResult> argumentResults,
4782out BitVector defaultArguments, out bool usesExtensionReceiver, out VisitResult? firstArgumentResult)
4843ImmutableArray<VisitResult> argumentResults = default;
4867VisitResult receiverResult = argumentResults[0];
4879ImmutableArray<VisitResult> argumentResults,
4904ImmutableArray<VisitResult> argumentResults,
4917static MethodSymbol addMethodAsMemberOfContainingType(BoundCollectionElementInitializer node, TypeSymbol containingType, ref ImmutableArray<VisitResult> argumentResults)
4925VisitResult receiverResult = argumentResults[0];
4929var builder = ArrayBuilder<VisitResult>.GetInstance(argumentResults.Length);
6799VisitResult? extensionReceiverResult = null;
6909void reinferMethodAndVisitArguments(BoundCall node, TypeWithState receiverType, VisitResult? firstArgumentResult = null)
6945ImmutableArray<VisitResult> results = reinferenceResult.Results;
6986VisitResult? firstArgumentResult = null)
7117private void LearnFromEqualsMethod(MethodSymbol method, BoundCall node, TypeWithState receiverType, ImmutableArray<VisitResult> results)
7296public readonly ImmutableArray<VisitResult> Results;
7299public CompareExchangeInfo(ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> results, ImmutableArray<int> argsToParamsOpt)
7568private delegate (TMember? member, bool returnNotNull) ArgumentsCompletionDelegate<TMember>(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) where TMember : Symbol;
7573private readonly struct ReinferenceResult<TMember>(TMember? member, ImmutableArray<VisitResult> results,
7578public readonly ImmutableArray<VisitResult> Results = results;
7595VisitResult? firstArgumentResult = null)
7615ImmutableArray<VisitResult> results = VisitArgumentsEvaluate(argumentsNoConversions, refKindsOpt, GetParametersAnnotations(arguments, parametersOpt, argsToParamsOpt, expanded), defaultArguments, firstArgumentResult: firstArgumentResult);
7629ImmutableArray<VisitResult> results,
7688var conversionResultsBuilder = ArrayBuilder<VisitResult>.GetInstance(results.Length);
7801var result = results[i];
7828return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) =>
8092private ImmutableArray<VisitResult> VisitArgumentsEvaluate(
8097VisitResult? firstArgumentResult = null)
8103return ImmutableArray<VisitResult>.Empty;
8106var resultsBuilder = ArrayBuilder<VisitResult>.GetInstance(n);
8155private VisitResult VisitArgumentEvaluate(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8167private VisitResult VisitArgumentEvaluateEpilogue(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8226VisitResult result,
8227ArrayBuilder<VisitResult>? conversionResultsBuilder,
8364VisitResult result,
8873private ImmutableArray<BoundExpression> GetArgumentsForMethodTypeInference(ImmutableArray<VisitResult> argumentResults, ImmutableArray<BoundExpression> arguments)
8884var visitArgumentResult = argumentResults[i];
8889BoundExpression getArgumentForMethodTypeInference(BoundExpression argument, VisitResult visitResult)
9844ArrayBuilder<VisitResult>? previousArgumentConversionResults = null)
10778var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11761ImmutableArray<VisitResult> results = reinferenceResult.Results;
11954ImmutableArray<VisitResult> results = reinferenceResult.Results;
12168VisitResult? firstArgumentResult)
12261var receiverResult = _visitResult;
12612var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
13767var result = value.Result;
13815var getAwaiterResult = _visitResult;