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);
3711placeholderResult = new VisitResult(GetReturnTypeWithState(patternDisposeMethod), patternDisposeMethod.ReturnTypeWithAnnotations);
3718placeholderResult = new VisitResult(placeholder.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
3813SetAnalyzedNullability(node.DeclaredTypeOpt, new VisitResult(type.ToTypeWithState(), type), true);
4022var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4070result: new VisitResult(
4692var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4717argumentResults = argumentResults.SetItem(0, new VisitResult(containingType, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull));
4843firstArgumentResult = new VisitResult(containingType, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4936SetAnalyzedNullability(node.ImplicitReceiverOpt, new VisitResult(node.ImplicitReceiverOpt.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull));
4973new VisitResult(
5001SetResult(node, new VisitResult(resultType, lvalueType, stateForLambda), updateAnalyzedNullability: true, isLvalue: null);
5101SetAnalyzedNullability(currentDeclaration, new VisitResult(argumentType, property.TypeWithAnnotations));
8485SetAnalyzedNullability(discard, new VisitResult(parameterWithState, parameterWithState.ToTypeWithAnnotations(compilation)), isLvalue: true);
10762SetAnalyzedNullability(sourceToParameterConversion, new VisitResult(operandType, operandType.ToTypeWithAnnotations(compilation)));
10782SetAnalyzedNullability(unionConstructionConversion, new VisitResult(unionTypeWithState, unionTypeWithState.ToTypeWithAnnotations(compilation)));
10840var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11607parameter, parameter.TypeWithAnnotations, GetParameterAnnotations(parameter), new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
11622new VisitResult(variable.Type.ToTypeWithState(), variable.Type),
12626SetAnalyzedNullability(collectionExpression, new VisitResult(convertedResult, convertedResult.ToTypeWithAnnotations(compilation)));
12690var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
12793SetAnalyzedNullability(node.IterationVariableType, new VisitResult(resultForType, destinationType), isLvalue: true);
13601new VisitResult(result, result.ToTypeWithAnnotations(compilation)),
71 references to VisitResult
Microsoft.CodeAnalysis.CSharp (71)
FlowAnalysis\NullableWalker.cs (71)
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();
3708VisitResult placeholderResult;
3998var resultBuilder = ArrayBuilder<VisitResult>.GetInstance(node.Elements.Length);
4022var visitResult = new VisitResult(TypeWithState.Create(resultType), resultType,
4154var addArgumentResult = _visitResult;
4195var itemResult = spread.EnumeratorInfoOpt == null ? default : _visitResult;
4347ImmutableArray<VisitResult> argumentResults = reinferenceResult.Results;
4369ImmutableArray<VisitResult> argumentResults,
4398ImmutableArray<VisitResult> argumentResults,
4438ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> argumentResults,
4532ImmutableArray<VisitResult> argumentResults,
4642ImmutableArray<VisitResult> argumentResults = default;
4649out ImmutableArray<int> argsToParamsOpt, out BitVector defaultArguments, out bool usesExtensionReceiver, out VisitResult? firstArgumentResult);
4679InitializerCompletionAfterTargetType? setAnalyzedNullability(BoundAssignmentOperator node, BoundObjectInitializerMember objectInitializer, Symbol? updatedSymbol, ImmutableArray<VisitResult> argumentResults,
4692var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull);
4705InitializerCompletionAfterTargetType setAnalyzedNullabilityAsContinuation(BoundAssignmentOperator node, ImmutableArray<VisitResult> argumentResults,
4824out BitVector defaultArguments, out bool usesExtensionReceiver, out VisitResult? firstArgumentResult)
4885ImmutableArray<VisitResult> argumentResults = default;
4921ImmutableArray<VisitResult> argumentResults,
4946ImmutableArray<VisitResult> argumentResults,
4959static MethodSymbol addMethodAsMemberOfContainingType(BoundCollectionElementInitializer node, TypeSymbol containingType, ref ImmutableArray<VisitResult> argumentResults)
4967VisitResult receiverResult = argumentResults[0];
4971var builder = ArrayBuilder<VisitResult>.GetInstance(argumentResults.Length);
6857VisitResult? extensionReceiverResult = null;
6967void reinferMethodAndVisitArguments(BoundCall node, TypeWithState receiverType, VisitResult? firstArgumentResult = null)
7003ImmutableArray<VisitResult> results = reinferenceResult.Results;
7044VisitResult? firstArgumentResult = null)
7175private void LearnFromEqualsMethod(MethodSymbol method, BoundCall node, TypeWithState receiverType, ImmutableArray<VisitResult> results)
7354public readonly ImmutableArray<VisitResult> Results;
7357public CompareExchangeInfo(ImmutableArray<BoundExpression> arguments, ImmutableArray<VisitResult> results, ImmutableArray<int> argsToParamsOpt)
7626private delegate (TMember? member, bool returnNotNull) ArgumentsCompletionDelegate<TMember>(ImmutableArray<VisitResult> argumentResults, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) where TMember : Symbol;
7631private readonly struct ReinferenceResult<TMember>(TMember? member, ImmutableArray<VisitResult> results,
7636public readonly ImmutableArray<VisitResult> Results = results;
7653VisitResult? firstArgumentResult = null)
7673ImmutableArray<VisitResult> results = VisitArgumentsEvaluate(argumentsNoConversions, refKindsOpt, GetParametersAnnotations(arguments, parametersOpt, argsToParamsOpt, expanded), defaultArguments, firstArgumentResult: firstArgumentResult);
7687ImmutableArray<VisitResult> results,
7746var conversionResultsBuilder = ArrayBuilder<VisitResult>.GetInstance(results.Length);
7859var result = results[i];
7886return (ImmutableArray<VisitResult> results, ImmutableArray<ParameterSymbol> parametersOpt, TMember? member) =>
8150private ImmutableArray<VisitResult> VisitArgumentsEvaluate(
8155VisitResult? firstArgumentResult = null)
8161return ImmutableArray<VisitResult>.Empty;
8164var resultsBuilder = ArrayBuilder<VisitResult>.GetInstance(n);
8213private VisitResult VisitArgumentEvaluate(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8225private VisitResult VisitArgumentEvaluateEpilogue(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
8284VisitResult result,
8285ArrayBuilder<VisitResult>? conversionResultsBuilder,
8422VisitResult result,
8931private ImmutableArray<BoundExpression> GetArgumentsForMethodTypeInference(ImmutableArray<VisitResult> argumentResults, ImmutableArray<BoundExpression> arguments)
8942var visitArgumentResult = argumentResults[i];
8947BoundExpression getArgumentForMethodTypeInference(BoundExpression argument, VisitResult visitResult)
9902ArrayBuilder<VisitResult>? previousArgumentConversionResults = null)
10840var visitResult = new VisitResult(resultType, resultType.ToTypeWithAnnotations(compilation));
11830ImmutableArray<VisitResult> results = reinferenceResult.Results;
12023ImmutableArray<VisitResult> results = reinferenceResult.Results;
12237VisitResult? firstArgumentResult)
12330var receiverResult = _visitResult;
12690var result = new VisitResult(GetReturnTypeWithState(moveNextAsyncMethod), moveNextAsyncMethod.ReturnTypeWithAnnotations);
13845var result = value.Result;
13893var getAwaiterResult = _visitResult;