116 references to Viable
Microsoft.CodeAnalysis.CSharp (116)
Binder\Binder.ValueChecks.cs (1)
642Debug.Assert(methodGroup.ResultKind != LookupResultKind.Viable);
Binder\Binder_Attributes.cs (3)
169LookupResultKind resultKind = LookupResultKind.Viable; 279hasErrors: resultKind != LookupResultKind.Viable); 547Debug.Assert(resultKind == LookupResultKind.Viable || wasError);
Binder\Binder_Deconstruct.cs (1)
956resultKind: LookupResultKind.Viable,
Binder\Binder_Expressions.cs (10)
202Debug.Assert(resultKind != LookupResultKind.Viable); 3283LookupResultKind.Viable, 5085resultKind: LookupResultKind.Viable, 5471sourceDelegate.DelegateInvokeMethod, null, BoundMethodGroupFlags.None, functionType: null, argument, LookupResultKind.Viable); 8045return BindPropertyAccess(syntax, receiver, propertySymbol, diagnostics, LookupResultKind.Viable, hasErrors: false); 8049return new BoundBadExpression(syntax, LookupResultKind.Viable, errorTypeSymbol.CandidateSymbols!, [receiver], CreateErrorType()); 8683result = new MethodGroupResolution(bestProperty, LookupResultKind.Viable, diagnostics.ToReadOnly()); 8823return new MethodGroupResolution(resultSymbol, LookupResultKind.Viable, diagnostics.ToReadOnly()); 10498method, lookupError: null, BoundMethodGroupFlags.None, functionType: null, receiver, LookupResultKind.Viable) 10994if (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 (6)
150result = CreateBadCall(node, boundExpression, LookupResultKind.Viable, analyzedArguments); 365return CreateBadCall(node, boundExpression, LookupResultKind.Viable, analyzedArguments); 735anyApplicableCandidates = resolution.ResultKind == LookupResultKind.Viable && resolution.OverloadResolutionResult.HasAnyApplicableMember; 775if (resolution.ResultKind != LookupResultKind.Viable) 1358argsToParamsOpt: argsToParams, defaultArguments, resultKind: LookupResultKind.Viable, type: returnType, hasErrors: gotError); 2472LookupResultKind.Viable,
Binder\Binder_Lookup.cs (5)
75if (result.Kind != LookupResultKind.Viable && result.Kind != LookupResultKind.Empty) 489if (res.Kind == LookupResultKind.Viable) 505if (res.Kind == LookupResultKind.Viable) 748if (result == null || result.Kind != LookupResultKind.Viable || (object)symbol == null) 1038result.MergeEqual(new SingleLookupResult(LookupResultKind.Viable, sym, null));
Binder\Binder_Operators.cs (9)
83LookupResultKind.Viable, 418resultKind: LookupResultKind.Viable, 943resultKind: LookupResultKind.Viable, left, right, type: left.Type, hasErrors: constantValue != null && constantValue.IsBad); 1350resultKind = LookupResultKind.Viable; 1364resultKind = possiblyBest.HasValue ? LookupResultKind.Viable : LookupResultKind.Empty; 1443resultKind = LookupResultKind.Viable; 1473resultKind = possiblyBest.HasValue ? LookupResultKind.Viable : LookupResultKind.Empty; 2307resultKind: LookupResultKind.Viable, 2768resultKind: LookupResultKind.Viable,
Binder\Binder_Patterns.cs (1)
366lengthAccess = new BoundPropertyAccess(node, receiverPlaceholder, initialBindingReceiverIsSubjectToCloning: ThreeState.False, lengthProperty, autoPropertyAccessorKind: AccessorKind.Unknown, LookupResultKind.Viable, lengthProperty.Type) { WasCompilerGenerated = true };
Binder\Binder_Statements.cs (3)
2678LookupResultKind.Viable, 3934LookupResultKind resultKind = LookupResultKind.Viable; 4030resultKind: 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)
178if (res.Kind == LookupResultKind.Viable)
BoundTree\BoundExpression.cs (2)
122return LookupResultKind.Viable; 283return LookupResultKind.Viable;
BoundTree\Constructors.cs (2)
20: this(syntax, receiver, fieldSymbol, constantValueOpt, LookupResultKind.Viable, fieldSymbol.Type, hasErrors) 223resultKind: LookupResultKind.Viable,
BoundTree\VariablePendingInference.cs (1)
104LookupResultKind.Viable,
Compilation\CSharpSemanticModel.cs (16)
1977if (resultKind == LookupResultKind.Viable && symbols.Count > 1) 3360resultKind = LookupResultKind.Viable; 3521case BoundKind.EventAccess when boundNodeForSyntacticParent is BoundEventAssignmentOperator { ResultKind: LookupResultKind.Viable } parentOperator && 3602Debug.Assert(resultKind != LookupResultKind.Viable); 3774resultKind = LookupResultKind.Viable; 3807if (operandType == 0 || operandType == UnaryOperatorKind.UserDefined || unaryOperator.ResultKind != LookupResultKind.Viable) 3830if (operandType == 0 || operandType == UnaryOperatorKind.UserDefined || increment.ResultKind != LookupResultKind.Viable) 3855if (operandType == 0 || operandType == BinaryOperatorKind.UserDefined || binaryOperator.ResultKind != LookupResultKind.Viable || binaryOperator.OperatorKind.IsLogical()) 3928if (operandType == 0 || operandType == BinaryOperatorKind.UserDefined || compoundAssignment.ResultKind != LookupResultKind.Viable) 3996Debug.Assert(resultKind != LookupResultKind.Viable || 4057Debug.Assert(resultKind != LookupResultKind.Viable); 4074Debug.Assert(resultKind != LookupResultKind.Viable); 4256resultKind = LookupResultKind.Viable; 4281resultKind = LookupResultKind.Viable; 4408resultKind = LookupResultKind.Viable; 4430resultKind = LookupResultKind.Viable;
Compilation\SymbolInfoFactory.cs (1)
35else 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); 155return _factory.AssignmentExpression(output, _localRewriter.MakePropertyAccess(_factory.Syntax, input, property, LookupResultKind.Viable, property.Type, isLeftOfAssignment: false));
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (6)
540new BoundBinaryOperator(syntax, operatorKind, constantValueOpt: null, methodOpt: null, constrainedToTypeOpt: null, LookupResultKind.Viable, loweredLeft, loweredRight, type); 753return new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, converted, ConstantValue.NotAvailable, MethodSymbol.None, constrainedToTypeOpt: null, LookupResultKind.Viable, boolean) 1996new BoundUnaryOperator(syntax, UnaryOperatorKind.BoolLogicalNegation, call, ConstantValue.NotAvailable, null, constrainedToTypeOpt: null, LookupResultKind.Viable, returnType); 2166LookupResultKind.Viable, 2179LookupResultKind.Viable, 2291LookupResultKind.Viable,
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
533resultKind: LookupResultKind.Viable, 1464resultKind: LookupResultKind.Viable,
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
506resultKind: LookupResultKind.Viable,
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (5)
458resultKind: LookupResultKind.Viable, 674resultKind: LookupResultKind.Viable, 970resultKind: LookupResultKind.Viable, 1174resultKind: LookupResultKind.Viable, 1270resultKind: 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)
158LookupResultKind.Viable, 175new 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)
72Debug.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)
306resultKind: LookupResultKind.Viable, 369resultKind: LookupResultKind.Viable,