597 references to LookupResultKind
Microsoft.CodeAnalysis.CSharp (593)
Binder\Binder.ValueChecks.cs (4)
862
Debug.Assert(methodGroup.ResultKind !=
LookupResultKind
.Viable);
892
var
resultKind = (valueKind == BindValueKind.RValue || valueKind == BindValueKind.RValueOrMethodGroup) ?
893
LookupResultKind
.NotAValue :
894
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;
549
Debug.Assert(resultKind ==
LookupResultKind
.Viable || wasError);
594
private Symbol BindNamedAttributeArgumentName(AttributeArgumentSyntax namedArgument, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics, out bool wasError, out
LookupResultKind
resultKind)
663
LookupResultKind
.NotAVariable,
676
LookupResultKind
.NotAVariable,
Binder\Binder_Await.cs (2)
382
resultKind:
LookupResultKind
.Viable,
523
resultKind:
LookupResultKind
.Viable,
Binder\Binder_Conversions.cs (1)
1391
if (resolution.ResultKind !=
LookupResultKind
.Viable)
Binder\Binder_Crefs.cs (1)
342
if (result.Kind ==
LookupResultKind
.Viable)
Binder\Binder_Deconstruct.cs (1)
956
resultKind:
LookupResultKind
.Viable,
Binder\Binder_Expressions.cs (79)
114
return BadExpression(syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty);
122
return BadExpression(syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, childNode);
130
return BadExpression(syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, childNodes);
136
protected BoundBadExpression BadExpression(SyntaxNode syntax,
LookupResultKind
lookupResultKind)
144
protected BoundBadExpression BadExpression(SyntaxNode syntax,
LookupResultKind
lookupResultKind, BoundExpression childNode)
152
private BoundBadExpression BadExpression(SyntaxNode syntax,
LookupResultKind
resultKind, ImmutableArray<Symbol> symbols)
165
private BoundBadExpression BadExpression(SyntaxNode syntax,
LookupResultKind
resultKind, ImmutableArray<Symbol> symbols, BoundExpression childNode)
178
private BoundBadExpression BadExpression(SyntaxNode syntax,
LookupResultKind
resultKind, ImmutableArray<Symbol> symbols, ImmutableArray<BoundExpression> childNodes, bool wasCompilerGenerated = false)
200
private BoundExpression ToBadExpression(BoundExpression expr,
LookupResultKind
resultKind =
LookupResultKind
.Empty)
203
Debug.Assert(resultKind !=
LookupResultKind
.Viable);
589
return BadExpression(node,
LookupResultKind
.NotAValue);
596
return BadExpression(node,
LookupResultKind
.NotAValue);
867
node,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(BindToTypeForErrorRecovery(BindValue(node.Expression, BindingDiagnosticBag.Discarded, BindValueKind.RefersToLocation))),
1054
argumentSyntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty,
1503
bool result = lookupResult.Kind !=
LookupResultKind
.Empty;
1665
if (lookupResult.Kind !=
LookupResultKind
.Empty)
1709
resultKind:
LookupResultKind
.WrongArity,
1837
if (lookupResult.Kind !=
LookupResultKind
.Empty)
2017
private BoundExpression BindNonMethod(SimpleNameSyntax node, Symbol symbol, BindingDiagnosticBag diagnostics,
LookupResultKind
resultKind, bool indexed, bool isError)
2454
return BadExpression(node,
LookupResultKind
.NotLabel);
2813
if (conversion.ResultKind ==
LookupResultKind
.OverloadResolutionFailure)
3297
LookupResultKind
.Viable,
4258
LookupResultKind
.Empty,
4527
LookupResultKind
.NotCreatable, //in this context, anyway
4566
LookupResultKind
.Empty,
4898
resultKind:
LookupResultKind
.Empty,
4909
resultKind:
LookupResultKind
.Empty,
4952
resultKind:
LookupResultKind
.Empty,
5109
resultKind:
LookupResultKind
.Viable,
5121
resultKind:
LookupResultKind
.OverloadResolutionFailure,
5246
type = new ExtendedErrorTypeSymbol(type,
LookupResultKind
.NotCreatable,
5256
type = new ExtendedErrorTypeSymbol(type,
LookupResultKind
.NotCreatable,
5274
return new BoundBadExpression(syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, CreateErrorType());
5489
return new BoundBadExpression(node,
LookupResultKind
.NotInvocable, StaticCast<Symbol>.From(type.InstanceConstructors), ImmutableArray.Create(argument), type);
5500
sourceDelegate.DelegateInvokeMethod, null, BoundMethodGroupFlags.None, functionType: null, argument,
LookupResultKind
.Viable);
5536
return new BoundBadExpression(node,
LookupResultKind
.OverloadResolutionFailure, StaticCast<Symbol>.From(type.InstanceConstructors), childNodes, type);
5633
return new BoundBadExpression(node,
LookupResultKind
.NotCreatable, ImmutableArray.Create<Symbol?>(type), children.ToImmutableAndFree(), type) { WasCompilerGenerated = wasCompilerGenerated };
5801
LookupResultKind
.Empty,
5821
return BindToTypeForErrorRecovery(ToBadExpression(boundExpression,
LookupResultKind
.NotAValue));
5859
LookupResultKind
resultKind;
5962
resultKind =
LookupResultKind
.NotAValue;
6048
resultKind = isRhsNestedInitializer ?
LookupResultKind
.NotAValue :
LookupResultKind
.NotAVariable;
6073
ref
LookupResultKind
resultKind)
6085
resultKind =
LookupResultKind
.NotAValue;
6115
case
LookupResultKind
.Empty:
6119
case
LookupResultKind
.Inaccessible:
6130
return ToBadExpression(boundMember, (valueKind == BindValueKind.RValue) ?
LookupResultKind
.NotAValue :
LookupResultKind
.NotAVariable);
6428
return BadExpression(elementInitializer,
LookupResultKind
.NotInvocable);
6469
return BadExpression(elementInitializer,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol>.Empty, boundElementInitializerExpressions);
6903
LookupResultKind
resultKind;
6908
resultKind =
LookupResultKind
.NotCreatable;
6912
resultKind =
LookupResultKind
.Inaccessible;
6916
resultKind =
LookupResultKind
.OverloadResolutionFailure;
7101
return new BoundBadExpression(node,
LookupResultKind
.OverloadResolutionFailure, ImmutableArray<Symbol>.Empty, children, interfaceType);
7858
return new BoundBadExpression(node,
LookupResultKind
.Ambiguous, lookupResult.Symbols.AsImmutable(), ImmutableArray.Create(boundLeft), CreateErrorType(rightName), hasErrors: true);
7879
else if (lookupResult.Kind ==
LookupResultKind
.WrongArity)
7889
else if (lookupResult.Kind ==
LookupResultKind
.Empty)
7932
return BadExpression(node,
LookupResultKind
.NotAValue, boundLeft);
8076
return BindPropertyAccess(syntax, receiver, propertySymbol, diagnostics,
LookupResultKind
.Viable, hasErrors: false);
8080
return new BoundBadExpression(syntax,
LookupResultKind
.Viable, errorTypeSymbol.CandidateSymbols!, [receiver], CreateErrorType());
8307
LookupResultKind
lookupKind)
8723
result = new MethodGroupResolution(bestProperty,
LookupResultKind
.Viable, diagnostics.ToReadOnly());
8894
ExtendedErrorTypeSymbol resultSymbol = new ExtendedErrorTypeSymbol(containingSymbol: null, symbols,
LookupResultKind
.OverloadResolutionFailure, errorInfo, arity);
8895
Debug.Assert(lookupResult.Kind ==
LookupResultKind
.Viable);
8913
LookupResultKind
resultKind,
9073
LookupResultKind
lookupResult,
9153
LookupResultKind
lookupResult,
9198
ref
LookupResultKind
resultKind,
9218
resultKind =
LookupResultKind
.StaticInstanceMismatch;
9227
resultKind =
LookupResultKind
.StaticInstanceMismatch;
9252
Debug.Assert(result.Kind !=
LookupResultKind
.Empty);
9665
return new BoundBadExpression(node,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, childBoundNodes, CreateErrorType(), hasErrors: true);
10517
method, lookupError: null, BoundMethodGroupFlags.None, functionType: null, receiver,
LookupResultKind
.Viable)
10744
LookupResultKind
methodResultKind = methodResolution.ResultKind;
10745
LookupResultKind
extensionMethodResultKind = extensionMethodResolution.ResultKind;
11060
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)
1368
argsToParamsOpt: argsToParams, defaultArguments, resultKind:
LookupResultKind
.Viable, type: returnType, hasErrors: gotError);
2036
LookupResultKind
resultKind,
2316
LookupResultKind
resultKind,
2552
LookupResultKind
.OverloadResolutionFailure,
2571
LookupResultKind
.Viable,
Binder\Binder_Lookup.cs (9)
75
if (result.Kind !=
LookupResultKind
.Viable && result.Kind !=
LookupResultKind
.Empty)
211
if (resultOfThisMember.Kind ==
LookupResultKind
.Empty)
239
if (resultOfThisMember.Kind !=
LookupResultKind
.Empty)
300
if (errorType.ResultKind ==
LookupResultKind
.Inaccessible)
490
if (res.Kind ==
LookupResultKind
.Viable)
506
if (res.Kind ==
LookupResultKind
.Viable)
727
if (result == null || result.Kind !=
LookupResultKind
.Viable || (object)symbol == null)
1026
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);
330
LookupResultKind
resultKind,
525
resultKind:
LookupResultKind
.Viable,
546
resultKind:
LookupResultKind
.OverloadResolutionFailure,
586
out
LookupResultKind
staticResultKind,
590
staticResultKind =
LookupResultKind
.Empty;
853
resultKind:
LookupResultKind
.Viable,
953
return new BoundBinaryOperator(node, kind, ConstantValue.NotAvailable, methodOpt: null, constrainedToTypeOpt: null,
LookupResultKind
.Empty, left, right, GetBinaryOperatorErrorType(kind, diagnostics, node), true);
994
return new BoundBinaryOperator(node, BinaryOperatorKind.StringConcatenation, BoundBinaryOperator.UncommonData.UnconvertedInterpolatedStringAddition(stringConstant),
LookupResultKind
.Empty, left, right, right.Type);
1012
LookupResultKind
resultKind;
1139
ref OperatorResolutionForReporting operatorResolutionForReporting, out
LookupResultKind
resultKind,
1144
resultKind =
LookupResultKind
.OverloadResolutionFailure;
1163
ref
LookupResultKind
resultKind,
1228
LookupResultKind
extensionResultKind;
1292
private void ReportUnaryOperatorError(CSharpSyntaxNode node, BindingDiagnosticBag diagnostics, string operatorName, BoundExpression operand,
LookupResultKind
resultKind, ref OperatorResolutionForReporting operatorResolutionForReporting)
1305
ErrorCode errorCode = resultKind ==
LookupResultKind
.Ambiguous ?
1313
LookupResultKind
resultKind, ref OperatorResolutionForReporting operatorResolutionForReporting)
1333
LookupResultKind
resultKind, ref OperatorResolutionForReporting operatorResolutionForReporting)
1371
case
LookupResultKind
.Ambiguous:
1375
case
LookupResultKind
.OverloadResolutionFailure when operatorToken.Kind() is SyntaxKind.PlusToken && isReadOnlySpanOfByte(left.Type) && isReadOnlySpanOfByte(right.Type):
1456
resultKind:
LookupResultKind
.Viable, left, right, type: left.Type, hasErrors: constantValue != null && constantValue.IsBad);
1466
resultKind:
LookupResultKind
.Empty, left, right, type: GetBinaryOperatorErrorType(kind, diagnostics, node), hasErrors: true);
1476
LookupResultKind
lookupResult;
1482
lookupResult =
LookupResultKind
.OverloadResolutionFailure;
2069
out
LookupResultKind
resultKind,
2087
out
LookupResultKind
resultKind,
2092
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2093
Debug.Assert(possiblyBest.HasValue == (resultKind is
LookupResultKind
.Viable));
2094
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
2096
if (!possiblyBest.HasValue && resultKind !=
LookupResultKind
.Ambiguous)
2098
Debug.Assert(resultKind is
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2101
LookupResultKind
extensionResultKind;
2128
out
LookupResultKind
resultKind,
2131
resultKind =
LookupResultKind
.Empty;
2188
out
LookupResultKind
resultKind,
2202
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2203
Debug.Assert(possiblyBest.HasValue == (resultKind is
LookupResultKind
.Viable));
2204
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
2209
private static BinaryOperatorAnalysisResult BinaryOperatorAnalyzeOverloadResolutionResult(BinaryOperatorOverloadResolutionResult result, out
LookupResultKind
resultKind, out ImmutableArray<MethodSymbol> originalUserDefinedOperators)
2228
resultKind =
LookupResultKind
.Viable;
2232
resultKind =
LookupResultKind
.Ambiguous;
2236
resultKind =
LookupResultKind
.OverloadResolutionFailure;
2242
resultKind = possiblyBest.HasValue ?
LookupResultKind
.Viable :
LookupResultKind
.Empty;
2290
out
LookupResultKind
resultKind,
2298
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2299
Debug.Assert(best.HasValue == (resultKind is
LookupResultKind
.Viable));
2300
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
2302
if (!best.HasValue && resultKind !=
LookupResultKind
.Ambiguous)
2304
Debug.Assert(resultKind is
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2307
LookupResultKind
extensionResultKind;
2332
out
LookupResultKind
resultKind,
2347
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
2348
Debug.Assert(possiblyBest.HasValue == (resultKind is
LookupResultKind
.Viable));
2349
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
2360
out
LookupResultKind
resultKind,
2380
resultKind =
LookupResultKind
.Viable;
2395
resultKind =
LookupResultKind
.OverloadResolutionFailure;
2399
resultKind =
LookupResultKind
.Ambiguous;
2404
resultKind =
LookupResultKind
.OverloadResolutionFailure;
2410
resultKind = possiblyBest.HasValue ?
LookupResultKind
.Viable :
LookupResultKind
.Empty;
2439
out
LookupResultKind
resultKind,
2442
resultKind =
LookupResultKind
.Empty;
3300
LookupResultKind
.Empty,
3321
resultKind:
LookupResultKind
.Viable,
3347
LookupResultKind
resultKind;
3351
Debug.Assert(resultKind is
LookupResultKind
.Viable or
LookupResultKind
.Ambiguous or
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
3352
Debug.Assert(best.HasValue == (resultKind is
LookupResultKind
.Viable));
3353
Debug.Assert(resultKind is not (
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty) || originalUserDefinedOperators.IsEmpty);
3355
if (!best.HasValue && resultKind !=
LookupResultKind
.Ambiguous)
3357
Debug.Assert(resultKind is
LookupResultKind
.OverloadResolutionFailure or
LookupResultKind
.Empty);
3361
LookupResultKind
staticExtensionResultKind;
3374
Debug.Assert(instanceExtensionResult.ResultKind is
LookupResultKind
.Viable || !instanceExtensionResult.OriginalUserDefinedOperatorsOpt.IsDefaultOrEmpty);
3634
LookupResultKind
.Viable,
3659
LookupResultKind
.OverloadResolutionFailure,
3698
out
LookupResultKind
staticResultKind,
3704
staticResultKind =
LookupResultKind
.Empty;
4364
resultKind:
LookupResultKind
.Empty,
4385
resultKind:
LookupResultKind
.Viable,
4389
LookupResultKind
resultKind;
Binder\Binder_Patterns.cs (4)
378
lengthAccess = new BoundPropertyAccess(node, receiverPlaceholder, initialBindingReceiverIsSubjectToCloning: ThreeState.False, lengthProperty, autoPropertyAccessorKind: AccessorKind.Unknown,
LookupResultKind
.Viable, lengthProperty.Type) { WasCompilerGenerated = true };
382
lengthAccess = new BoundBadExpression(node,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, CreateErrorType(), hasErrors: true) { WasCompilerGenerated = true };
1595
case
LookupResultKind
.Empty:
1599
case
LookupResultKind
.Inaccessible:
Binder\Binder_Query.cs (6)
302
state.selectOrGroup,
LookupResultKind
.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty,
747
yExpression = new BoundBadExpression(yExpression.Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(yExpression), CreateErrorType());
753
yExpression = new BoundBadExpression(yExpression.Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(yExpression), yExpression.Type);
814
field2Value = new BoundBadExpression(field2Value.Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(field2Value), field2Value.Type, true);
970
receiver = new BoundBadExpression(receiver.Syntax,
LookupResultKind
.NotAValue, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(receiver), CreateErrorType());
992
receiver = new BoundBadExpression(receiver.Syntax,
LookupResultKind
.NotAValue, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create(receiver), CreateErrorType());
Binder\Binder_Statements.cs (8)
2305
else if (conversion.ResultKind ==
LookupResultKind
.OverloadResolutionFailure)
2701
LookupResultKind
.Viable,
2746
var best = this.UnaryOperatorOverloadResolution(UnaryOperatorKind.True, expr, node, diagnostics, ref discardedOperatorResolutionForReporting, out
LookupResultKind
resultKind, out ImmutableArray<MethodSymbol> originalUserDefinedOperators);
3958
LookupResultKind
resultKind =
LookupResultKind
.Viable;
3988
resultKind =
LookupResultKind
.Inaccessible;
4054
resultKind:
LookupResultKind
.Viable,
4192
if (call.ResultKind ==
LookupResultKind
.Empty)
Binder\Binder_Symbols.cs (11)
223
case
LookupResultKind
.Empty:
229
case
LookupResultKind
.Viable:
342
return TypeWithAnnotations.Create(new ExtendedErrorTypeSymbol(GetContainingNamespaceOrNonExtensionType(symbol.Symbol), symbol.Symbol,
LookupResultKind
.NotATypeOrNamespace, diagnosticInfo));
593
return TypeWithAnnotations.Create(new ExtendedErrorTypeSymbol(left,
LookupResultKind
.NotATypeOrNamespace, diagnostics.Add(ErrorCode.ERR_ColColWithTypeAlias, node.Alias.Location, node.Alias.Identifier.Text)));
1508
receiver = new BoundBadExpression(receiver.Syntax,
LookupResultKind
.Ambiguous, ImmutableArray<Symbol>.Empty, ImmutableArray.Create(receiver), receiver.Type, hasErrors: true).MakeCompilerGenerated();
1518
receiver = new BoundBadExpression(receiver.Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, childBoundNodes: [receiver], receiver.Type, hasErrors: true).MakeCompilerGenerated();
2307
LookupResultKind
.Ambiguous,
2323
singleResult = new ExtendedErrorTypeSymbol(GetContainingNamespaceOrNonExtensionType(singleResult), singleResult,
LookupResultKind
.NotReferencable, errorInfo); // UNDONE: Review resultkind.
2369
if (result.Kind ==
LookupResultKind
.Empty)
2407
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)
742
LookupResultKind
.Empty,
955
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)
1044
internal
LookupResultKind
ResultKind
1053
return
LookupResultKind
.Viable;
1057
return
LookupResultKind
.OverloadResolutionFailure;
1061
return this.Kind == ConversionKind.NoConversion ?
LookupResultKind
.Empty :
LookupResultKind
.Viable;
1068
return
LookupResultKind
.OverloadResolutionFailure;
Binder\Semantics\Conversions\Conversions.cs (1)
373
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)
446
return new BoundBadExpression(node,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create(switchGoverningExpression), switchGoverningType ?? CreateErrorType());
Binder\WithUsingNamespacesAndTypesBinder.cs (1)
196
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)
118
public virtual
LookupResultKind
ResultKind
122
return
LookupResultKind
.Viable;
275
public override
LookupResultKind
ResultKind
283
return
LookupResultKind
.Viable;
345
public override
LookupResultKind
ResultKind
349
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,
415
LookupResultKind
resultKind,
436
LookupResultKind
resultKind,
449
LookupResultKind
resultKind,
535
public BoundBadExpression(SyntaxNode syntax,
LookupResultKind
resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol type)
657
LookupResultKind
resultKind,
671
LookupResultKind
resultKind,
685
LookupResultKind
resultKind,
697
LookupResultKind
resultKind,
714
LookupResultKind
resultKind,
721
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)
383
LookupResultKind
resultKind =
LookupResultKind
.Ambiguous;
391
resultKind =
LookupResultKind
.OverloadResolutionFailure;
1917
boundExpr, boundNodeForSyntacticParent, binderOpt, options, out bool isDynamic, out
LookupResultKind
resultKind, out ImmutableArray<Symbol> unusedMemberGroup);
1922
LookupResultKind
highestResultKind;
1928
if (highestResultKind !=
LookupResultKind
.Empty && highestResultKind < resultKind)
1935
resultKind ==
LookupResultKind
.OverloadResolutionFailure &&
1938
LookupResultKind
highestResultKind;
1952
if (resultKind ==
LookupResultKind
.Empty)
1956
return SymbolInfoFactory.Create(ImmutableArray<Symbol>.Empty,
LookupResultKind
.Empty, isDynamic);
1976
if (resultKind ==
LookupResultKind
.Viable && symbols.Count > 1)
1978
resultKind =
LookupResultKind
.OverloadResolutionFailure;
2281
LookupResultKind
resultKind;
2327
LookupResultKind
resultKind = originalErrorSymbol.ResultKind;
2328
if (resultKind !=
LookupResultKind
.Empty)
3348
out
LookupResultKind
resultKind,
3353
resultKind =
LookupResultKind
.Viable;
3374
if (resultKind ==
LookupResultKind
.NotCreatable)
3380
resultKind =
LookupResultKind
.Empty;
3402
((BoundBadExpression)boundNodeForSyntacticParent).ResultKind ==
LookupResultKind
.NotCreatable)
3404
resultKind =
LookupResultKind
.NotCreatable;
3505
resultKind =
LookupResultKind
.Empty;
3514
case BoundKind.EventAccess when boundNodeForSyntacticParent is BoundEventAssignmentOperator { ResultKind:
LookupResultKind
.Viable } parentOperator &&
3595
Debug.Assert(resultKind !=
LookupResultKind
.Viable);
3674
resultKind = resultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
3732
private static ParameterSymbol GetThisParameter(TypeSymbol typeOfThis, NamedTypeSymbol containingType, Symbol containingMember, out
LookupResultKind
resultKind)
3737
resultKind =
LookupResultKind
.NotReferencable;
3750
resultKind =
LookupResultKind
.NotReferencable;
3756
resultKind =
LookupResultKind
.StaticInstanceMismatch;
3765
resultKind =
LookupResultKind
.NotReferencable;
3772
resultKind =
LookupResultKind
.Viable;
3780
resultKind =
LookupResultKind
.NotReferencable;
3793
resultKind =
LookupResultKind
.NotReferencable;
3800
private static void GetSymbolsAndResultKind(BoundUnaryOperator unaryOperator, out bool isDynamic, ref
LookupResultKind
resultKind, ref OneOrMany<Symbol> symbols)
3805
if (operandType == 0 || operandType == UnaryOperatorKind.UserDefined || unaryOperator.ResultKind !=
LookupResultKind
.Viable)
3823
private static void GetSymbolsAndResultKind(BoundIncrementOperator increment, out bool isDynamic, ref
LookupResultKind
resultKind, ref OneOrMany<Symbol> symbols)
3828
if (operandType == 0 || operandType == UnaryOperatorKind.UserDefined || increment.ResultKind !=
LookupResultKind
.Viable)
3847
private static void GetSymbolsAndResultKind(BoundBinaryOperator binaryOperator, out bool isDynamic, ref
LookupResultKind
resultKind, ref OneOrMany<Symbol> symbols)
3853
if (operandType == 0 || operandType == BinaryOperatorKind.UserDefined || binaryOperator.ResultKind !=
LookupResultKind
.Viable || binaryOperator.OperatorKind.IsLogical())
3920
private static void GetSymbolsAndResultKind(BoundCompoundAssignmentOperator compoundAssignment, out bool isDynamic, ref
LookupResultKind
resultKind, ref OneOrMany<Symbol> symbols)
3926
if (operandType == 0 || operandType == BinaryOperatorKind.UserDefined || compoundAssignment.ResultKind !=
LookupResultKind
.Viable)
3946
private static void GetSymbolsAndResultKind(BoundExpression node, Symbol symbolOpt, ImmutableArray<MethodSymbol> originalCandidates, out OneOrMany<Symbol> symbols, out
LookupResultKind
resultKind)
3961
resultKind =
LookupResultKind
.Empty;
3972
ref
LookupResultKind
resultKind,
3994
Debug.Assert(resultKind !=
LookupResultKind
.Viable ||
4025
ref
LookupResultKind
resultKind,
4055
Debug.Assert(resultKind !=
LookupResultKind
.Viable);
4072
Debug.Assert(resultKind !=
LookupResultKind
.Viable);
4073
resultKind = resultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
4243
out
LookupResultKind
resultKind,
4252
if (resultKind ==
LookupResultKind
.Empty)
4254
resultKind =
LookupResultKind
.Viable;
4279
resultKind =
LookupResultKind
.Viable;
4283
resultKind = call.ResultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
4350
resultKind = resultKind.WorseResultKind(
LookupResultKind
.MemberGroup);
4357
resultKind = resultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
4372
resultKind = resultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
4382
if (!isDynamic && resultKind >
LookupResultKind
.OverloadResolutionFailure)
4384
resultKind =
LookupResultKind
.OverloadResolutionFailure;
4396
out
LookupResultKind
resultKind,
4404
if (resultKind ==
LookupResultKind
.Empty)
4406
resultKind =
LookupResultKind
.Viable;
4428
resultKind =
LookupResultKind
.Viable;
4432
resultKind = indexer.ResultKind.WorseResultKind(
LookupResultKind
.OverloadResolutionFailure);
4467
if (resultKind >
LookupResultKind
.OverloadResolutionFailure)
4469
resultKind =
LookupResultKind
.OverloadResolutionFailure;
4572
var
resultKind =
LookupResultKind
.Empty;
4708
ref
LookupResultKind
resultKind,
4718
LookupResultKind
singleKind = singleResult.Kind;
4727
resultKind =
LookupResultKind
.Empty;
4739
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,
504
resultKind:
LookupResultKind
.Viable,
Generated\BoundNodes.xml.Generated.cs (48)
961
public BoundBadExpression(SyntaxNode syntax,
LookupResultKind
resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type, bool hasErrors = false)
973
public override
LookupResultKind
ResultKind { get; }
980
public BoundBadExpression Update(
LookupResultKind
resultKind, ImmutableArray<Symbol?> symbols, ImmutableArray<BoundExpression> childBoundNodes, TypeSymbol? type)
1164
public BoundUnaryOperator(SyntaxNode syntax, UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type, bool hasErrors = false)
1186
public override
LookupResultKind
ResultKind { get; }
1192
public BoundUnaryOperator Update(UnaryOperatorKind operatorKind, BoundExpression operand, ConstantValue? constantValueOpt, MethodSymbol? methodOpt, TypeSymbol? constrainedToTypeOpt,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
1206
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)
1234
public override
LookupResultKind
ResultKind { get; }
1240
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)
1427
public BoundFunctionPointerInvocation(SyntaxNode syntax, BoundExpression invokedExpression, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt,
LookupResultKind
resultKind, TypeSymbol type, bool hasErrors = false)
1445
public override
LookupResultKind
ResultKind { get; }
1450
public BoundFunctionPointerInvocation Update(BoundExpression invokedExpression, ImmutableArray<BoundExpression> arguments, ImmutableArray<RefKind> argumentRefKindsOpt,
LookupResultKind
resultKind, TypeSymbol type)
1642
public BoundBinaryOperator(SyntaxNode syntax, BinaryOperatorKind operatorKind, BoundBinaryOperator.UncommonData? data,
LookupResultKind
resultKind, BoundExpression left, BoundExpression right, TypeSymbol type, bool hasErrors = false)
1661
public override
LookupResultKind
ResultKind { get; }
1666
public BoundBinaryOperator Update(BinaryOperatorKind operatorKind, BoundBinaryOperator.UncommonData? data,
LookupResultKind
resultKind, BoundExpression left, BoundExpression right, TypeSymbol type)
1718
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)
1751
public override
LookupResultKind
ResultKind { get; }
1757
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)
1771
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)
1798
public override
LookupResultKind
ResultKind { get; }
1804
public BoundCompoundAssignmentOperator Update(BinaryOperatorSignature @operator, BoundExpression left, BoundExpression right, BoundValuePlaceholder? leftPlaceholder, BoundExpression? leftConversion, BoundValuePlaceholder? finalPlaceholder, BoundExpression? finalConversion,
LookupResultKind
resultKind, ImmutableArray<MethodSymbol> originalUserDefinedOperatorsOpt, TypeSymbol type)
5729
protected BoundMethodOrPropertyGroup(BoundKind kind, SyntaxNode syntax, BoundExpression? receiverOpt,
LookupResultKind
resultKind, bool hasErrors = false)
5738
public override
LookupResultKind
ResultKind { get; }
6080
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)
6107
public BoundMethodGroup Update(ImmutableArray<TypeWithAnnotations> typeArgumentsOpt, string name, ImmutableArray<MethodSymbol> methods, Symbol? lookupSymbolOpt, DiagnosticInfo? lookupError, BoundMethodGroupFlags? flags, FunctionTypeSymbol? functionType, BoundExpression? receiverOpt,
LookupResultKind
resultKind)
6121
public BoundPropertyGroup(SyntaxNode syntax, ImmutableArray<PropertySymbol> properties, BoundExpression? receiverOpt,
LookupResultKind
resultKind, bool hasErrors = false)
6135
public BoundPropertyGroup Update(ImmutableArray<PropertySymbol> properties, BoundExpression? receiverOpt,
LookupResultKind
resultKind)
6149
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)
6188
public override
LookupResultKind
ResultKind { get; }
6194
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)
6247
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)
6273
public override
LookupResultKind
ResultKind { get; }
6278
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)
6753
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)
6781
public override
LookupResultKind
ResultKind { get; }
6788
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)
6875
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)
6901
public override
LookupResultKind
ResultKind { get; }
6906
public BoundCollectionElementInitializer Update(MethodSymbol addMethod, ImmutableArray<BoundExpression> arguments, BoundExpression? implicitReceiverOpt, bool expanded, ImmutableArray<int> argsToParamsOpt, BitVector defaultArguments, bool invokedAsExtensionMethod,
LookupResultKind
resultKind, TypeSymbol type)
7267
public BoundFieldAccess(SyntaxNode syntax, BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt,
LookupResultKind
resultKind, bool isByValue, bool isDeclaration, TypeSymbol type, bool hasErrors = false)
7286
public override
LookupResultKind
ResultKind { get; }
7293
public BoundFieldAccess Update(BoundExpression? receiverOpt, FieldSymbol fieldSymbol, ConstantValue? constantValueOpt,
LookupResultKind
resultKind, bool isByValue, bool isDeclaration, TypeSymbol type)
7347
public BoundPropertyAccess(SyntaxNode syntax, BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol propertySymbol, AccessorKind autoPropertyAccessorKind,
LookupResultKind
resultKind, TypeSymbol type, bool hasErrors = false)
7366
public override
LookupResultKind
ResultKind { get; }
7371
public BoundPropertyAccess Update(BoundExpression? receiverOpt, ThreeState initialBindingReceiverIsSubjectToCloning, PropertySymbol propertySymbol, AccessorKind autoPropertyAccessorKind,
LookupResultKind
resultKind, TypeSymbol type)
7385
public BoundEventAccess(SyntaxNode syntax, BoundExpression? receiverOpt, EventSymbol eventSymbol, bool isUsableAsField,
LookupResultKind
resultKind, TypeSymbol type, bool hasErrors = false)
7402
public override
LookupResultKind
ResultKind { get; }
7407
public BoundEventAccess Update(BoundExpression? receiverOpt, EventSymbol eventSymbol, bool isUsableAsField,
LookupResultKind
resultKind, TypeSymbol type)
Lowering\ClosureConversion\ClosureConversion.cs (1)
1734
return new BoundBadExpression(F.Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (4)
352
return new BoundBadExpression(node.Syntax, default(
LookupResultKind
), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), ExpressionType);
1092
return new BoundBadExpression(node.Syntax, default(
LookupResultKind
), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
1099
return new BoundBadExpression(node.Syntax, default(
LookupResultKind
), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
1131
return new BoundBadExpression(node.Syntax, default(
LookupResultKind
), ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundExpression>(node), node.Type);
Lowering\LocalRewriter\LocalRewriter.cs (2)
318
var result = new BoundFieldAccess(node.Syntax, new BoundThisReference(node.Syntax, primaryCtor.ContainingType), field, ConstantValue.NotAvailable,
LookupResultKind
.Viable, node.Type);
593
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,
1532
resultKind:
LookupResultKind
.Viable,
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
565
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);
333
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)
485
helperCall = new BoundBadExpression(fixedInitializer.Syntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType);
546
lengthCall = new BoundBadExpression(fixedInitializer.Syntax,
LookupResultKind
.NotInvocable, ImmutableArray<Symbol?>.Empty, ImmutableArray.Create<BoundExpression>(factory.Local(pinnedTemp)), ErrorTypeSymbol.UnknownResultType);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (5)
462
resultKind:
LookupResultKind
.Viable,
665
resultKind:
LookupResultKind
.Viable,
961
resultKind:
LookupResultKind
.Viable,
1165
resultKind:
LookupResultKind
.Viable,
1261
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)
358
resultKind:
LookupResultKind
.Viable,
389
newGuid = new BoundBadExpression(node.Syntax,
LookupResultKind
.NotCreatable, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType);
407
callGetTypeFromCLSID = new BoundBadExpression(node.Syntax,
LookupResultKind
.OverloadResolutionFailure, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, ErrorTypeSymbol.UnknownResultType);
419
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)
241
return new BoundBadExpression(Syntax,
LookupResultKind
.Empty, ImmutableArray<Symbol?>.Empty, ImmutableArray<BoundExpression>.Empty, type, hasErrors: true);
251
return new BoundFieldAccess(Syntax, receiver, f, ConstantValue.NotAvailable,
LookupResultKind
.Viable, f.Type) { WasCompilerGenerated = true };
644
return new BoundBinaryOperator(this.Syntax, kind, ConstantValue.NotAvailable, methodOpt: null, constrainedToTypeOpt: null,
LookupResultKind
.Viable, left, right, type) { WasCompilerGenerated = true };
802
return new BoundBadExpression(Syntax, default(
LookupResultKind
), ImmutableArray<Symbol?>.Empty, args.AsImmutable(), receiver);
867
invokedAsExtensionMethod: false, argsToParamsOpt: default(ImmutableArray<int>), defaultArguments: default(BitVector), resultKind:
LookupResultKind
.Viable,
908
argsToParamsOpt: ImmutableArray<int>.Empty, defaultArguments: default(BitVector), resultKind:
LookupResultKind
.Viable, type: method.ReturnType)
1641
return new BoundUnaryOperator(expression.Syntax, UnaryOperatorKind.BoolLogicalNegation, expression, null, null, constrainedToTypeOpt: null,
LookupResultKind
.Viable, expression.Type);
1888
new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, call, ConstantValue.NotAvailable, methodOpt: null, constrainedToTypeOpt: null,
LookupResultKind
.Viable, returnType);
Operations\CSharpOperationFactory.cs (4)
478
if (boundFunctionPointerInvocation.ResultKind !=
LookupResultKind
.Viable)
631
if (!boundIndexerAccess.OriginalIndexersOpt.IsDefault || boundIndexerAccess.ResultKind ==
LookupResultKind
.OverloadResolutionFailure)
711
if (boundObjectCreationExpression.ResultKind ==
LookupResultKind
.OverloadResolutionFailure || constructor.OriginalDefinition is ErrorMethodSymbol)
887
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");
645
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)
2129
return new ExtendedErrorTypeSymbol(declaredBase,
LookupResultKind
.NotReferencable, info, true);
Symbols\Retargeting\RetargetingNamedTypeSymbol.cs (1)
309
return new ExtendedErrorTypeSymbol(declaredBase,
LookupResultKind
.NotReferencable, info, true);
Symbols\Source\SourceNamedTypeSymbol_Bases.cs (4)
342
baseType = new ExtendedErrorTypeSymbol(baseType,
LookupResultKind
.Ambiguous, info);
540
localBase = new ExtendedErrorTypeSymbol(localBase,
LookupResultKind
.NotReferencable, info);
686
result.Add(new ExtendedErrorTypeSymbol(t,
LookupResultKind
.NotReferencable,
774
return new ExtendedErrorTypeSymbol(declaredBase,
LookupResultKind
.NotReferencable,
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
308
resultKind:
LookupResultKind
.Viable,
371
resultKind:
LookupResultKind
.Viable,
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\InteractiveSemanticModelTests.cs (1)
47
Assert.Equal(
LookupResultKind
.Inaccessible, baseType.GetSymbol<ErrorTypeSymbol>().ResultKind); // Script class members are private.
Semantics\LookupTests.cs (1)
450
Assert.True(lookupResult.IsMultiViable || lookupResult.Kind ==
LookupResultKind
.NotReferencable);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (2)
DocumentationComments\CrefTests.cs (1)
5529
Assert.Equal(
LookupResultKind
.Viable, lookupResult.Kind);
Symbols\ConversionTests.cs (1)
2081
Assert.Equal(
LookupResultKind
.OverloadResolutionFailure, elementConversion.ResultKind);