595 references to LookupResultKind
Microsoft.CodeAnalysis.CSharp (595)
Binder\Binder.ValueChecks.cs (4)
880
Debug.Assert(methodGroup.ResultKind !=
LookupResultKind
.Viable);
911
var
resultKind = (valueKind == BindValueKind.RValue || valueKind == BindValueKind.RValueOrMethodGroup) ?
912
LookupResultKind
.NotAValue :
913
LookupResultKind
.NotAVariable;
Binder\Binder.WithQueryLambdaParametersBinder.cs (1)
87
LookupResultKind
.Empty,
Binder\Binder_Attributes.cs (11)
169
LookupResultKind
resultKind =
LookupResultKind
.Viable;
229
LookupResultKind
.Inaccessible :
230
LookupResultKind
.OverloadResolutionFailure);
281
hasErrors: resultKind !=
LookupResultKind
.Viable);
523
var badLHS = BadExpression(nameSyntax, lookupResultKind:
LookupResultKind
.Empty);
529
LookupResultKind
resultKind;
555
Debug.Assert(resultKind ==
LookupResultKind
.Viable || wasError);
600
private Symbol BindNamedAttributeArgumentName(AttributeArgumentSyntax namedArgument, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics, out bool wasError, out
LookupResultKind
resultKind)
669
LookupResultKind
.NotAVariable,
682
LookupResultKind
.NotAVariable,
Binder\Binder_Await.cs (2)
394
resultKind:
LookupResultKind
.Viable,
535
resultKind:
LookupResultKind
.Viable,
Binder\Binder_Conversions.cs (3)
1401
resultKind:
LookupResultKind
.Viable).MakeCompilerGenerated();
1988
if (resolution.ResultKind !=
LookupResultKind
.Viable)
2323
? new BoundBadExpression(node.WithElement!.Syntax,
LookupResultKind
.Empty, symbols: [], naturalWithArguments, CreateErrorType())
Binder\Binder_Crefs.cs (1)
342
if (result.Kind ==
LookupResultKind
.Viable)
Binder\Binder_Deconstruct.cs (1)
958
resultKind:
LookupResultKind
.Viable,
Binder\Binder_Expressions.cs (80)
120
return BadExpression(syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty);
128
return BadExpression(syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, childNode);
136
return BadExpression(syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, childNodes);
142
protected BoundBadExpression BadExpression(SyntaxNode syntax,
LookupResultKind
lookupResultKind)
150
protected BoundBadExpression BadExpression(SyntaxNode syntax,
LookupResultKind
lookupResultKind, BoundExpression childNode)
158
private BoundBadExpression BadExpression(SyntaxNode syntax,
LookupResultKind
resultKind, ImmutableArray<Symbol> symbols)
171
private BoundBadExpression BadExpression(SyntaxNode syntax,
LookupResultKind
resultKind, ImmutableArray<Symbol> symbols, BoundExpression childNode)
196
private BoundBadExpression BadExpression(SyntaxNode syntax,
LookupResultKind
resultKind, ImmutableArray<Symbol> symbols, ImmutableArray<BoundExpression> childNodes, bool wasCompilerGenerated = false)
218
private BoundExpression ToBadExpression(BoundExpression expr,
LookupResultKind
resultKind =
LookupResultKind
.Empty)
221
Debug.Assert(resultKind !=
LookupResultKind
.Viable);
615
return BadExpression(node,
LookupResultKind
.NotAValue);
622
return BadExpression(node,
LookupResultKind
.NotAValue);
893
node,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(BindToTypeForErrorRecovery(BindValue(node.Expression, BindingDiagnosticBag.Discarded, BindValueKind.RefersToLocation))),
1080
argumentSyntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty,
1529
bool result = lookupResult.Kind !=
LookupResultKind
.Empty;
1587
if (type is ErrorTypeSymbol { ResultKind:
LookupResultKind
.Empty })
1696
if (lookupResult.Kind !=
LookupResultKind
.Empty)
1740
resultKind:
LookupResultKind
.WrongArity,
2055
private BoundExpression BindNonMethod(SimpleNameSyntax node, Symbol symbol, BindingDiagnosticBag diagnostics,
LookupResultKind
resultKind, bool indexed, bool isError)
2516
return BadExpression(node,
LookupResultKind
.NotLabel);
2875
if (conversion.ResultKind ==
LookupResultKind
.OverloadResolutionFailure)
3359
LookupResultKind
.Viable,
4324
LookupResultKind
.Empty,
4593
LookupResultKind
.NotCreatable, //in this context, anyway
4632
LookupResultKind
.Empty,
4964
resultKind:
LookupResultKind
.Empty,
4975
resultKind:
LookupResultKind
.Empty,
5018
resultKind:
LookupResultKind
.Empty,
5176
resultKind:
LookupResultKind
.Viable,
5188
resultKind:
LookupResultKind
.OverloadResolutionFailure,
5313
type = new ExtendedErrorTypeSymbol(type,
LookupResultKind
.NotCreatable,
5323
type = new ExtendedErrorTypeSymbol(type,
LookupResultKind
.NotCreatable,
5341
return new BoundBadExpression(syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, CreateErrorType());
5467
arg.Syntax,
LookupResultKind
.Empty, symbols: [],
5632
return new BoundBadExpression(node,
LookupResultKind
.NotInvocable, StaticCast<Symbol>.From(type.InstanceConstructors), ImmutableArray.Create(argument), type);
5643
sourceDelegate.DelegateInvokeMethod, null, BoundMethodGroupFlags.None, functionType: null, argument,
LookupResultKind
.Viable);
5679
return new BoundBadExpression(node,
LookupResultKind
.OverloadResolutionFailure, StaticCast<Symbol>.From(type.InstanceConstructors), childNodes, type);
5776
return new BoundBadExpression(node,
LookupResultKind
.NotCreatable, ImmutableArray.Create<Symbol?>(type), children.ToImmutableAndFree(), type) { WasCompilerGenerated = wasCompilerGenerated };
5922
LookupResultKind
.Empty,
5942
return BindToTypeForErrorRecovery(ToBadExpression(boundExpression,
LookupResultKind
.NotAValue));
5980
LookupResultKind
resultKind;
6083
resultKind =
LookupResultKind
.NotAValue;
6168
resultKind = isRhsNestedInitializer ?
LookupResultKind
.NotAValue :
LookupResultKind
.NotAVariable;
6193
ref
LookupResultKind
resultKind)
6205
resultKind =
LookupResultKind
.NotAValue;
6235
case
LookupResultKind
.Empty:
6239
case
LookupResultKind
.Inaccessible:
6250
return ToBadExpression(boundMember, (valueKind == BindValueKind.RValue) ?
LookupResultKind
.NotAValue :
LookupResultKind
.NotAVariable);
6547
return BadExpression(elementInitializer,
LookupResultKind
.NotInvocable);
6588
return BadExpression(elementInitializer,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol>.Empty, boundElementInitializerExpressions);
7029
LookupResultKind
resultKind;
7034
resultKind =
LookupResultKind
.NotCreatable;
7038
resultKind =
LookupResultKind
.Inaccessible;
7042
resultKind =
LookupResultKind
.OverloadResolutionFailure;
7227
return new BoundBadExpression(node,
LookupResultKind
.OverloadResolutionFailure, ImmutableArray<Symbol>.Empty, children, interfaceType);
8052
return new BoundBadExpression(node,
LookupResultKind
.Ambiguous, lookupResult.Symbols.AsImmutable(), ImmutableArray.Create(AdjustBadExpressionChild(boundLeft)), CreateErrorType(rightName), hasErrors: true);
8074
else if (lookupResult.Kind ==
LookupResultKind
.WrongArity)
8084
else if (lookupResult.Kind ==
LookupResultKind
.Empty)
8127
return BadExpression(node,
LookupResultKind
.NotAValue, boundLeft);
8271
return BindPropertyAccess(syntax, receiver, propertySymbol, diagnostics,
LookupResultKind
.Viable, hasErrors: false);
8275
return new BoundBadExpression(syntax,
LookupResultKind
.Viable, errorTypeSymbol.CandidateSymbols!, [AdjustBadExpressionChild(receiver)], CreateErrorType());
8506
LookupResultKind
lookupKind)
8933
result = new MethodGroupResolution(bestProperty,
LookupResultKind
.Viable, diagnostics.ToReadOnly());
9104
ExtendedErrorTypeSymbol resultSymbol = new ExtendedErrorTypeSymbol(containingSymbol: null, symbols,
LookupResultKind
.OverloadResolutionFailure, errorInfo, arity);
9105
Debug.Assert(lookupResult.Kind ==
LookupResultKind
.Viable);
9123
LookupResultKind
resultKind,
9302
LookupResultKind
lookupResult,
9388
LookupResultKind
lookupResult,
9438
ref
LookupResultKind
resultKind,
9463
resultKind =
LookupResultKind
.StaticInstanceMismatch;
9472
resultKind =
LookupResultKind
.StaticInstanceMismatch;
9497
Debug.Assert(result.Kind !=
LookupResultKind
.Empty);
9918
return new BoundBadExpression(node,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, childBoundNodes, CreateErrorType(), hasErrors: true);
10772
method, lookupError: null, BoundMethodGroupFlags.None, functionType: null, receiver,
LookupResultKind
.Viable)
10999
LookupResultKind
methodResultKind = methodResolution.ResultKind;
11000
LookupResultKind
extensionMethodResultKind = extensionMethodResolution.ResultKind;
11315
if (node.ResultKind ==
LookupResultKind
.Viable)
Binder\Binder_InterpolatedString.cs (3)
549
LookupResultKind
.Viable,
733
if (outConstructorCall is not BoundObjectCreationExpression { ResultKind:
LookupResultKind
.Viable })
746
if (nonOutConstructorCall is BoundObjectCreationExpression { ResultKind:
LookupResultKind
.Viable })
Binder\Binder_Invocation.cs (12)
122
return BadExpression(node,
LookupResultKind
.Empty, ImmutableArray.Create(symbol), args.Add(receiver), wasCompilerGenerated: true);
151
result = CreateBadCall(node, boundExpression,
LookupResultKind
.NotInvocable, analyzedArguments);
373
return CreateBadCall(node, boundExpression,
LookupResultKind
.NotInvocable, analyzedArguments);
390
result = CreateBadCall(node, boundExpression,
LookupResultKind
.NotInvocable, analyzedArguments);
743
anyApplicableCandidates = resolution.ResultKind ==
LookupResultKind
.Viable && resolution.OverloadResolutionResult.HasAnyApplicableMember;
750
LookupResultKind
resultKind;
799
if (resolution.ResultKind !=
LookupResultKind
.Viable)
1367
argsToParamsOpt: argsToParams, defaultArguments, resultKind:
LookupResultKind
.Viable, type: returnType, hasErrors: gotError);
2044
LookupResultKind
resultKind,
2324
LookupResultKind
resultKind,
2576
LookupResultKind
.OverloadResolutionFailure,
2599
LookupResultKind
.Viable,
Binder\Binder_Lookup.cs (8)
75
if (result.Kind !=
LookupResultKind
.Viable && result.Kind !=
LookupResultKind
.Empty)
210
if (resultOfThisMember.Kind ==
LookupResultKind
.Empty)
272
if (errorType.ResultKind ==
LookupResultKind
.Inaccessible)
462
if (res.Kind ==
LookupResultKind
.Viable)
478
if (res.Kind ==
LookupResultKind
.Viable)
699
if (result == null || result.Kind !=
LookupResultKind
.Viable || (object)symbol == null)
998
result.MergeEqual(new SingleLookupResult(
LookupResultKind
.Viable, sym, null));
Binder\Binder_Operators.cs (121)
62
leftPlaceholder: null, leftConversion: null, finalPlaceholder: null, finalConversion: null,
LookupResultKind
.Empty, CreateErrorType(), hasErrors: true);
95
LookupResultKind
.Viable,
107
leftPlaceholder: null, leftConversion: null, finalPlaceholder: null, finalConversion: null,
LookupResultKind
.Empty, CreateErrorType(), hasErrors: true);
121
leftPlaceholder: null, leftConversion: null, finalPlaceholder: null, finalConversion: null,
LookupResultKind
.NotAVariable, CreateErrorType(), hasErrors: true);
126
return createBadCompoundAssignmentOperator(node, kind, left, right,
LookupResultKind
.OverloadResolutionFailure, originalUserDefinedOperators: default, ref operatorResolutionForReporting, diagnostics);
155
LookupResultKind
resultKind;
162
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
163
Debug.Assert(best.HasValue == (resultKind is
LookupResultKind
.Viable));
164
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
166
if (!best.HasValue && resultKind !=
LookupResultKind
.Ambiguous)
168
Debug.Assert(resultKind is
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
171
LookupResultKind
staticExtensionResultKind;
184
Debug.Assert(instanceExtensionResult.ResultKind is
LookupResultKind
.Viable || !instanceExtensionResult.OriginalUserDefinedOperatorsOpt.IsDefaultOrEmpty);
326
LookupResultKind
resultKind,
522
resultKind:
LookupResultKind
.Viable,
543
resultKind:
LookupResultKind
.OverloadResolutionFailure,
583
out
LookupResultKind
staticResultKind,
587
staticResultKind =
LookupResultKind
.Empty;
851
resultKind:
LookupResultKind
.Viable,
949
return new BoundBinaryOperator(node, kind, ConstantValue.NotAvailable, methodOpt: null, constrainedToTypeOpt: null,
LookupResultKind
.Empty, left, right, GetBinaryOperatorErrorType(kind, diagnostics, node), true);
990
return new BoundBinaryOperator(node, BinaryOperatorKind.StringConcatenation, BoundBinaryOperator.UncommonData.UnconvertedInterpolatedStringAddition(stringConstant),
LookupResultKind
.Empty, left, right, right.Type);
1008
LookupResultKind
resultKind;
1135
ref OperatorResolutionForReporting operatorResolutionForReporting, out
LookupResultKind
resultKind,
1140
resultKind =
LookupResultKind
.OverloadResolutionFailure;
1159
ref
LookupResultKind
resultKind,
1220
LookupResultKind
extensionResultKind;
1284
private void ReportUnaryOperatorError(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics, string operatorName, BoundExpression operand,
LookupResultKind
resultKind, ref OperatorResolutionForReporting operatorResolutionForReporting)
1297
ErrorCode errorCode = resultKind ==
LookupResultKind
.Ambiguous ?
1305
LookupResultKind
resultKind, ref OperatorResolutionForReporting operatorResolutionForReporting)
1325
LookupResultKind
resultKind, ref OperatorResolutionForReporting operatorResolutionForReporting)
1363
case
LookupResultKind
.Ambiguous:
1367
case
LookupResultKind
.OverloadResolutionFailure when operatorToken.Kind() is SyntaxKind.PlusToken && isReadOnlySpanOfByte(left.Type) && isReadOnlySpanOfByte(right.Type):
1448
resultKind:
LookupResultKind
.Viable, left, right, type: left.Type, hasErrors: constantValue != null && constantValue.IsBad);
1458
resultKind:
LookupResultKind
.Empty, left, right, type: GetBinaryOperatorErrorType(kind, diagnostics, node), hasErrors: true);
1468
LookupResultKind
lookupResult;
1474
lookupResult =
LookupResultKind
.OverloadResolutionFailure;
2036
out
LookupResultKind
resultKind,
2054
out
LookupResultKind
resultKind,
2059
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2060
Debug.Assert(possiblyBest.HasValue == (resultKind is
LookupResultKind
.Viable));
2061
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
2063
if (!possiblyBest.HasValue && resultKind !=
LookupResultKind
.Ambiguous)
2065
Debug.Assert(resultKind is
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2068
LookupResultKind
extensionResultKind;
2095
out
LookupResultKind
resultKind,
2098
resultKind =
LookupResultKind
.Empty;
2155
out
LookupResultKind
resultKind,
2169
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2170
Debug.Assert(possiblyBest.HasValue == (resultKind is
LookupResultKind
.Viable));
2171
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
2176
private static BinaryOperatorAnalysisResult BinaryOperatorAnalyzeOverloadResolutionResult(BinaryOperatorOverloadResolutionResult result, out
LookupResultKind
resultKind, out ImmutableArray<MethodSymbol> originalUserDefinedOperators)
2195
resultKind =
LookupResultKind
.Viable;
2199
resultKind =
LookupResultKind
.Ambiguous;
2203
resultKind =
LookupResultKind
.OverloadResolutionFailure;
2209
resultKind = possiblyBest.HasValue ?
LookupResultKind
.Viable :
LookupResultKind
.Empty;
2259
out
LookupResultKind
resultKind,
2267
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2268
Debug.Assert(best.HasValue == (resultKind is
LookupResultKind
.Viable));
2269
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
2271
if (!best.HasValue && resultKind !=
LookupResultKind
.Ambiguous)
2273
Debug.Assert(resultKind is
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2276
LookupResultKind
extensionResultKind;
2301
out
LookupResultKind
resultKind,
2316
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2317
Debug.Assert(possiblyBest.HasValue == (resultKind is
LookupResultKind
.Viable));
2318
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
2329
out
LookupResultKind
resultKind,
2349
resultKind =
LookupResultKind
.Viable;
2364
resultKind =
LookupResultKind
.OverloadResolutionFailure;
2368
resultKind =
LookupResultKind
.Ambiguous;
2373
resultKind =
LookupResultKind
.OverloadResolutionFailure;
2379
resultKind = possiblyBest.HasValue ?
LookupResultKind
.Viable :
LookupResultKind
.Empty;
2407
out
LookupResultKind
resultKind,
2410
resultKind =
LookupResultKind
.Empty;
3291
LookupResultKind
.Empty,
3312
resultKind:
LookupResultKind
.Viable,
3338
LookupResultKind
resultKind;
3342
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
3343
Debug.Assert(best.HasValue == (resultKind is
LookupResultKind
.Viable));
3344
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
3346
if (!best.HasValue && resultKind !=
LookupResultKind
.Ambiguous)
3348
Debug.Assert(resultKind is
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
3352
LookupResultKind
staticExtensionResultKind;
3365
Debug.Assert(instanceExtensionResult.ResultKind is
LookupResultKind
.Viable || !instanceExtensionResult.OriginalUserDefinedOperatorsOpt.IsDefaultOrEmpty);
3626
LookupResultKind
.Viable,
3651
LookupResultKind
.OverloadResolutionFailure,
3690
out
LookupResultKind
staticResultKind,
3696
staticResultKind =
LookupResultKind
.Empty;
4365
resultKind:
LookupResultKind
.Empty,
4386
resultKind:
LookupResultKind
.Viable,
4390
LookupResultKind
resultKind;
Binder\Binder_Patterns.cs (4)
826
lengthAccess = new BoundPropertyAccess(node, receiverPlaceholder, initialBindingReceiverIsSubjectToCloning: ThreeState.False, lengthProperty, autoPropertyAccessorKind: AccessorKind.Unknown,
LookupResultKind
.Viable, lengthProperty.Type) { WasCompilerGenerated = true };
830
lengthAccess = new BoundBadExpression(node,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, CreateErrorType(), hasErrors: true) { WasCompilerGenerated = true };
2258
case
LookupResultKind
.Empty:
2262
case
LookupResultKind
.Inaccessible:
Binder\Binder_Query.cs (6)
302
state.selectOrGroup,
LookupResultKind
.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty,
741
yExpression = new BoundBadExpression(yExpression.Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(yExpression), CreateErrorType());
747
yExpression = new BoundBadExpression(yExpression.Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(yExpression), yExpression.Type);
808
field2Value = new BoundBadExpression(field2Value.Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(field2Value), field2Value.Type, true);
964
receiver = new BoundBadExpression(receiver.Syntax,
LookupResultKind
.NotAValue, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(receiver), CreateErrorType());
986
receiver = new BoundBadExpression(receiver.Syntax,
LookupResultKind
.NotAValue, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(receiver), CreateErrorType());
Binder\Binder_Statements.cs (8)
2312
else if (conversion.ResultKind ==
LookupResultKind
.OverloadResolutionFailure)
2708
LookupResultKind
.Viable,
2754
var best = this.UnaryOperatorOverloadResolution(UnaryOperatorKind.True, expr, node, diagnostics, ref discardedOperatorResolutionForReporting, out
LookupResultKind
resultKind, out ImmutableArray<MethodSymbol> originalUserDefinedOperators);
3995
LookupResultKind
resultKind =
LookupResultKind
.Viable;
4025
resultKind =
LookupResultKind
.Inaccessible;
4095
resultKind:
LookupResultKind
.Viable,
4233
if (call.ResultKind ==
LookupResultKind
.Empty)
Binder\Binder_Symbols.cs (11)
224
case
LookupResultKind
.Empty:
230
case
LookupResultKind
.Viable:
345
return TypeWithAnnotations.Create(new ExtendedErrorTypeSymbol(GetContainingNamespaceOrNonExtensionType(symbol.Symbol), symbol.Symbol,
LookupResultKind
.NotATypeOrNamespace, diagnosticInfo));
596
return TypeWithAnnotations.Create(new ExtendedErrorTypeSymbol(left,
LookupResultKind
.NotATypeOrNamespace, diagnostics.Add(ErrorCode.ERR_ColColWithTypeAlias, node.Alias.Location, node.Alias.Identifier.Text)));
1522
receiver = new BoundBadExpression(receiver.Syntax,
LookupResultKind
.Ambiguous, ImmutableArray<Symbol>.Empty, ImmutableArray.Create(receiver), receiver.Type, hasErrors: true).MakeCompilerGenerated();
1532
receiver = new BoundBadExpression(receiver.Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, childBoundNodes: [AdjustBadExpressionChild(receiver)], receiver.Type, hasErrors: true).MakeCompilerGenerated();
2324
LookupResultKind
.Ambiguous,
2340
singleResult = new ExtendedErrorTypeSymbol(GetContainingNamespaceOrNonExtensionType(singleResult), singleResult,
LookupResultKind
.NotReferencable, errorInfo); // UNDONE: Review resultkind.
2386
if (result.Kind ==
LookupResultKind
.Empty)
2424
result.Kind ==
LookupResultKind
.NotATypeOrNamespace || result.Kind ==
LookupResultKind
.NotAnAttributeType)
Binder\Binder_TupleOperators.cs (2)
159
LookupResultKind
resultKind;
216
ReportBinaryOperatorError(node, diagnostics, node.OperatorToken, left, right,
LookupResultKind
.Ambiguous, ref discardedOperatorResolutionForReporting);
Binder\Binder_XmlNameAttribute.cs (1)
33
if (lookupResult.Kind ==
LookupResultKind
.Empty)
Binder\ForEachLoopBinder.cs (2)
747
LookupResultKind
.Empty,
960
if (collectionExpr.ResultKind ==
LookupResultKind
.NotAValue)
Binder\LookupResult.cs (21)
65
private
LookupResultKind
_kind;
78
_kind =
LookupResultKind
.Empty;
87
return _kind ==
LookupResultKind
.Empty && _error == null && _symbolList.Count == 0;
93
_kind =
LookupResultKind
.Empty;
98
internal
LookupResultKind
Kind
140
return Kind ==
LookupResultKind
.Viable;
151
return Kind ==
LookupResultKind
.Viable && _symbolList.Count == 1;
157
return new SingleLookupResult(
LookupResultKind
.Viable, symbol, null);
162
return new SingleLookupResult(
LookupResultKind
.WrongArity, symbol, error);
167
return new SingleLookupResult(
LookupResultKind
.Empty, null, null);
172
return new SingleLookupResult(
LookupResultKind
.NotReferencable, symbol, error);
177
return new SingleLookupResult(
LookupResultKind
.StaticInstanceMismatch, symbol, error);
182
return new SingleLookupResult(
LookupResultKind
.Inaccessible, symbol, error);
188
return new SingleLookupResult(
LookupResultKind
.NotInvocable, symbol, diagInfo);
193
return new SingleLookupResult(
LookupResultKind
.NotLabel, symbol, error);
198
return new SingleLookupResult(
LookupResultKind
.NotATypeOrNamespace, symbol, error);
205
return new SingleLookupResult(
LookupResultKind
.NotATypeOrNamespace, symbol, diagInfo);
210
return new SingleLookupResult(
LookupResultKind
.NotAnAttributeType, symbol, error);
266
else if (Kind !=
LookupResultKind
.Viable)
294
if (Kind ==
LookupResultKind
.WrongArity && result.Kind ==
LookupResultKind
.WrongArity)
Binder\LookupResultKind.cs (21)
74
public static CandidateReason ToCandidateReason(this
LookupResultKind
resultKind)
78
case
LookupResultKind
.Empty: return CandidateReason.None;
79
case
LookupResultKind
.NotATypeOrNamespace: return CandidateReason.NotATypeOrNamespace;
80
case
LookupResultKind
.NotAnAttributeType: return CandidateReason.NotAnAttributeType;
81
case
LookupResultKind
.WrongArity: return CandidateReason.WrongArity;
82
case
LookupResultKind
.Inaccessible: return CandidateReason.Inaccessible;
83
case
LookupResultKind
.NotCreatable: return CandidateReason.NotCreatable;
84
case
LookupResultKind
.NotReferencable: return CandidateReason.NotReferencable;
85
case
LookupResultKind
.NotAValue: return CandidateReason.NotAValue;
86
case
LookupResultKind
.NotAVariable: return CandidateReason.NotAVariable;
87
case
LookupResultKind
.NotInvocable: return CandidateReason.NotInvocable;
88
case
LookupResultKind
.StaticInstanceMismatch: return CandidateReason.StaticInstanceMismatch;
89
case
LookupResultKind
.OverloadResolutionFailure: return CandidateReason.OverloadResolutionFailure;
90
case
LookupResultKind
.Ambiguous: return CandidateReason.Ambiguous;
91
case
LookupResultKind
.MemberGroup: return CandidateReason.MemberGroup;
93
case
LookupResultKind
.Viable:
103
public static
LookupResultKind
WorseResultKind(this
LookupResultKind
resultKind1,
LookupResultKind
resultKind2)
105
if (resultKind1 ==
LookupResultKind
.Empty)
107
if (resultKind2 ==
LookupResultKind
.Empty)
Binder\MethodGroupResolution.cs (6)
26
public readonly
LookupResultKind
ResultKind;
33
public MethodGroupResolution(Symbol otherSymbol,
LookupResultKind
resultKind, ReadOnlyBindingDiagnostic<AssemblySymbol> diagnostics)
43
LookupResultKind
resultKind,
51
Debug.Assert(resultKind !=
LookupResultKind
.Ambiguous); // HasAnyApplicableMethod is expecting Viable methods.
78
(this.ResultKind ==
LookupResultKind
.Viable) &&
94
bool isExtensionMember = ResultKind ==
LookupResultKind
.Viable && MethodGroup is null;
Binder\Semantics\Conversions\Conversion.cs (6)
1096
internal
LookupResultKind
ResultKind
1105
return
LookupResultKind
.Viable;
1109
return
LookupResultKind
.OverloadResolutionFailure;
1113
return this.Kind == ConversionKind.NoConversion ?
LookupResultKind
.Empty :
LookupResultKind
.Viable;
1120
return
LookupResultKind
.OverloadResolutionFailure;
Binder\Semantics\Conversions\Conversions.cs (1)
386
resolution.ResultKind ==
LookupResultKind
.Viable)
Binder\Semantics\OverloadResolution\MethodGroup.cs (10)
22
internal
LookupResultKind
ResultKind { get; private set; }
33
LookupResultKind
resultKind =
LookupResultKind
.Viable,
44
LookupResultKind
resultKind =
LookupResultKind
.Viable,
69
LookupResultKind
resultKind =
LookupResultKind
.Viable,
80
private void PopulateHelper(BoundExpression receiverOpt,
LookupResultKind
resultKind, DiagnosticInfo error)
95
this.ResultKind =
LookupResultKind
.Empty;
134
Debug.Assert(this.ResultKind ==
LookupResultKind
.Empty);
Binder\SingleLookupResult.cs (3)
21
internal readonly
LookupResultKind
Kind;
29
internal SingleLookupResult(
LookupResultKind
kind, Symbol? symbol, DiagnosticInfo? error)
31
Debug.Assert(symbol is not null || kind ==
LookupResultKind
.Empty);
Binder\SwitchBinder.cs (1)
468
return new BoundBadExpression(node,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create(switchGoverningExpression), switchGoverningType ?? CreateErrorType());
Binder\WithUsingNamespacesAndTypesBinder.cs (1)
138
if (res.Kind ==
LookupResultKind
.Viable)
BoundTree\BoundCall.cs (4)
11
public bool IsErroneousNode => ResultKind is not
LookupResultKind
.Viable;
15
Debug.Assert(ResultKind is not
LookupResultKind
.MemberGroup);
16
Debug.Assert(ResultKind is not
LookupResultKind
.StaticInstanceMismatch);
17
Debug.Assert(ResultKind is
LookupResultKind
.Viable || HasErrors);
BoundTree\BoundExpression.cs (6)
123
public virtual
LookupResultKind
ResultKind
127
return
LookupResultKind
.Viable;
285
public override
LookupResultKind
ResultKind
293
return
LookupResultKind
.Viable;
355
public override
LookupResultKind
ResultKind
359
return !this.OriginalIndexersOpt.IsDefault ?
LookupResultKind
.OverloadResolutionFailure : base.ResultKind;
BoundTree\Constructors.cs (20)
20
: this(syntax, receiver, fieldSymbol, constantValueOpt,
LookupResultKind
.Viable, fieldSymbol.Type, hasErrors)
29
LookupResultKind
resultKind,
41
LookupResultKind
resultKind,
53
LookupResultKind
resultKind,
99
LookupResultKind
resultKind,
117
LookupResultKind
resultKind,
131
LookupResultKind
resultKind,
136
resultKind = resultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
143
Debug.Assert(resultKind is not
LookupResultKind
.Viable);
230
resultKind:
LookupResultKind
.Viable,
420
LookupResultKind
resultKind,
441
LookupResultKind
resultKind,
454
LookupResultKind
resultKind,
540
public BoundBadExpression(SyntaxNode syntax,
LookupResultKind
resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol type)
662
LookupResultKind
resultKind,
676
LookupResultKind
resultKind,
690
LookupResultKind
resultKind,
702
LookupResultKind
resultKind,
719
LookupResultKind
resultKind,
726
public BoundIncrementOperator Update(UnaryOperatorKind operatorKind, BoundExpression operand, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, BoundValuePlaceholder? resultPlaceholder, BoundExpression? resultConversion,
LookupResultKind
resultKind, TypeSymbol type)
BoundTree\VariablePendingInference.cs (1)
104
LookupResultKind
.Viable,
Compilation\CSharpSemanticModel.cs (72)
384
LookupResultKind
resultKind =
LookupResultKind
.Ambiguous;
392
resultKind =
LookupResultKind
.OverloadResolutionFailure;
1930
boundExpr, boundNodeForSyntacticParent, binderOpt, options, out bool isDynamic, out
LookupResultKind
resultKind, out ImmutableArray<Symbol> unusedMemberGroup);
1935
LookupResultKind
highestResultKind;
1941
if (highestResultKind !=
LookupResultKind
.Empty && highestResultKind < resultKind)
1948
resultKind ==
LookupResultKind
.OverloadResolutionFailure &&
1951
LookupResultKind
highestResultKind;
1965
if (resultKind ==
LookupResultKind
.Empty)
1969
return SymbolInfoFactory.Create(ImmutableArray<Symbol>.Empty,
LookupResultKind
.Empty, isDynamic);
1989
if (resultKind ==
LookupResultKind
.Viable && symbols.Count > 1)
1991
resultKind =
LookupResultKind
.OverloadResolutionFailure;
2291
LookupResultKind
resultKind;
2337
LookupResultKind
resultKind = originalErrorSymbol.ResultKind;
2338
if (resultKind !=
LookupResultKind
.Empty)
3358
out
LookupResultKind
resultKind,
3363
resultKind =
LookupResultKind
.Viable;
3384
if (resultKind ==
LookupResultKind
.NotCreatable)
3390
resultKind =
LookupResultKind
.Empty;
3412
((BoundBadExpression)boundNodeForSyntacticParent).ResultKind ==
LookupResultKind
.NotCreatable)
3414
resultKind =
LookupResultKind
.NotCreatable;
3516
resultKind =
LookupResultKind
.Empty;
3525
case BoundKind.EventAccess when boundNodeForSyntacticParent is BoundEventAssignmentOperator { ResultKind:
LookupResultKind
.Viable } parentOperator &&
3613
Debug.Assert(resultKind !=
LookupResultKind
.Viable);
3692
resultKind = resultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
3750
private static ParameterSymbol GetThisParameter(TypeSymbol typeOfThis, NamedTypeSymbol containingType, Symbol containingMember, out
LookupResultKind
resultKind)
3755
resultKind =
LookupResultKind
.NotReferencable;
3768
resultKind =
LookupResultKind
.NotReferencable;
3774
resultKind =
LookupResultKind
.StaticInstanceMismatch;
3783
resultKind =
LookupResultKind
.NotReferencable;
3790
resultKind =
LookupResultKind
.Viable;
3798
resultKind =
LookupResultKind
.NotReferencable;
3811
resultKind =
LookupResultKind
.NotReferencable;
3818
private static void GetSymbolsAndResultKind(BoundUnaryOperator unaryOperator, out bool isDynamic, ref
LookupResultKind
resultKind, ref OneOrMany<Symbol> symbols)
3823
if (operandType == 0 || operandType == UnaryOperatorKind.UserDefined || unaryOperator.ResultKind !=
LookupResultKind
.Viable)
3841
private static void GetSymbolsAndResultKind(BoundIncrementOperator increment, out bool isDynamic, ref
LookupResultKind
resultKind, ref OneOrMany<Symbol> symbols)
3846
if (operandType == 0 || operandType == UnaryOperatorKind.UserDefined || increment.ResultKind !=
LookupResultKind
.Viable)
3865
private static void GetSymbolsAndResultKind(BoundBinaryOperator binaryOperator, out bool isDynamic, ref
LookupResultKind
resultKind, ref OneOrMany<Symbol> symbols)
3871
if (operandType == 0 || operandType == BinaryOperatorKind.UserDefined || binaryOperator.ResultKind !=
LookupResultKind
.Viable || binaryOperator.OperatorKind.IsLogical())
3938
private static void GetSymbolsAndResultKind(BoundCompoundAssignmentOperator compoundAssignment, out bool isDynamic, ref
LookupResultKind
resultKind, ref OneOrMany<Symbol> symbols)
3944
if (operandType == 0 || operandType == BinaryOperatorKind.UserDefined || compoundAssignment.ResultKind !=
LookupResultKind
.Viable)
3964
private static void GetSymbolsAndResultKind(BoundExpression node, Symbol symbolOpt, ImmutableArray<MethodSymbol> originalCandidates, out OneOrMany<Symbol> symbols, out
LookupResultKind
resultKind)
3979
resultKind =
LookupResultKind
.Empty;
3990
ref
LookupResultKind
resultKind,
4012
Debug.Assert(resultKind !=
LookupResultKind
.Viable ||
4043
ref
LookupResultKind
resultKind,
4073
Debug.Assert(resultKind !=
LookupResultKind
.Viable);
4090
Debug.Assert(resultKind !=
LookupResultKind
.Viable);
4091
resultKind = resultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
4261
out
LookupResultKind
resultKind,
4270
if (resultKind ==
LookupResultKind
.Empty)
4272
resultKind =
LookupResultKind
.Viable;
4297
resultKind =
LookupResultKind
.Viable;
4301
resultKind = call.ResultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
4368
resultKind = resultKind.WorseResultKind(
LookupResultKind
.MemberGroup);
4375
resultKind = resultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
4390
resultKind = resultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
4400
if (!isDynamic && resultKind >
LookupResultKind
.OverloadResolutionFailure)
4402
resultKind =
LookupResultKind
.OverloadResolutionFailure;
4414
out
LookupResultKind
resultKind,
4422
if (resultKind ==
LookupResultKind
.Empty)
4424
resultKind =
LookupResultKind
.Viable;
4446
resultKind =
LookupResultKind
.Viable;
4450
resultKind = indexer.ResultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
4485
if (resultKind >
LookupResultKind
.OverloadResolutionFailure)
4487
resultKind =
LookupResultKind
.OverloadResolutionFailure;
4590
var
resultKind =
LookupResultKind
.Empty;
4726
ref
LookupResultKind
resultKind,
4736
LookupResultKind
singleKind = singleResult.Kind;
4745
resultKind =
LookupResultKind
.Empty;
4757
Debug.Assert((members.Count == 0) == (resultKind ==
LookupResultKind
.Empty));
Compilation\SymbolInfoFactory.cs (3)
20
internal static SymbolInfo Create(ImmutableArray<Symbol> symbols,
LookupResultKind
resultKind, bool isDynamic)
23
internal static SymbolInfo Create(OneOrMany<Symbol> symbols,
LookupResultKind
resultKind, bool isDynamic)
36
else if (resultKind ==
LookupResultKind
.Viable)
Compilation\SyntaxTreeSemanticModel.cs (2)
267
result = SymbolInfoFactory.Create(symbols,
LookupResultKind
.Viable, isDynamic: false);
270
result = SymbolInfoFactory.Create(symbols,
LookupResultKind
.Ambiguous, isDynamic: false);
Compiler\MethodBodySynthesizer.cs (2)
56
resultKind:
LookupResultKind
.Viable,
506
resultKind:
LookupResultKind
.Viable,
Generated\BoundNodes.xml.Generated.cs (48)
992
public BoundBadExpression(SyntaxNode syntax,
LookupResultKind
resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type, bool hasErrors = false)
1008
public override
LookupResultKind
ResultKind { get; }
1015
public BoundBadExpression Update(
LookupResultKind
resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type)
1210
public BoundUnaryOperator(SyntaxNode syntax, UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false)
1232
public override
LookupResultKind
ResultKind { get; }
1238
public BoundUnaryOperator Update(UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
1252
public BoundIncrementOperator(SyntaxNode syntax, UnaryOperatorKind operatorKind, BoundExpression operand, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, BoundValuePlaceholder? resultPlaceholder, BoundExpression? resultConversion,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false)
1280
public override
LookupResultKind
ResultKind { get; }
1286
public BoundIncrementOperator Update(UnaryOperatorKind operatorKind, BoundExpression operand, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, BoundValuePlaceholder? resultPlaceholder, BoundExpression? resultConversion,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
1473
public BoundFunctionPointerInvocation(SyntaxNode syntax, BoundExpression invokedExpression, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt,
LookupResultKind
resultKind, TypeSymbol type, bool hasErrors = false)
1491
public override
LookupResultKind
ResultKind { get; }
1496
public BoundFunctionPointerInvocation Update(BoundExpression invokedExpression, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt,
LookupResultKind
resultKind, TypeSymbol type)
1688
public BoundBinaryOperator(SyntaxNode syntax, BinaryOperatorKind operatorKind, BoundBinaryOperator.UncommonData? data,
LookupResultKind
resultKind, BoundExpression left, BoundExpression right, TypeSymbol type, bool hasErrors = false)
1707
public override
LookupResultKind
ResultKind { get; }
1712
public BoundBinaryOperator Update(BinaryOperatorKind operatorKind, BoundBinaryOperator.UncommonData? data,
LookupResultKind
resultKind, BoundExpression left, BoundExpression right, TypeSymbol type)
1764
public BoundUserDefinedConditionalLogicalOperator(SyntaxNode syntax, BinaryOperatorKind operatorKind, MethodSymbol logicalOperator, MethodSymbol trueOperator, MethodSymbol falseOperator, BoundValuePlaceholder? trueFalseOperandPlaceholder, BoundExpression? trueFalseOperandConversion, TypeSymbol? constrainedToTypeOpt,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, BoundExpression left, BoundExpression right, TypeSymbol type, bool hasErrors = false)
1797
public override
LookupResultKind
ResultKind { get; }
1803
public BoundUserDefinedConditionalLogicalOperator Update(BinaryOperatorKind operatorKind, MethodSymbol logicalOperator, MethodSymbol trueOperator, MethodSymbol falseOperator, BoundValuePlaceholder? trueFalseOperandPlaceholder, BoundExpression? trueFalseOperandConversion, TypeSymbol? constrainedToTypeOpt,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, BoundExpression left, BoundExpression right, TypeSymbol type)
1817
public BoundCompoundAssignmentOperator(SyntaxNode syntax, BinaryOperatorSignature @operator, BoundExpression left, BoundExpression right, BoundValuePlaceholder? leftPlaceholder, BoundExpression? leftConversion, BoundValuePlaceholder? finalPlaceholder, BoundExpression? finalConversion,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false)
1844
public override
LookupResultKind
ResultKind { get; }
1850
public BoundCompoundAssignmentOperator Update(BinaryOperatorSignature @operator, BoundExpression left, BoundExpression right, BoundValuePlaceholder? leftPlaceholder, BoundExpression? leftConversion, BoundValuePlaceholder? finalPlaceholder, BoundExpression? finalConversion,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
5813
protected BoundMethodOrPropertyGroup(BoundKind kind, SyntaxNode syntax, BoundExpression? receiverOpt,
LookupResultKind
resultKind, bool hasErrors = false)
5822
public override
LookupResultKind
ResultKind { get; }
6164
public BoundMethodGroup(SyntaxNode syntax, ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt,
LookupResultKind
resultKind, bool hasErrors = false)
6191
public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt,
LookupResultKind
resultKind)
6205
public BoundPropertyGroup(SyntaxNode syntax, ImmutableArray<PropertySymbol> properties, BoundExpression? receiverOpt,
LookupResultKind
resultKind, bool hasErrors = false)
6219
public BoundPropertyGroup Update(ImmutableArray<PropertySymbol> properties, BoundExpression? receiverOpt,
LookupResultKind
resultKind)
6233
public BoundCall(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool isDelegateCall, bool expanded, bool invokedAsExtensionMethod, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalMethodsOpt, TypeSymbol type, bool hasErrors = false)
6272
public override
LookupResultKind
ResultKind { get; }
6278
public BoundCall Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, MethodSymbol method, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool isDelegateCall, bool expanded, bool invokedAsExtensionMethod, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalMethodsOpt, TypeSymbol type)
6331
public BoundAttribute(SyntaxNode syntax, MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments,
LookupResultKind
resultKind, TypeSymbol type, bool hasErrors = false)
6357
public override
LookupResultKind
ResultKind { get; }
6362
public BoundAttribute Update(MethodSymbol? constructor, ImmutableArray<BoundExpression> constructorArguments, ImmutableArray<string?> constructorArgumentNamesOpt, ImmutableArray<int> constructorArgumentsToParamsOpt, bool constructorExpanded, BitVector constructorDefaultArguments, ImmutableArray<BoundAssignmentOperator> namedArguments,
LookupResultKind
resultKind, TypeSymbol type)
6879
public BoundObjectInitializerMember(SyntaxNode syntax, Symbol? memberSymbol, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments,
LookupResultKind
resultKind, AccessorKind accessorKind, TypeSymbol receiverType, TypeSymbol type, bool hasErrors = false)
6907
public override
LookupResultKind
ResultKind { get; }
6914
public BoundObjectInitializerMember Update(Symbol? memberSymbol, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<RefKind> argumentRefKindsOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments,
LookupResultKind
resultKind, AccessorKind accessorKind, TypeSymbol receiverType, TypeSymbol type)
7001
public BoundCollectionElementInitializer(SyntaxNode syntax, MethodSymbol addMethod, ImmutableArray<BoundExpression> arguments, BoundExpression? implicitReceiverOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, bool invokedAsExtensionMethod,
LookupResultKind
resultKind, TypeSymbol type, bool hasErrors = false)
7027
public override
LookupResultKind
ResultKind { get; }
7032
public BoundCollectionElementInitializer Update(MethodSymbol addMethod, ImmutableArray<BoundExpression> arguments, BoundExpression? implicitReceiverOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, bool invokedAsExtensionMethod,
LookupResultKind
resultKind, TypeSymbol type)
7393
public BoundFieldAccess(SyntaxNode syntax, BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt,
LookupResultKind
resultKind, bool isByValue, bool isDeclaration, TypeSymbol type, bool hasErrors = false)
7412
public override
LookupResultKind
ResultKind { get; }
7419
public BoundFieldAccess Update(BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt,
LookupResultKind
resultKind, bool isByValue, bool isDeclaration, TypeSymbol type)
7473
public BoundPropertyAccess(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol propertySymbol, AccessorKind autoPropertyAccessorKind,
LookupResultKind
resultKind, TypeSymbol type, bool hasErrors = false)
7492
public override
LookupResultKind
ResultKind { get; }
7497
public BoundPropertyAccess Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol propertySymbol, AccessorKind autoPropertyAccessorKind,
LookupResultKind
resultKind, TypeSymbol type)
7511
public BoundEventAccess(SyntaxNode syntax, BoundExpression? receiverOpt, EventSymbol eventSymbol, bool isUsableAsField,
LookupResultKind
resultKind, TypeSymbol type, bool hasErrors = false)
7528
public override
LookupResultKind
ResultKind { get; }
7533
public BoundEventAccess Update(BoundExpression? receiverOpt, EventSymbol eventSymbol, bool isUsableAsField,
LookupResultKind
resultKind, TypeSymbol type)
Lowering\ClosureConversion\ClosureConversion.cs (1)
1745
return new BoundBadExpression(F.Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (4)
358
return new BoundBadExpression(node.Syntax, default(
LookupResultKind
), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), ExpressionType);
1143
return new BoundBadExpression(node.Syntax, default(
LookupResultKind
), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
1150
return new BoundBadExpression(node.Syntax, default(
LookupResultKind
), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
1182
return new BoundBadExpression(node.Syntax, default(
LookupResultKind
), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
Lowering\LocalRewriter\LocalRewriter.cs (2)
322
var result = new BoundFieldAccess(node.Syntax, new BoundThisReference(node.Syntax, primaryCtor.ContainingType), field, ConstantValue.NotAvailable,
LookupResultKind
.Viable, node.Type);
602
return new BoundBadExpression(syntax,
LookupResultKind
.NotReferencable, ImmutableArray<Symbol?>.Empty, children, resultType);
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (2)
145
BoundExpression access = _localRewriter.MakeFieldAccess(f.Syntax, input, field, null,
LookupResultKind
.Viable, field.Type);
157
return _factory.AssignmentExpression(output, _localRewriter.MakePropertyAccess(_factory.Syntax, input, property,
LookupResultKind
.Viable, property.Type, isLeftOfAssignment: false));
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (8)
542
new BoundBinaryOperator(syntax, operatorKind, constantValueOpt: null, methodOpt: null, constrainedToTypeOpt: null,
LookupResultKind
.Viable, loweredLeft, loweredRight, type);
757
return new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, converted, ConstantValue.NotAvailable, MethodSymbol.None, constrainedToTypeOpt: null,
LookupResultKind
.Viable, boolean)
2009
new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, call, ConstantValue.NotAvailable, null, constrainedToTypeOpt: null,
LookupResultKind
.Viable, returnType);
2039
return new BoundBinaryOperator(syntax, operatorKind, constantValueOpt: null, methodOpt: null, constrainedToTypeOpt: null,
LookupResultKind
.Empty, loweredLeft, loweredRight, type);
2049
? new BoundBinaryOperator(syntax, operatorKind, null, method, constrainedToTypeOpt: null, default(
LookupResultKind
), loweredLeft, loweredRight, method.ReturnType)
2179
LookupResultKind
.Viable,
2192
LookupResultKind
.Viable,
2304
LookupResultKind
.Viable,
Lowering\LocalRewriter\LocalRewriter_Call.cs (3)
462
LookupResultKind
resultKind,
549
resultKind:
LookupResultKind
.Viable,
1536
resultKind:
LookupResultKind
.Viable,
Lowering\LocalRewriter\LocalRewriter_Event.cs (6)
128
clearCall = new BoundBadExpression(syntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(removeDelegate), ErrorTypeSymbol.UnknownResultType);
170
marshalCall = new BoundBadExpression(syntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, marshalArguments, ErrorTypeSymbol.UnknownResultType);
224
LookupResultKind
resultKind,
265
getOrCreateCall = new BoundBadExpression(syntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(fieldAccess), ErrorTypeSymbol.UnknownResultType);
287
return new BoundBadExpression(syntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(getOrCreateCall), ErrorTypeSymbol.UnknownResultType);
345
return new BoundBadExpression(node.Syntax,
LookupResultKind
.NotCreatable, ImmutableArray.Create<Symbol?>(node.Event),
Lowering\LocalRewriter\LocalRewriter_Field.cs (1)
22
LookupResultKind
resultKind,
Lowering\LocalRewriter\LocalRewriter_FixedStatement.cs (2)
484
helperCall = new BoundBadExpression(fixedInitializer.Syntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType);
545
lengthCall = new BoundBadExpression(fixedInitializer.Syntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(factory.Local(pinnedTemp)), ErrorTypeSymbol.UnknownResultType);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (5)
468
resultKind:
LookupResultKind
.Viable,
673
resultKind:
LookupResultKind
.Viable,
969
resultKind:
LookupResultKind
.Viable,
1173
resultKind:
LookupResultKind
.Viable,
1269
resultKind:
LookupResultKind
.Viable,
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (2)
117
exitCallExpr = new BoundBadExpression(lockSyntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(boundLockTemp), ErrorTypeSymbol.UnknownResultType);
212
enterCallExpr = new BoundBadExpression(lockSyntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(boundLockTemp), ErrorTypeSymbol.UnknownResultType);
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (4)
363
resultKind:
LookupResultKind
.Viable,
394
newGuid = new BoundBadExpression(node.Syntax,
LookupResultKind
.NotCreatable, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType);
412
callGetTypeFromCLSID = new BoundBadExpression(node.Syntax,
LookupResultKind
.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType);
428
rewrittenObjectCreation = new BoundBadExpression(node.Syntax,
LookupResultKind
.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, node.Type);
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (3)
30
LookupResultKind
resultKind,
86
oldNodeOpt.Update(rewrittenReceiver, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, property, autoPropertyAccessorKind: AccessorKind.Unknown,
LookupResultKind
.Viable, property.Type) :
87
new BoundPropertyAccess(syntax, rewrittenReceiver, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, property, autoPropertyAccessorKind: AccessorKind.Unknown,
LookupResultKind
.Viable, property.Type);
Lowering\LocalRewriter\LocalRewriter_StackAlloc.cs (1)
69
resultKind:
LookupResultKind
.NotInvocable,
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
610
currentResult = new BoundBinaryOperator(current.Syntax, current.OperatorKind, constantValueOpt: null, method, constrainedToTypeOpt: null, default(
LookupResultKind
), currentResult, right, current.Type);
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (1)
228
: new BoundBadExpression(syntax,
LookupResultKind
.Empty, symbols: ImmutableArray<Symbol?>.Empty, childBoundNodes: ImmutableArray<BoundExpression>.Empty, type);
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (2)
159
LookupResultKind
.Viable,
176
new BoundUnaryOperator(syntax, kind, loweredOperand, null, methodOpt: method, constrainedToTypeOpt: constrainedToTypeOpt,
LookupResultKind
.Viable, type);
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (2)
463
disposeCall = new BoundBadExpression(resourceSyntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(disposedExpression), ErrorTypeSymbol.UnknownResultType);
534
return MakeCall(null, syntax, expression, method, rewrittenArguments, argumentRefKindsOpt,
LookupResultKind
.Viable, temps.ToImmutableAndFree());
Lowering\LocalRewriter\LoweredDynamicOperation.cs (1)
55
var bad = new BoundBadExpression(children[0].Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, children, resultType);
Lowering\SyntheticBoundNodeFactory.cs (8)
246
return new BoundBadExpression(Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, type, hasErrors: true);
256
return new BoundFieldAccess(Syntax, receiver, f, ConstantValue.NotAvailable,
LookupResultKind
.Viable, f.Type) { WasCompilerGenerated = true };
650
return new BoundBinaryOperator(this.Syntax, kind, ConstantValue.NotAvailable, methodOpt: null, constrainedToTypeOpt: null,
LookupResultKind
.Viable, left, right, type) { WasCompilerGenerated = true };
823
return new BoundBadExpression(Syntax, default(
LookupResultKind
), ImmutableArray<Symbol?>.Empty, args.AsImmutable(), receiver);
888
invokedAsExtensionMethod: false, argsToParamsOpt: default(ImmutableArray<int>), defaultArguments: default(BitVector), resultKind:
LookupResultKind
.Viable,
929
argsToParamsOpt: ImmutableArray<int>.Empty, defaultArguments: default(BitVector), resultKind:
LookupResultKind
.Viable, type: method.ReturnType)
1642
return new BoundUnaryOperator(expression.Syntax, UnaryOperatorKind.BoolLogicalNegation, expression, null, null, constrainedToTypeOpt: null,
LookupResultKind
.Viable, expression.Type);
1889
new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, call, ConstantValue.NotAvailable, methodOpt: null, constrainedToTypeOpt: null,
LookupResultKind
.Viable, returnType);
Operations\CSharpOperationFactory.cs (4)
485
if (boundFunctionPointerInvocation.ResultKind !=
LookupResultKind
.Viable)
638
if (!boundIndexerAccess.OriginalIndexersOpt.IsDefault || boundIndexerAccess.ResultKind ==
LookupResultKind
.OverloadResolutionFailure)
709
=> boundObjectCreationExpression is { ResultKind: not
LookupResultKind
.OverloadResolutionFailure, Constructor.OriginalDefinition: not ErrorMethodSymbol };
902
if (accessor == null || boundObjectInitializerMember.ResultKind ==
LookupResultKind
.OverloadResolutionFailure || accessor.OriginalDefinition is ErrorMethodSymbol)
Operations\CSharpOperationFactory_Methods.cs (2)
121
private bool IsMethodInvalid(
LookupResultKind
resultKind, MethodSymbol targetMethod) =>
122
resultKind ==
LookupResultKind
.OverloadResolutionFailure || targetMethod?.OriginalDefinition is ErrorMethodSymbol;
Symbols\ErrorTypeSymbol.cs (4)
35
internal virtual
LookupResultKind
ResultKind { get { return
LookupResultKind
.Empty; } }
73
Debug.Assert(ResultKind !=
LookupResultKind
.Viable, "Shouldn't have viable result kind on error symbol");
651
internal override
LookupResultKind
ResultKind
Symbols\ExtendedErrorTypeSymbol.cs (8)
26
private readonly
LookupResultKind
_resultKind; // why the guessSymbols were wrong.
49
_resultKind =
LookupResultKind
.Empty;
52
private ExtendedErrorTypeSymbol(NamespaceOrTypeSymbol? containingSymbol, string name, int arity, DiagnosticInfo? errorInfo, bool unreported, bool variableUsedBeforeDeclaration, ImmutableArray<Symbol> candidateSymbols,
LookupResultKind
resultKind)
64
internal ExtendedErrorTypeSymbol(NamespaceOrTypeSymbol guessSymbol,
LookupResultKind
resultKind, DiagnosticInfo errorInfo, bool unreported = false)
69
internal ExtendedErrorTypeSymbol(NamespaceOrTypeSymbol? containingSymbol, Symbol guessSymbol,
LookupResultKind
resultKind, DiagnosticInfo errorInfo, bool unreported = false)
74
internal ExtendedErrorTypeSymbol(NamespaceOrTypeSymbol? containingSymbol, ImmutableArray<Symbol> candidateSymbols,
LookupResultKind
resultKind, DiagnosticInfo errorInfo, int arity, bool unreported = false)
79
Debug.Assert(candidateSymbols.IsEmpty || resultKind !=
LookupResultKind
.Viable, "Shouldn't use LookupResultKind.Viable with candidate symbols");
107
internal override
LookupResultKind
ResultKind
Symbols\Metadata\PE\PENamedTypeSymbol.cs (1)
2342
return new ExtendedErrorTypeSymbol(declaredBase,
LookupResultKind
.NotReferencable, info, true);
Symbols\Retargeting\RetargetingNamedTypeSymbol.cs (1)
313
return new ExtendedErrorTypeSymbol(declaredBase,
LookupResultKind
.NotReferencable, info, true);
Symbols\Source\SourceNamedTypeSymbol_Bases.cs (4)
342
baseType = new ExtendedErrorTypeSymbol(baseType,
LookupResultKind
.Ambiguous, info);
587
localBase = new ExtendedErrorTypeSymbol(localBase,
LookupResultKind
.NotReferencable, info);
739
result.Add(new ExtendedErrorTypeSymbol(t,
LookupResultKind
.NotReferencable,
827
return new ExtendedErrorTypeSymbol(declaredBase,
LookupResultKind
.NotReferencable,
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (3)
310
resultKind:
LookupResultKind
.Viable,
378
resultKind:
LookupResultKind
.Viable,
404
resultKind:
LookupResultKind
.Viable,