138 references to Viable
Microsoft.CodeAnalysis.CSharp (137)
Binder\Binder.ValueChecks.cs (1)
861Debug.Assert(methodGroup.ResultKind != LookupResultKind.Viable);
Binder\Binder_Attributes.cs (3)
169LookupResultKind resultKind = LookupResultKind.Viable; 281hasErrors: resultKind != LookupResultKind.Viable); 549Debug.Assert(resultKind == LookupResultKind.Viable || wasError);
Binder\Binder_Await.cs (2)
382resultKind: LookupResultKind.Viable, 523resultKind: LookupResultKind.Viable,
Binder\Binder_Conversions.cs (1)
1391if (resolution.ResultKind != LookupResultKind.Viable)
Binder\Binder_Crefs.cs (1)
342if (result.Kind == LookupResultKind.Viable)
Binder\Binder_Deconstruct.cs (1)
956resultKind: LookupResultKind.Viable,
Binder\Binder_Expressions.cs (10)
203Debug.Assert(resultKind != LookupResultKind.Viable); 3308LookupResultKind.Viable, 5120resultKind: LookupResultKind.Viable, 5510sourceDelegate.DelegateInvokeMethod, null, BoundMethodGroupFlags.None, functionType: null, argument, LookupResultKind.Viable); 8086return BindPropertyAccess(syntax, receiver, propertySymbol, diagnostics, LookupResultKind.Viable, hasErrors: false); 8090return new BoundBadExpression(syntax, LookupResultKind.Viable, errorTypeSymbol.CandidateSymbols!, [receiver], CreateErrorType()); 8731result = new MethodGroupResolution(bestProperty, LookupResultKind.Viable, diagnostics.ToReadOnly()); 8871return new MethodGroupResolution(resultSymbol, LookupResultKind.Viable, diagnostics.ToReadOnly()); 10492method, lookupError: null, BoundMethodGroupFlags.None, functionType: null, receiver, LookupResultKind.Viable) 11034if (node.ResultKind == LookupResultKind.Viable)
Binder\Binder_InterpolatedString.cs (3)
549LookupResultKind.Viable, 733if (outConstructorCall is not BoundObjectCreationExpression { ResultKind: LookupResultKind.Viable }) 746if (nonOutConstructorCall is BoundObjectCreationExpression { ResultKind: LookupResultKind.Viable })
Binder\Binder_Invocation.cs (4)
743anyApplicableCandidates = resolution.ResultKind == LookupResultKind.Viable && resolution.OverloadResolutionResult.HasAnyApplicableMember; 798if (resolution.ResultKind != LookupResultKind.Viable) 1382argsToParamsOpt: argsToParams, defaultArguments, resultKind: LookupResultKind.Viable, type: returnType, hasErrors: gotError); 2582LookupResultKind.Viable,
Binder\Binder_Lookup.cs (5)
75if (result.Kind != LookupResultKind.Viable && result.Kind != LookupResultKind.Empty) 481if (res.Kind == LookupResultKind.Viable) 497if (res.Kind == LookupResultKind.Viable) 718if (result == null || result.Kind != LookupResultKind.Viable || (object)symbol == null) 1017result.MergeEqual(new SingleLookupResult(LookupResultKind.Viable, sym, null));
Binder\Binder_Operators.cs (25)
88LookupResultKind.Viable, 154Debug.Assert(resultKind is LookupResultKind.Viable or LookupResultKind.Ambiguous or LookupResultKind.OverloadResolutionFailure or LookupResultKind.Empty); 155Debug.Assert(best.HasValue == (resultKind is LookupResultKind.Viable)); 175Debug.Assert(instanceExtensionResult.ResultKind is LookupResultKind.Viable || !instanceExtensionResult.OriginalUserDefinedOperatorsOpt.IsDefaultOrEmpty); 512resultKind: LookupResultKind.Viable, 824resultKind: LookupResultKind.Viable, 1403resultKind: LookupResultKind.Viable, left, right, type: left.Type, hasErrors: constantValue != null && constantValue.IsBad); 1993Debug.Assert(resultKind is LookupResultKind.Viable or LookupResultKind.Ambiguous or LookupResultKind.OverloadResolutionFailure or LookupResultKind.Empty); 1994Debug.Assert(possiblyBest.HasValue == (resultKind is LookupResultKind.Viable)); 2087Debug.Assert(resultKind is LookupResultKind.Viable or LookupResultKind.Ambiguous or LookupResultKind.OverloadResolutionFailure or LookupResultKind.Empty); 2088Debug.Assert(possiblyBest.HasValue == (resultKind is LookupResultKind.Viable)); 2113resultKind = LookupResultKind.Viable; 2127resultKind = possiblyBest.HasValue ? LookupResultKind.Viable : LookupResultKind.Empty; 2182Debug.Assert(resultKind is LookupResultKind.Viable or LookupResultKind.Ambiguous or LookupResultKind.OverloadResolutionFailure or LookupResultKind.Empty); 2183Debug.Assert(best.HasValue == (resultKind is LookupResultKind.Viable)); 2226Debug.Assert(resultKind is LookupResultKind.Viable or LookupResultKind.Ambiguous or LookupResultKind.OverloadResolutionFailure or LookupResultKind.Empty); 2227Debug.Assert(possiblyBest.HasValue == (resultKind is LookupResultKind.Viable)); 2259resultKind = LookupResultKind.Viable; 2289resultKind = possiblyBest.HasValue ? LookupResultKind.Viable : LookupResultKind.Empty; 3181resultKind: LookupResultKind.Viable, 3209Debug.Assert(resultKind is LookupResultKind.Viable or LookupResultKind.Ambiguous or LookupResultKind.OverloadResolutionFailure or LookupResultKind.Empty); 3210Debug.Assert(best.HasValue == (resultKind is LookupResultKind.Viable)); 3231Debug.Assert(instanceExtensionResult.ResultKind is LookupResultKind.Viable || !instanceExtensionResult.OriginalUserDefinedOperatorsOpt.IsDefaultOrEmpty); 3488LookupResultKind.Viable, 4222resultKind: LookupResultKind.Viable,
Binder\Binder_Patterns.cs (1)
367lengthAccess = new BoundPropertyAccess(node, receiverPlaceholder, initialBindingReceiverIsSubjectToCloning: ThreeState.False, lengthProperty, autoPropertyAccessorKind: AccessorKind.Unknown, LookupResultKind.Viable, lengthProperty.Type) { WasCompilerGenerated = true };
Binder\Binder_Statements.cs (3)
2701LookupResultKind.Viable, 3955LookupResultKind resultKind = LookupResultKind.Viable; 4051resultKind: LookupResultKind.Viable,
Binder\Binder_Symbols.cs (1)
228case LookupResultKind.Viable:
Binder\LookupResult.cs (4)
140return Kind == LookupResultKind.Viable; 151return Kind == LookupResultKind.Viable && _symbolList.Count == 1; 157return new SingleLookupResult(LookupResultKind.Viable, symbol, null); 266else if (Kind != LookupResultKind.Viable)
Binder\LookupResultKind.cs (1)
93case LookupResultKind.Viable:
Binder\MethodGroupResolution.cs (2)
78(this.ResultKind == LookupResultKind.Viable) && 94bool isExtensionMember = ResultKind == LookupResultKind.Viable && MethodGroup is null;
Binder\Semantics\Conversions\Conversion.cs (2)
1053return LookupResultKind.Viable; 1061return this.Kind == ConversionKind.NoConversion ? LookupResultKind.Empty : LookupResultKind.Viable;
Binder\Semantics\Conversions\Conversions.cs (1)
373resolution.ResultKind == LookupResultKind.Viable)
Binder\Semantics\OverloadResolution\MethodGroup.cs (3)
33LookupResultKind resultKind = LookupResultKind.Viable, 44LookupResultKind resultKind = LookupResultKind.Viable, 69LookupResultKind resultKind = LookupResultKind.Viable,
Binder\WithUsingNamespacesAndTypesBinder.cs (1)
196if (res.Kind == LookupResultKind.Viable)
BoundTree\BoundCall.cs (2)
11public bool IsErroneousNode => ResultKind is not LookupResultKind.Viable; 17Debug.Assert(ResultKind is LookupResultKind.Viable || HasErrors);
BoundTree\BoundExpression.cs (2)
122return LookupResultKind.Viable; 283return LookupResultKind.Viable;
BoundTree\Constructors.cs (3)
20: this(syntax, receiver, fieldSymbol, constantValueOpt, LookupResultKind.Viable, fieldSymbol.Type, hasErrors) 143Debug.Assert(resultKind is not LookupResultKind.Viable); 230resultKind: LookupResultKind.Viable,
BoundTree\VariablePendingInference.cs (1)
104LookupResultKind.Viable,
Compilation\CSharpSemanticModel.cs (16)
1983if (resultKind == LookupResultKind.Viable && symbols.Count > 1) 3366resultKind = LookupResultKind.Viable; 3527case BoundKind.EventAccess when boundNodeForSyntacticParent is BoundEventAssignmentOperator { ResultKind: LookupResultKind.Viable } parentOperator && 3608Debug.Assert(resultKind != LookupResultKind.Viable); 3785resultKind = LookupResultKind.Viable; 3818if (operandType == 0 || operandType == UnaryOperatorKind.UserDefined || unaryOperator.ResultKind != LookupResultKind.Viable) 3841if (operandType == 0 || operandType == UnaryOperatorKind.UserDefined || increment.ResultKind != LookupResultKind.Viable) 3866if (operandType == 0 || operandType == BinaryOperatorKind.UserDefined || binaryOperator.ResultKind != LookupResultKind.Viable || binaryOperator.OperatorKind.IsLogical()) 3939if (operandType == 0 || operandType == BinaryOperatorKind.UserDefined || compoundAssignment.ResultKind != LookupResultKind.Viable) 4007Debug.Assert(resultKind != LookupResultKind.Viable || 4068Debug.Assert(resultKind != LookupResultKind.Viable); 4085Debug.Assert(resultKind != LookupResultKind.Viable); 4267resultKind = LookupResultKind.Viable; 4292resultKind = LookupResultKind.Viable; 4419resultKind = LookupResultKind.Viable; 4441resultKind = LookupResultKind.Viable;
Compilation\SymbolInfoFactory.cs (1)
36else if (resultKind == LookupResultKind.Viable)
Compilation\SyntaxTreeSemanticModel.cs (1)
267result = SymbolInfoFactory.Create(symbols, LookupResultKind.Viable, isDynamic: false);
Compiler\MethodBodySynthesizer.cs (2)
56resultKind: LookupResultKind.Viable, 504resultKind: LookupResultKind.Viable,
Lowering\LocalRewriter\LocalRewriter.cs (1)
318var result = new BoundFieldAccess(node.Syntax, new BoundThisReference(node.Syntax, primaryCtor.ContainingType), field, ConstantValue.NotAvailable, LookupResultKind.Viable, node.Type);
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (2)
145BoundExpression access = _localRewriter.MakeFieldAccess(f.Syntax, input, field, null, LookupResultKind.Viable, field.Type); 157return _factory.AssignmentExpression(output, _localRewriter.MakePropertyAccess(_factory.Syntax, input, property, LookupResultKind.Viable, property.Type, isLeftOfAssignment: false));
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (6)
541new BoundBinaryOperator(syntax, operatorKind, constantValueOpt: null, methodOpt: null, constrainedToTypeOpt: null, LookupResultKind.Viable, loweredLeft, loweredRight, type); 756return new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, converted, ConstantValue.NotAvailable, MethodSymbol.None, constrainedToTypeOpt: null, LookupResultKind.Viable, boolean) 2008new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, call, ConstantValue.NotAvailable, null, constrainedToTypeOpt: null, LookupResultKind.Viable, returnType); 2178LookupResultKind.Viable, 2191LookupResultKind.Viable, 2303LookupResultKind.Viable,
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
549resultKind: LookupResultKind.Viable, 1532resultKind: LookupResultKind.Viable,
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
505resultKind: LookupResultKind.Viable,
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (5)
462resultKind: LookupResultKind.Viable, 665resultKind: LookupResultKind.Viable, 961resultKind: LookupResultKind.Viable, 1165resultKind: LookupResultKind.Viable, 1261resultKind: LookupResultKind.Viable,
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (1)
358resultKind: LookupResultKind.Viable,
Lowering\LocalRewriter\LocalRewriter_PropertyAccess.cs (2)
86oldNodeOpt.Update(rewrittenReceiver, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, property, autoPropertyAccessorKind: AccessorKind.Unknown, LookupResultKind.Viable, property.Type) : 87new BoundPropertyAccess(syntax, rewrittenReceiver, initialBindingReceiverIsSubjectToCloning: ThreeState.Unknown, property, autoPropertyAccessorKind: AccessorKind.Unknown, LookupResultKind.Viable, property.Type);
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (2)
159LookupResultKind.Viable, 176new BoundUnaryOperator(syntax, kind, loweredOperand, null, methodOpt: method, constrainedToTypeOpt: constrainedToTypeOpt, LookupResultKind.Viable, type);
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (1)
534return MakeCall(null, syntax, expression, method, rewrittenArguments, argumentRefKindsOpt, LookupResultKind.Viable, temps.ToImmutableAndFree());
Lowering\SyntheticBoundNodeFactory.cs (6)
251return new BoundFieldAccess(Syntax, receiver, f, ConstantValue.NotAvailable, LookupResultKind.Viable, f.Type) { WasCompilerGenerated = true }; 644return new BoundBinaryOperator(this.Syntax, kind, ConstantValue.NotAvailable, methodOpt: null, constrainedToTypeOpt: null, LookupResultKind.Viable, left, right, type) { WasCompilerGenerated = true }; 867invokedAsExtensionMethod: false, argsToParamsOpt: default(ImmutableArray<int>), defaultArguments: default(BitVector), resultKind: LookupResultKind.Viable, 908argsToParamsOpt: ImmutableArray<int>.Empty, defaultArguments: default(BitVector), resultKind: LookupResultKind.Viable, type: method.ReturnType) 1641return new BoundUnaryOperator(expression.Syntax, UnaryOperatorKind.BoolLogicalNegation, expression, null, null, constrainedToTypeOpt: null, LookupResultKind.Viable, expression.Type); 1888new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, call, ConstantValue.NotAvailable, methodOpt: null, constrainedToTypeOpt: null, LookupResultKind.Viable, returnType);
Operations\CSharpOperationFactory.cs (1)
478if (boundFunctionPointerInvocation.ResultKind != LookupResultKind.Viable)
Symbols\ErrorTypeSymbol.cs (1)
73Debug.Assert(ResultKind != LookupResultKind.Viable, "Shouldn't have viable result kind on error symbol");
Symbols\ExtendedErrorTypeSymbol.cs (1)
79Debug.Assert(candidateSymbols.IsEmpty || resultKind != LookupResultKind.Viable, "Shouldn't use LookupResultKind.Viable with candidate symbols");
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
308resultKind: LookupResultKind.Viable, 371resultKind: LookupResultKind.Viable,
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
DocumentationComments\CrefTests.cs (1)
5529Assert.Equal(LookupResultKind.Viable, lookupResult.Kind);