Binder\Binder_Operators.cs (43)
43if (left.Kind == BoundKind.EventAccess)
111if (left.Kind == BoundKind.EventAccess && !CheckEventValueKind((BoundEventAccess)left, BindValueKind.Assignable, diagnostics))
312Debug.Assert(left.Kind != BoundKind.EventAccess || hasError);
907if (result.Kind == BoundKind.TypeExpression
912else if (result.Kind == BoundKind.BadExpression)
1335case (BoundKind.DefaultLiteral, _) when !isEquality:
1336case (_, BoundKind.DefaultLiteral) when !isEquality:
1340case (BoundKind.DefaultLiteral, BoundKind.DefaultLiteral):
1343case (BoundKind.DefaultLiteral, _) when right.Type is TypeParameterSymbol:
1347case (_, BoundKind.DefaultLiteral) when left.Type is TypeParameterSymbol:
1351case (BoundKind.UnconvertedObjectCreationExpression, _):
1354case (_, BoundKind.UnconvertedObjectCreationExpression):
2917if (left.Kind == BoundKind.Conversion && right.Kind == BoundKind.Conversion)
4062case BoundKind.NamespaceExpression:
4063case BoundKind.TypeExpression:
4191BoundKind exprKind = expr.Kind;
4194case BoundKind.FieldAccess:
4195case BoundKind.EventAccess:
4199if (exprKind == BoundKind.FieldAccess)
4241case BoundKind.InlineArrayAccess:
4253case BoundKind.RangeVariable:
4261case BoundKind.Parameter:
4284case BoundKind.ThisReference:
4285case BoundKind.BaseReference:
4290case BoundKind.Local:
4300case BoundKind.PointerIndirectionOperator: //Covers ->, since the receiver will be one of these.
4301case BoundKind.ConvertedStackAllocExpression:
4305case BoundKind.PointerElementAccess:
4320case BoundKind.PropertyAccess: // Never fixed
4321case BoundKind.IndexerAccess: // Never fixed
4763case BoundKind.UnboundLambda:
4764case BoundKind.Lambda:
4765case BoundKind.MethodGroup: // New in Roslyn - see DevDiv #864740.
4896operand.Kind == BoundKind.MethodGroup ||
5384case BoundKind.UnboundLambda:
5385case BoundKind.Lambda:
5386case BoundKind.MethodGroup: // New in Roslyn - see DevDiv #864740.
5395case BoundKind.TupleLiteral:
5396case BoundKind.ConvertedTupleLiteral:
5695if (leftOperand.Kind == BoundKind.UnboundLambda || leftOperand.Kind == BoundKind.MethodGroup)
Generated\BoundNodes.xml.Generated.cs (609)
264protected BoundInitializer(BoundKind kind, SyntaxNode syntax, bool hasErrors)
269protected BoundInitializer(BoundKind kind, SyntaxNode syntax)
278protected BoundEqualsValue(BoundKind kind, SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression value, bool hasErrors = false)
296: base(BoundKind.FieldEqualsValue, syntax, locals, value, hasErrors || value.HasErrors())
326: base(BoundKind.PropertyEqualsValue, syntax, locals, value, hasErrors || value.HasErrors())
356: base(BoundKind.ParameterEqualsValue, syntax, locals, value, hasErrors || value.HasErrors())
386: base(BoundKind.GlobalStatementInitializer, syntax, hasErrors || statement.HasErrors())
413protected BoundExpression(BoundKind kind, SyntaxNode syntax, TypeSymbol? type, bool hasErrors)
419protected BoundExpression(BoundKind kind, SyntaxNode syntax, TypeSymbol? type)
430protected BoundValuePlaceholderBase(BoundKind kind, SyntaxNode syntax, TypeSymbol? type, bool hasErrors)
435protected BoundValuePlaceholderBase(BoundKind kind, SyntaxNode syntax, TypeSymbol? type)
444protected BoundEarlyValuePlaceholderBase(BoundKind kind, SyntaxNode syntax, TypeSymbol? type, bool hasErrors)
449protected BoundEarlyValuePlaceholderBase(BoundKind kind, SyntaxNode syntax, TypeSymbol? type)
459: base(BoundKind.ValuePlaceholder, syntax, type, hasErrors)
464: base(BoundKind.ValuePlaceholder, syntax, type)
487: base(BoundKind.CapturedReceiverPlaceholder, syntax, type, hasErrors || receiver.HasErrors())
515: base(BoundKind.DeconstructValuePlaceholder, syntax, type, hasErrors)
525: base(BoundKind.DeconstructValuePlaceholder, syntax, type)
556: base(BoundKind.TupleOperandPlaceholder, syntax, type, hasErrors)
564: base(BoundKind.TupleOperandPlaceholder, syntax, type)
591: base(BoundKind.AwaitableValuePlaceholder, syntax, type, hasErrors)
596: base(BoundKind.AwaitableValuePlaceholder, syntax, type)
620: base(BoundKind.DisposableValuePlaceholder, syntax, type, hasErrors)
628: base(BoundKind.DisposableValuePlaceholder, syntax, type)
655: base(BoundKind.ObjectOrCollectionValuePlaceholder, syntax, type, hasErrors)
664: base(BoundKind.ObjectOrCollectionValuePlaceholder, syntax, type)
693: base(BoundKind.ImplicitIndexerValuePlaceholder, syntax, type, hasErrors)
701: base(BoundKind.ImplicitIndexerValuePlaceholder, syntax, type)
728: base(BoundKind.ImplicitIndexerReceiverPlaceholder, syntax, type, hasErrors || receiver.HasErrors())
760: base(BoundKind.ListPatternReceiverPlaceholder, syntax, type, hasErrors)
768: base(BoundKind.ListPatternReceiverPlaceholder, syntax, type)
795: base(BoundKind.ListPatternIndexPlaceholder, syntax, type, hasErrors)
803: base(BoundKind.ListPatternIndexPlaceholder, syntax, type)
830: base(BoundKind.SlicePatternReceiverPlaceholder, syntax, type, hasErrors)
838: base(BoundKind.SlicePatternReceiverPlaceholder, syntax, type)
865: base(BoundKind.SlicePatternRangePlaceholder, syntax, type, hasErrors)
873: base(BoundKind.SlicePatternRangePlaceholder, syntax, type)
900: base(BoundKind.CollectionBuilderElementsPlaceholder, syntax, type, hasErrors)
905: base(BoundKind.CollectionBuilderElementsPlaceholder, syntax, type)
928: base(BoundKind.Dup, syntax, type, hasErrors)
934: base(BoundKind.Dup, syntax, type)
959: base(BoundKind.PassByCopy, syntax, type, hasErrors || expression.HasErrors())
987: base(BoundKind.BadExpression, syntax, type, hasErrors || childBoundNodes.HasErrors())
1024: base(BoundKind.BadStatement, syntax, hasErrors || childBoundNodes.HasErrors())
1052: base(BoundKind.ExtractedFinallyBlock, syntax, hasErrors || finallyBlock.HasErrors())
1080: base(BoundKind.TypeExpression, syntax, type, hasErrors || boundContainingTypeOpt.HasErrors() || boundDimensionsOpt.HasErrors())
1115: base(BoundKind.TypeOrValueExpression, syntax, type, hasErrors)
1131: base(BoundKind.TypeOrValueExpression, syntax, type)
1164: base(BoundKind.NamespaceExpression, syntax, null, hasErrors)
1174: base(BoundKind.NamespaceExpression, syntax, null)
1205: base(BoundKind.UnaryOperator, syntax, type, hasErrors || operand.HasErrors())
1247: base(BoundKind.IncrementOperator, syntax, type, hasErrors || operand.HasErrors() || operandPlaceholder.HasErrors() || operandConversion.HasErrors() || resultPlaceholder.HasErrors() || resultConversion.HasErrors())
1295: base(BoundKind.AddressOfOperator, syntax, type, hasErrors || operand.HasErrors())
1327: base(BoundKind.UnconvertedAddressOfOperator, syntax, null, hasErrors || operand.HasErrors())
1356: base(BoundKind.FunctionPointerLoad, syntax, type, hasErrors)
1367: base(BoundKind.FunctionPointerLoad, syntax, type)
1399: base(BoundKind.PointerIndirectionOperator, syntax, type, hasErrors || operand.HasErrors())
1431: base(BoundKind.PointerElementAccess, syntax, type, hasErrors || expression.HasErrors() || index.HasErrors())
1468: base(BoundKind.FunctionPointerInvocation, syntax, type, hasErrors || invokedExpression.HasErrors() || arguments.HasErrors())
1505: base(BoundKind.RefTypeOperator, syntax, type, hasErrors || operand.HasErrors())
1537: base(BoundKind.MakeRefOperator, syntax, type, hasErrors || operand.HasErrors())
1567: base(BoundKind.RefValueOperator, syntax, type, hasErrors || operand.HasErrors())
1599: base(BoundKind.FromEndIndexExpression, syntax, type, hasErrors || operand.HasErrors())
1631: base(BoundKind.RangeExpression, syntax, type, hasErrors || leftOperandOpt.HasErrors() || rightOperandOpt.HasErrors())
1663protected BoundBinaryOperatorBase(BoundKind kind, SyntaxNode syntax, BoundExpression left, BoundExpression right, TypeSymbol type, bool hasErrors = false)
1683: base(BoundKind.BinaryOperator, syntax, left, right, type, hasErrors || left.HasErrors() || right.HasErrors())
1721: base(BoundKind.TupleBinaryOperator, syntax, type, hasErrors || left.HasErrors() || right.HasErrors())
1759: base(BoundKind.UserDefinedConditionalLogicalOperator, syntax, left, right, type, hasErrors || trueFalseOperandPlaceholder.HasErrors() || trueFalseOperandConversion.HasErrors() || left.HasErrors() || right.HasErrors())
1812: base(BoundKind.CompoundAssignmentOperator, syntax, type, hasErrors || left.HasErrors() || right.HasErrors() || leftPlaceholder.HasErrors() || leftConversion.HasErrors() || finalPlaceholder.HasErrors() || finalConversion.HasErrors())
1859: base(BoundKind.AssignmentOperator, syntax, type, hasErrors || left.HasErrors() || right.HasErrors())
1893: base(BoundKind.DeconstructionAssignmentOperator, syntax, type, hasErrors || left.HasErrors() || right.HasErrors())
1928: base(BoundKind.NullCoalescingOperator, syntax, type, hasErrors || leftOperand.HasErrors() || rightOperand.HasErrors() || leftPlaceholder.HasErrors() || leftConversion.HasErrors())
1969: base(BoundKind.NullCoalescingAssignmentOperator, syntax, type, hasErrors || leftOperand.HasErrors() || rightOperand.HasErrors())
2000: base(BoundKind.UnconvertedConditionalOperator, syntax, null, hasErrors || condition.HasErrors() || consequence.HasErrors() || alternative.HasErrors())
2039: base(BoundKind.ConditionalOperator, syntax, type, hasErrors || condition.HasErrors() || consequence.HasErrors() || alternative.HasErrors())
2083: base(BoundKind.ArrayAccess, syntax, type, hasErrors || expression.HasErrors() || indices.HasErrors())
2116: base(BoundKind.RefArrayAccess, syntax, type, hasErrors || arrayAccess.HasErrors())
2146: base(BoundKind.ArrayLength, syntax, type, hasErrors || expression.HasErrors())
2176: base(BoundKind.AwaitableInfo, syntax, hasErrors || awaitableInstancePlaceholder.HasErrors() || getAwaiter.HasErrors() || runtimeAsyncAwaitCall.HasErrors() || runtimeAsyncAwaitCallPlaceholder.HasErrors())
2217: base(BoundKind.AwaitExpression, syntax, type, hasErrors || expression.HasErrors() || awaitableInfo.HasErrors())
2251protected BoundTypeOf(BoundKind kind, SyntaxNode syntax, MethodSymbol? getTypeFromHandle, TypeSymbol type, bool hasErrors)
2260protected BoundTypeOf(BoundKind kind, SyntaxNode syntax, MethodSymbol? getTypeFromHandle, TypeSymbol type)
2276: base(BoundKind.TypeOfOperator, syntax, getTypeFromHandle, type, hasErrors || sourceType.HasErrors())
2305: base(BoundKind.BlockInstrumentation, syntax, hasErrors || prologue.HasErrors() || epilogue.HasErrors())
2337: base(BoundKind.MethodDefIndex, syntax, type, hasErrors)
2351: base(BoundKind.MethodDefIndex, syntax, type)
2381: base(BoundKind.LocalId, syntax, type, hasErrors)
2392: base(BoundKind.LocalId, syntax, type)
2424: base(BoundKind.ParameterId, syntax, type, hasErrors)
2435: base(BoundKind.ParameterId, syntax, type)
2467: base(BoundKind.StateMachineInstanceId, syntax, type, hasErrors)
2475: base(BoundKind.StateMachineInstanceId, syntax, type)
2502: base(BoundKind.MaximumMethodDefIndex, syntax, type, hasErrors)
2510: base(BoundKind.MaximumMethodDefIndex, syntax, type)
2537: base(BoundKind.InstrumentationPayloadRoot, syntax, type, hasErrors)
2546: base(BoundKind.InstrumentationPayloadRoot, syntax, type)
2575: base(BoundKind.ThrowIfModuleCancellationRequested, syntax, type, hasErrors)
2583: base(BoundKind.ThrowIfModuleCancellationRequested, syntax, type)
2610: base(BoundKind.ModuleCancellationTokenExpression, syntax, type, hasErrors)
2618: base(BoundKind.ModuleCancellationTokenExpression, syntax, type)
2645: base(BoundKind.ModuleVersionId, syntax, type, hasErrors)
2653: base(BoundKind.ModuleVersionId, syntax, type)
2680: base(BoundKind.ModuleVersionIdString, syntax, type, hasErrors)
2688: base(BoundKind.ModuleVersionIdString, syntax, type)
2715: base(BoundKind.SourceDocumentIndex, syntax, type, hasErrors)
2725: base(BoundKind.SourceDocumentIndex, syntax, type)
2755: base(BoundKind.MethodInfo, syntax, type, hasErrors)
2766: base(BoundKind.MethodInfo, syntax, type)
2798: base(BoundKind.FieldInfo, syntax, type, hasErrors)
2809: base(BoundKind.FieldInfo, syntax, type)
2841: base(BoundKind.DefaultLiteral, syntax, null, hasErrors)
2846: base(BoundKind.DefaultLiteral, syntax, null)
2864: base(BoundKind.DefaultExpression, syntax, type, hasErrors || targetType.HasErrors())
2895: base(BoundKind.IsOperator, syntax, type, hasErrors || operand.HasErrors() || targetType.HasErrors())
2930: base(BoundKind.AsOperator, syntax, type, hasErrors || operand.HasErrors() || targetType.HasErrors() || operandPlaceholder.HasErrors() || operandConversion.HasErrors())
2967: base(BoundKind.SizeOfOperator, syntax, type, hasErrors || sourceType.HasErrors())
2999: base(BoundKind.Conversion, syntax, type, hasErrors || operand.HasErrors())
3047: base(BoundKind.ReadOnlySpanFromArray, syntax, type, hasErrors || operand.HasErrors())
3080: base(BoundKind.ArgList, syntax, type, hasErrors)
3088: base(BoundKind.ArgList, syntax, type)
3115: base(BoundKind.ArgListOperator, syntax, type, hasErrors || arguments.HasErrors())
3146: base(BoundKind.FixedLocalCollectionInitializer, syntax, type, hasErrors || elementPointerPlaceholder.HasErrors() || elementPointerConversion.HasErrors() || expression.HasErrors())
3184protected BoundStatement(BoundKind kind, SyntaxNode syntax, bool hasErrors)
3189protected BoundStatement(BoundKind kind, SyntaxNode syntax)
3199: base(BoundKind.SequencePoint, syntax, hasErrors || statementOpt.HasErrors())
3224: base(BoundKind.SequencePointWithSpan, syntax, hasErrors || statementOpt.HasErrors())
3251: base(BoundKind.SavePreviousSequencePoint, syntax, hasErrors)
3260: base(BoundKind.SavePreviousSequencePoint, syntax)
3288: base(BoundKind.RestorePreviousSequencePoint, syntax, hasErrors)
3297: base(BoundKind.RestorePreviousSequencePoint, syntax)
3325: base(BoundKind.StepThroughSequencePoint, syntax, hasErrors)
3331: base(BoundKind.StepThroughSequencePoint, syntax)
3356: base(BoundKind.Block, syntax, statements, hasErrors || instrumentation.HasErrors() || statements.HasErrors())
3392: base(BoundKind.Scope, syntax, statements, hasErrors || statements.HasErrors())
3421: base(BoundKind.StateMachineScope, syntax, hasErrors || statement.HasErrors())
3452: base(BoundKind.LocalDeclaration, syntax, hasErrors || declaredTypeOpt.HasErrors() || initializerOpt.HasErrors() || argumentsOpt.HasErrors())
3487protected BoundMultipleLocalDeclarationsBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false)
3502: base(BoundKind.MultipleLocalDeclarations, syntax, localDeclarations, hasErrors || localDeclarations.HasErrors())
3528: base(BoundKind.UsingLocalDeclarations, syntax, localDeclarations, hasErrors || awaitOpt.HasErrors() || localDeclarations.HasErrors())
3558: base(BoundKind.LocalFunctionStatement, syntax, hasErrors || blockBody.HasErrors() || expressionBody.HasErrors())
3590: base(BoundKind.NoOpStatement, syntax, hasErrors)
3596: base(BoundKind.NoOpStatement, syntax)
3621: base(BoundKind.ReturnStatement, syntax, hasErrors || expressionOpt.HasErrors())
3654: base(BoundKind.YieldReturnStatement, syntax, hasErrors || expression.HasErrors())
3682: base(BoundKind.YieldBreakStatement, syntax, hasErrors)
3687: base(BoundKind.YieldBreakStatement, syntax)
3699: base(BoundKind.ThrowStatement, syntax, hasErrors || expressionOpt.HasErrors())
3724: base(BoundKind.ExpressionStatement, syntax, hasErrors || expression.HasErrors())
3752: base(BoundKind.BreakStatement, syntax, hasErrors || labelExpressionOpt.HasErrors())
3782: base(BoundKind.ContinueStatement, syntax, hasErrors || labelExpressionOpt.HasErrors())
3812: base(BoundKind.SwitchStatement, syntax, hasErrors || expression.HasErrors() || switchSections.HasErrors() || reachabilityDecisionDag.HasErrors() || defaultLabel.HasErrors())
3857: base(BoundKind.SwitchDispatch, syntax, hasErrors || expression.HasErrors())
3893: base(BoundKind.IfStatement, syntax, hasErrors || condition.HasErrors() || consequence.HasErrors() || alternativeOpt.HasErrors())
3925protected BoundLoopStatement(BoundKind kind, SyntaxNode syntax, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors)
3936protected BoundLoopStatement(BoundKind kind, SyntaxNode syntax, LabelSymbol breakLabel, LabelSymbol continueLabel)
3953protected BoundConditionalLoopStatement(BoundKind kind, SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors = false)
3976: base(BoundKind.DoStatement, syntax, locals, condition, body, breakLabel, continueLabel, hasErrors || condition.HasErrors() || body.HasErrors())
4006: base(BoundKind.WhileStatement, syntax, locals, condition, body, breakLabel, continueLabel, hasErrors || condition.HasErrors() || body.HasErrors())
4036: base(BoundKind.ForStatement, syntax, breakLabel, continueLabel, hasErrors || initializer.HasErrors() || condition.HasErrors() || increment.HasErrors() || body.HasErrors())
4078: base(BoundKind.ForEachStatement, syntax, breakLabel, continueLabel, hasErrors || elementPlaceholder.HasErrors() || elementConversion.HasErrors() || iterationVariableType.HasErrors() || iterationErrorExpressionOpt.HasErrors() || expression.HasErrors() || deconstructionOpt.HasErrors() || body.HasErrors())
4127: base(BoundKind.ForEachDeconstructStep, syntax, hasErrors || deconstructionAssignment.HasErrors() || targetPlaceholder.HasErrors())
4158: base(BoundKind.UsingStatement, syntax, hasErrors || declarationsOpt.HasErrors() || expressionOpt.HasErrors() || body.HasErrors() || awaitOpt.HasErrors())
4197: base(BoundKind.FixedStatement, syntax, hasErrors || declarations.HasErrors() || body.HasErrors())
4231: base(BoundKind.LockStatement, syntax, hasErrors || argument.HasErrors() || body.HasErrors())
4262: base(BoundKind.TryStatement, syntax, hasErrors || tryBlock.HasErrors() || catchBlocks.HasErrors() || finallyBlockOpt.HasErrors())
4299: base(BoundKind.CatchBlock, syntax, hasErrors || exceptionSourceOpt.HasErrors() || exceptionFilterPrologueOpt.HasErrors() || exceptionFilterOpt.HasErrors() || body.HasErrors())
4340: base(BoundKind.Literal, syntax, type, hasErrors)
4346: base(BoundKind.Literal, syntax, type)
4371: base(BoundKind.Utf8String, syntax, type, hasErrors)
4381: base(BoundKind.Utf8String, syntax, type)
4411: base(BoundKind.ThisReference, syntax, type, hasErrors)
4419: base(BoundKind.ThisReference, syntax, type)
4446: base(BoundKind.PreviousSubmissionReference, syntax, type, hasErrors)
4454: base(BoundKind.PreviousSubmissionReference, syntax, type)
4481: base(BoundKind.HostObjectMemberReference, syntax, type, hasErrors)
4489: base(BoundKind.HostObjectMemberReference, syntax, type)
4516: base(BoundKind.BaseReference, syntax, type, hasErrors)
4521: base(BoundKind.BaseReference, syntax, type)
4545: base(BoundKind.Local, syntax, type, hasErrors)
4558: base(BoundKind.Local, syntax, type)
4594: base(BoundKind.PseudoVariable, syntax, type, hasErrors)
4606: base(BoundKind.PseudoVariable, syntax, type)
4639: base(BoundKind.RangeVariable, syntax, type, hasErrors || value.HasErrors())
4672: base(BoundKind.Parameter, syntax, type, hasErrors)
4682: base(BoundKind.Parameter, syntax, type)
4712: base(BoundKind.LabelStatement, syntax, hasErrors)
4721: base(BoundKind.LabelStatement, syntax)
4749: base(BoundKind.GotoStatement, syntax, hasErrors || caseExpressionOpt.HasErrors() || labelExpressionOpt.HasErrors())
4781: base(BoundKind.LabeledStatement, syntax, hasErrors || body.HasErrors())
4812: base(BoundKind.Label, syntax, type, hasErrors)
4821: base(BoundKind.Label, syntax, type)
4848protected BoundStatementList(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
4858: base(BoundKind.StatementList, syntax, hasErrors || statements.HasErrors())
4886: base(BoundKind.ConditionalGoto, syntax, hasErrors || condition.HasErrors())
4918protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4943: base(BoundKind.SwitchExpressionArm, syntax, hasErrors || pattern.HasErrors() || whenClause.HasErrors() || value.HasErrors())
4984: base(BoundKind.UnconvertedSwitchExpression, syntax, expression, switchArms, reachabilityDecisionDag, defaultLabel, reportedNotExhaustive, type, hasErrors || expression.HasErrors() || switchArms.HasErrors() || reachabilityDecisionDag.HasErrors())
5012: base(BoundKind.ConvertedSwitchExpression, syntax, expression, switchArms, reachabilityDecisionDag, defaultLabel, reportedNotExhaustive, type, hasErrors || expression.HasErrors() || switchArms.HasErrors() || reachabilityDecisionDag.HasErrors())
5046: base(BoundKind.DecisionDag, syntax, hasErrors || rootNode.HasErrors())
5075protected BoundDecisionDagNode(BoundKind kind, SyntaxNode syntax, bool hasErrors)
5080protected BoundDecisionDagNode(BoundKind kind, SyntaxNode syntax)
5090: base(BoundKind.EvaluationDecisionDagNode, syntax, hasErrors || evaluation.HasErrors() || next.HasErrors())
5121: base(BoundKind.TestDecisionDagNode, syntax, hasErrors || test.HasErrors() || whenTrue.HasErrors() || whenFalse.HasErrors())
5155: base(BoundKind.WhenDecisionDagNode, syntax, hasErrors || whenExpression.HasErrors() || whenTrue.HasErrors() || whenFalse.HasErrors())
5190: base(BoundKind.LeafDecisionDagNode, syntax, hasErrors)
5199: base(BoundKind.LeafDecisionDagNode, syntax)
5226protected BoundDagTest(BoundKind kind, SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false)
5241: base(BoundKind.DagTemp, syntax, hasErrors || source.HasErrors())
5273: base(BoundKind.DagTypeTest, syntax, input, hasErrors || input.HasErrors())
5302: base(BoundKind.DagNonNullTest, syntax, input, hasErrors || input.HasErrors())
5330: base(BoundKind.DagExplicitNullTest, syntax, input, hasErrors || input.HasErrors())
5356: base(BoundKind.DagValueTest, syntax, input, hasErrors || input.HasErrors())
5385: base(BoundKind.DagRelationalTest, syntax, input, hasErrors || input.HasErrors())
5415protected BoundDagEvaluation(BoundKind kind, SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false)
5428: base(BoundKind.DagDeconstructEvaluation, syntax, input, hasErrors || input.HasErrors())
5457: base(BoundKind.DagTypeEvaluation, syntax, input, hasErrors || input.HasErrors())
5486: base(BoundKind.DagFieldEvaluation, syntax, input, hasErrors || input.HasErrors())
5515: base(BoundKind.DagPropertyEvaluation, syntax, input, hasErrors || input.HasErrors())
5546: base(BoundKind.DagIndexEvaluation, syntax, input, hasErrors || input.HasErrors())
5577: base(BoundKind.DagIndexerEvaluation, syntax, input, hasErrors || lengthTemp.HasErrors() || indexerAccess.HasErrors() || receiverPlaceholder.HasErrors() || argumentPlaceholder.HasErrors() || input.HasErrors())
5624: base(BoundKind.DagSliceEvaluation, syntax, input, hasErrors || lengthTemp.HasErrors() || indexerAccess.HasErrors() || receiverPlaceholder.HasErrors() || argumentPlaceholder.HasErrors() || input.HasErrors())
5673: base(BoundKind.DagAssignmentEvaluation, syntax, input, hasErrors || target.HasErrors() || input.HasErrors())
5702: base(BoundKind.DagPassThroughEvaluation, syntax, input, hasErrors || input.HasErrors())
5728: base(BoundKind.SwitchSection, syntax, statements, hasErrors || switchLabels.HasErrors() || statements.HasErrors())
5760: base(BoundKind.SwitchLabel, syntax, hasErrors || pattern.HasErrors() || whenClause.HasErrors())
5794protected BoundMethodOrPropertyGroup(BoundKind kind, SyntaxNode syntax, BoundExpression? receiverOpt, LookupResultKind resultKind, bool hasErrors = false)
5809: base(BoundKind.SequencePointExpression, syntax, type, hasErrors || expression.HasErrors())
5837: base(BoundKind.Sequence, syntax, type, hasErrors || sideEffects.HasErrors() || value.HasErrors())
5873: base(BoundKind.SpillSequence, syntax, type, hasErrors || sideEffects.HasErrors() || value.HasErrors())
5909: base(BoundKind.DynamicMemberAccess, syntax, type, hasErrors || receiver.HasErrors())
5947protected BoundDynamicInvocableBase(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol? type, bool hasErrors = false)
5965: base(BoundKind.DynamicInvocation, syntax, expression, arguments, type, hasErrors || expression.HasErrors() || arguments.HasErrors())
6001: base(BoundKind.ConditionalAccess, syntax, type, hasErrors || receiver.HasErrors() || accessExpression.HasErrors())
6034: base(BoundKind.LoweredConditionalAccess, syntax, type, hasErrors || receiver.HasErrors() || whenNotNull.HasErrors() || whenNullOpt.HasErrors())
6075: base(BoundKind.ConditionalReceiver, syntax, type, hasErrors)
6084: base(BoundKind.ConditionalReceiver, syntax, type)
6113: base(BoundKind.ComplexConditionalReceiver, syntax, type, hasErrors || valueTypeReceiver.HasErrors() || referenceTypeReceiver.HasErrors())
6146: base(BoundKind.MethodGroup, syntax, receiverOpt, resultKind, hasErrors || receiverOpt.HasErrors())
6187: base(BoundKind.PropertyGroup, syntax, receiverOpt, resultKind, hasErrors || receiverOpt.HasErrors())
6215: base(BoundKind.Call, syntax, type, hasErrors || receiverOpt.HasErrors() || arguments.HasErrors())
6274: base(BoundKind.EventAssignmentOperator, syntax, type, hasErrors || receiverOpt.HasErrors() || argument.HasErrors())
6313: base(BoundKind.Attribute, syntax, type, hasErrors || constructorArguments.HasErrors() || namedArguments.HasErrors())
6358: base(BoundKind.UnconvertedObjectCreationExpression, syntax, null, hasErrors || arguments.HasErrors())
6395protected BoundObjectCreationExpressionBase(BoundKind kind, SyntaxNode syntax, TypeSymbol type, bool hasErrors)
6403protected BoundObjectCreationExpressionBase(BoundKind kind, SyntaxNode syntax, TypeSymbol type)
6417: base(BoundKind.ObjectCreationExpression, syntax, type, hasErrors || arguments.HasErrors() || initializerExpressionOpt.HasErrors())
6467protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false)
6486: base(BoundKind.UnconvertedCollectionExpression, syntax, elements, null, hasErrors || withElement.HasErrors() || elements.HasErrors())
6515: base(BoundKind.UnconvertedWithElement, syntax, hasErrors || arguments.HasErrors())
6547: base(BoundKind.CollectionExpression, syntax, elements, type, hasErrors || placeholder.HasErrors() || collectionCreation.HasErrors() || collectionBuilderElementsPlaceholder.HasErrors() || unconvertedCollectionExpression.HasErrors() || elements.HasErrors())
6596: base(BoundKind.CollectionExpressionSpreadExpressionPlaceholder, syntax, type, hasErrors)
6601: base(BoundKind.CollectionExpressionSpreadExpressionPlaceholder, syntax, type)
6624: base(BoundKind.CollectionExpressionSpreadElement, syntax, hasErrors || expression.HasErrors() || expressionPlaceholder.HasErrors() || conversion.HasErrors() || lengthOrCount.HasErrors() || elementPlaceholder.HasErrors() || iteratorBody.HasErrors())
6663protected BoundTupleExpression(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false)
6682: base(BoundKind.TupleLiteral, syntax, arguments, argumentNamesOpt, inferredNamesOpt, type, hasErrors || arguments.HasErrors())
6709: base(BoundKind.ConvertedTupleLiteral, syntax, arguments, argumentNamesOpt, inferredNamesOpt, type, hasErrors || sourceTuple.HasErrors() || arguments.HasErrors())
6739: base(BoundKind.DynamicObjectCreationExpression, syntax, type, hasErrors || arguments.HasErrors() || initializerExpressionOpt.HasErrors())
6782: base(BoundKind.NoPiaObjectCreationExpression, syntax, type, hasErrors || initializerExpressionOpt.HasErrors())
6813protected BoundObjectInitializerExpressionBase(BoundKind kind, SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false)
6833: base(BoundKind.ObjectInitializerExpression, syntax, placeholder, initializers, type, hasErrors || placeholder.HasErrors() || initializers.HasErrors())
6861: base(BoundKind.ObjectInitializerMember, syntax, type, hasErrors || arguments.HasErrors())
6910: base(BoundKind.DynamicObjectInitializerMember, syntax, type, hasErrors)
6922: base(BoundKind.DynamicObjectInitializerMember, syntax, type)
6955: base(BoundKind.CollectionInitializerExpression, syntax, placeholder, initializers, type, hasErrors || placeholder.HasErrors() || initializers.HasErrors())
6983: base(BoundKind.CollectionElementInitializer, syntax, type, hasErrors || arguments.HasErrors() || implicitReceiverOpt.HasErrors())
7028: base(BoundKind.DynamicCollectionElementInitializer, syntax, expression, arguments, type, hasErrors || expression.HasErrors() || arguments.HasErrors())
7060: base(BoundKind.ImplicitReceiver, syntax, type, hasErrors)
7068: base(BoundKind.ImplicitReceiver, syntax, type)
7095: base(BoundKind.AnonymousObjectCreationExpression, syntax, type, hasErrors || arguments.HasErrors() || declarations.HasErrors())
7131: base(BoundKind.AnonymousPropertyDeclaration, syntax, type, hasErrors)
7141: base(BoundKind.AnonymousPropertyDeclaration, syntax, type)
7171: base(BoundKind.NewT, syntax, type, hasErrors || initializerExpressionOpt.HasErrors())
7201: base(BoundKind.DelegateCreationExpression, syntax, type, hasErrors || argument.HasErrors())
7237: base(BoundKind.ArrayCreation, syntax, type, hasErrors || bounds.HasErrors() || initializerOpt.HasErrors())
7269: base(BoundKind.ArrayInitialization, syntax, null, hasErrors || initializers.HasErrors())
7299protected BoundStackAllocArrayCreationBase(BoundKind kind, SyntaxNode syntax, TypeSymbol elementType, BoundExpression count, BoundArrayInitialization? initializerOpt, TypeSymbol? type, bool hasErrors = false)
7319: base(BoundKind.StackAllocArrayCreation, syntax, elementType, count, initializerOpt, type, hasErrors || count.HasErrors() || initializerOpt.HasErrors())
7346: base(BoundKind.ConvertedStackAllocExpression, syntax, elementType, count, initializerOpt, type, hasErrors || count.HasErrors() || initializerOpt.HasErrors())
7375: base(BoundKind.FieldAccess, syntax, type, hasErrors || receiverOpt.HasErrors())
7415: base(BoundKind.HoistedFieldAccess, syntax, type, hasErrors)
7425: base(BoundKind.HoistedFieldAccess, syntax, type)
7455: base(BoundKind.PropertyAccess, syntax, type, hasErrors || receiverOpt.HasErrors())
7493: base(BoundKind.EventAccess, syntax, type, hasErrors || receiverOpt.HasErrors())
7529: base(BoundKind.IndexerAccess, syntax, type, hasErrors || receiverOpt.HasErrors() || arguments.HasErrors())
7580: base(BoundKind.ImplicitIndexerAccess, syntax, type, hasErrors || receiver.HasErrors() || argument.HasErrors() || lengthOrCountAccess.HasErrors() || receiverPlaceholder.HasErrors() || indexerOrSliceAccess.HasErrors() || argumentPlaceholders.HasErrors())
7629: base(BoundKind.InlineArrayAccess, syntax, type, hasErrors || expression.HasErrors() || argument.HasErrors())
7670: base(BoundKind.DynamicIndexerAccess, syntax, type, hasErrors || receiver.HasErrors() || arguments.HasErrors())
7710: base(BoundKind.Lambda, syntax, type, hasErrors || unboundLambda.HasErrors() || body.HasErrors())
7750: base(BoundKind.UnboundLambda, syntax, null, hasErrors)
7761: base(BoundKind.UnboundLambda, syntax, null)
7794: base(BoundKind.QueryClause, syntax, type, hasErrors || value.HasErrors() || operation.HasErrors() || cast.HasErrors() || unoptimizedForm.HasErrors())
7835: base(BoundKind.TypeOrInstanceInitializers, syntax, statements, hasErrors || statements.HasErrors())
7861: base(BoundKind.NameOfOperator, syntax, type, hasErrors || argument.HasErrors())
7897protected BoundInterpolatedStringBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false)
7914: base(BoundKind.UnconvertedInterpolatedString, syntax, parts, constantValueOpt, type, hasErrors || parts.HasErrors())
7940: base(BoundKind.InterpolatedString, syntax, parts, constantValueOpt, type, hasErrors || parts.HasErrors())
7968: base(BoundKind.InterpolatedStringHandlerPlaceholder, syntax, type, hasErrors)
7973: base(BoundKind.InterpolatedStringHandlerPlaceholder, syntax, type)
7996: base(BoundKind.InterpolatedStringArgumentPlaceholder, syntax, type, hasErrors)
8005: base(BoundKind.InterpolatedStringArgumentPlaceholder, syntax, type)
8034: base(BoundKind.StringInsert, syntax, null, hasErrors || value.HasErrors() || alignment.HasErrors() || format.HasErrors())
8069: base(BoundKind.IsPatternExpression, syntax, type, hasErrors || expression.HasErrors() || pattern.HasErrors() || reachabilityDecisionDag.HasErrors())
8112protected BoundPattern(BoundKind kind, SyntaxNode syntax, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors)
8127protected BoundPattern(BoundKind kind, SyntaxNode syntax, TypeSymbol inputType, TypeSymbol narrowedType)
8145: base(BoundKind.ConstantPattern, syntax, inputType, narrowedType, hasErrors || value.HasErrors())
8184: base(BoundKind.PatternWithUnionMatching, syntax, inputType, narrowedType, hasErrors || leftOfPendingConjunction.HasErrors() || valueProperty.HasErrors() || valuePattern.HasErrors())
8226: base(BoundKind.DiscardPattern, syntax, inputType, narrowedType, hasErrors)
8239: base(BoundKind.DiscardPattern, syntax, inputType, narrowedType)
8265protected BoundObjectPattern(BoundKind kind, SyntaxNode syntax, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8283: base(BoundKind.DeclarationPattern, syntax, variable, variableAccess, inputType, narrowedType, hasErrors || declaredType.HasErrors() || variableAccess.HasErrors())
8321: base(BoundKind.RecursivePattern, syntax, variable, variableAccess, inputType, narrowedType, hasErrors || declaredType.HasErrors() || deconstruction.HasErrors() || properties.HasErrors() || variableAccess.HasErrors())
8364: base(BoundKind.ListPattern, syntax, variable, variableAccess, inputType, narrowedType, hasErrors || subpatterns.HasErrors() || lengthAccess.HasErrors() || indexerAccess.HasErrors() || receiverPlaceholder.HasErrors() || argumentPlaceholder.HasErrors() || variableAccess.HasErrors())
8408: base(BoundKind.SlicePattern, syntax, inputType, narrowedType, hasErrors || pattern.HasErrors() || indexerAccess.HasErrors() || receiverPlaceholder.HasErrors() || argumentPlaceholder.HasErrors())
8447: base(BoundKind.ITuplePattern, syntax, inputType, narrowedType, hasErrors || subpatterns.HasErrors())
8486protected BoundSubpattern(BoundKind kind, SyntaxNode syntax, BoundPattern pattern, bool hasErrors = false)
8505: base(BoundKind.PositionalSubpattern, syntax, pattern, hasErrors || pattern.HasErrors())
8533: base(BoundKind.PropertySubpattern, syntax, pattern, hasErrors || member.HasErrors() || pattern.HasErrors())
8563: base(BoundKind.PropertySubpatternMember, syntax, hasErrors || receiver.HasErrors())
8595: base(BoundKind.TypePattern, syntax, inputType, narrowedType, hasErrors || declaredType.HasErrors())
8633: base(BoundKind.BinaryPattern, syntax, inputType, narrowedType, hasErrors || left.HasErrors() || right.HasErrors())
8672: base(BoundKind.NegatedPattern, syntax, inputType, narrowedType, hasErrors || negated.HasErrors())
8706: base(BoundKind.RelationalPattern, syntax, inputType, narrowedType, hasErrors || value.HasErrors())
8747: base(BoundKind.DiscardExpression, syntax, type, hasErrors)
8754: base(BoundKind.DiscardExpression, syntax, type)
8782: base(BoundKind.ThrowExpression, syntax, type, hasErrors || expression.HasErrors())
8809protected VariablePendingInference(BoundKind kind, SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false)
8827: base(BoundKind.OutVariablePendingInference, syntax, variableSymbol, receiverOpt, hasErrors || receiverOpt.HasErrors())
8853: base(BoundKind.DeconstructionVariablePendingInference, syntax, variableSymbol, receiverOpt, hasErrors || receiverOpt.HasErrors())
8879: base(BoundKind.OutDeconstructVarPendingInference, syntax, null, hasErrors)
8886: base(BoundKind.OutDeconstructVarPendingInference, syntax, null)
8913protected BoundMethodBodyBase(BoundKind kind, SyntaxNode syntax, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false)
8927: base(BoundKind.NonConstructorMethodBody, syntax, blockBody, expressionBody, hasErrors || blockBody.HasErrors() || expressionBody.HasErrors())
8950: base(BoundKind.ConstructorMethodBody, syntax, blockBody, expressionBody, hasErrors || initializer.HasErrors() || blockBody.HasErrors() || expressionBody.HasErrors())
8980: base(BoundKind.ExpressionWithNullability, syntax, type, hasErrors || expression.HasErrors())
9011: base(BoundKind.ValueForNullableAnalysis, syntax, type, hasErrors || originalExpression.HasErrors())
9036: base(BoundKind.WithExpression, syntax, type, hasErrors || receiver.HasErrors() || initializerExpression.HasErrors())
9076case BoundKind.FieldEqualsValue:
9078case BoundKind.PropertyEqualsValue:
9080case BoundKind.ParameterEqualsValue:
9082case BoundKind.GlobalStatementInitializer:
9084case BoundKind.ValuePlaceholder:
9086case BoundKind.CapturedReceiverPlaceholder:
9088case BoundKind.DeconstructValuePlaceholder:
9090case BoundKind.TupleOperandPlaceholder:
9092case BoundKind.AwaitableValuePlaceholder:
9094case BoundKind.DisposableValuePlaceholder:
9096case BoundKind.ObjectOrCollectionValuePlaceholder:
9098case BoundKind.ImplicitIndexerValuePlaceholder:
9100case BoundKind.ImplicitIndexerReceiverPlaceholder:
9102case BoundKind.ListPatternReceiverPlaceholder:
9104case BoundKind.ListPatternIndexPlaceholder:
9106case BoundKind.SlicePatternReceiverPlaceholder:
9108case BoundKind.SlicePatternRangePlaceholder:
9110case BoundKind.CollectionBuilderElementsPlaceholder:
9112case BoundKind.Dup:
9114case BoundKind.PassByCopy:
9116case BoundKind.BadExpression:
9118case BoundKind.BadStatement:
9120case BoundKind.ExtractedFinallyBlock:
9122case BoundKind.TypeExpression:
9124case BoundKind.TypeOrValueExpression:
9126case BoundKind.NamespaceExpression:
9128case BoundKind.UnaryOperator:
9130case BoundKind.IncrementOperator:
9132case BoundKind.AddressOfOperator:
9134case BoundKind.UnconvertedAddressOfOperator:
9136case BoundKind.FunctionPointerLoad:
9138case BoundKind.PointerIndirectionOperator:
9140case BoundKind.PointerElementAccess:
9142case BoundKind.FunctionPointerInvocation:
9144case BoundKind.RefTypeOperator:
9146case BoundKind.MakeRefOperator:
9148case BoundKind.RefValueOperator:
9150case BoundKind.FromEndIndexExpression:
9152case BoundKind.RangeExpression:
9154case BoundKind.BinaryOperator:
9156case BoundKind.TupleBinaryOperator:
9158case BoundKind.UserDefinedConditionalLogicalOperator:
9160case BoundKind.CompoundAssignmentOperator:
9162case BoundKind.AssignmentOperator:
9164case BoundKind.DeconstructionAssignmentOperator:
9166case BoundKind.NullCoalescingOperator:
9168case BoundKind.NullCoalescingAssignmentOperator:
9170case BoundKind.UnconvertedConditionalOperator:
9172case BoundKind.ConditionalOperator:
9174case BoundKind.ArrayAccess:
9176case BoundKind.RefArrayAccess:
9178case BoundKind.ArrayLength:
9180case BoundKind.AwaitableInfo:
9182case BoundKind.AwaitExpression:
9184case BoundKind.TypeOfOperator:
9186case BoundKind.BlockInstrumentation:
9188case BoundKind.MethodDefIndex:
9190case BoundKind.LocalId:
9192case BoundKind.ParameterId:
9194case BoundKind.StateMachineInstanceId:
9196case BoundKind.MaximumMethodDefIndex:
9198case BoundKind.InstrumentationPayloadRoot:
9200case BoundKind.ThrowIfModuleCancellationRequested:
9202case BoundKind.ModuleCancellationTokenExpression:
9204case BoundKind.ModuleVersionId:
9206case BoundKind.ModuleVersionIdString:
9208case BoundKind.SourceDocumentIndex:
9210case BoundKind.MethodInfo:
9212case BoundKind.FieldInfo:
9214case BoundKind.DefaultLiteral:
9216case BoundKind.DefaultExpression:
9218case BoundKind.IsOperator:
9220case BoundKind.AsOperator:
9222case BoundKind.SizeOfOperator:
9224case BoundKind.Conversion:
9226case BoundKind.ReadOnlySpanFromArray:
9228case BoundKind.ArgList:
9230case BoundKind.ArgListOperator:
9232case BoundKind.FixedLocalCollectionInitializer:
9234case BoundKind.SequencePoint:
9236case BoundKind.SequencePointWithSpan:
9238case BoundKind.SavePreviousSequencePoint:
9240case BoundKind.RestorePreviousSequencePoint:
9242case BoundKind.StepThroughSequencePoint:
9244case BoundKind.Block:
9246case BoundKind.Scope:
9248case BoundKind.StateMachineScope:
9250case BoundKind.LocalDeclaration:
9252case BoundKind.MultipleLocalDeclarations:
9254case BoundKind.UsingLocalDeclarations:
9256case BoundKind.LocalFunctionStatement:
9258case BoundKind.NoOpStatement:
9260case BoundKind.ReturnStatement:
9262case BoundKind.YieldReturnStatement:
9264case BoundKind.YieldBreakStatement:
9266case BoundKind.ThrowStatement:
9268case BoundKind.ExpressionStatement:
9270case BoundKind.BreakStatement:
9272case BoundKind.ContinueStatement:
9274case BoundKind.SwitchStatement:
9276case BoundKind.SwitchDispatch:
9278case BoundKind.IfStatement:
9280case BoundKind.DoStatement:
9282case BoundKind.WhileStatement:
9284case BoundKind.ForStatement:
9286case BoundKind.ForEachStatement:
9288case BoundKind.ForEachDeconstructStep:
9290case BoundKind.UsingStatement:
9292case BoundKind.FixedStatement:
9294case BoundKind.LockStatement:
9296case BoundKind.TryStatement:
9298case BoundKind.CatchBlock:
9300case BoundKind.Literal:
9302case BoundKind.Utf8String:
9304case BoundKind.ThisReference:
9306case BoundKind.PreviousSubmissionReference:
9308case BoundKind.HostObjectMemberReference:
9310case BoundKind.BaseReference:
9312case BoundKind.Local:
9314case BoundKind.PseudoVariable:
9316case BoundKind.RangeVariable:
9318case BoundKind.Parameter:
9320case BoundKind.LabelStatement:
9322case BoundKind.GotoStatement:
9324case BoundKind.LabeledStatement:
9326case BoundKind.Label:
9328case BoundKind.StatementList:
9330case BoundKind.ConditionalGoto:
9332case BoundKind.SwitchExpressionArm:
9334case BoundKind.UnconvertedSwitchExpression:
9336case BoundKind.ConvertedSwitchExpression:
9338case BoundKind.DecisionDag:
9340case BoundKind.EvaluationDecisionDagNode:
9342case BoundKind.TestDecisionDagNode:
9344case BoundKind.WhenDecisionDagNode:
9346case BoundKind.LeafDecisionDagNode:
9348case BoundKind.DagTemp:
9350case BoundKind.DagTypeTest:
9352case BoundKind.DagNonNullTest:
9354case BoundKind.DagExplicitNullTest:
9356case BoundKind.DagValueTest:
9358case BoundKind.DagRelationalTest:
9360case BoundKind.DagDeconstructEvaluation:
9362case BoundKind.DagTypeEvaluation:
9364case BoundKind.DagFieldEvaluation:
9366case BoundKind.DagPropertyEvaluation:
9368case BoundKind.DagIndexEvaluation:
9370case BoundKind.DagIndexerEvaluation:
9372case BoundKind.DagSliceEvaluation:
9374case BoundKind.DagAssignmentEvaluation:
9376case BoundKind.DagPassThroughEvaluation:
9378case BoundKind.SwitchSection:
9380case BoundKind.SwitchLabel:
9382case BoundKind.SequencePointExpression:
9384case BoundKind.Sequence:
9386case BoundKind.SpillSequence:
9388case BoundKind.DynamicMemberAccess:
9390case BoundKind.DynamicInvocation:
9392case BoundKind.ConditionalAccess:
9394case BoundKind.LoweredConditionalAccess:
9396case BoundKind.ConditionalReceiver:
9398case BoundKind.ComplexConditionalReceiver:
9400case BoundKind.MethodGroup:
9402case BoundKind.PropertyGroup:
9404case BoundKind.Call:
9406case BoundKind.EventAssignmentOperator:
9408case BoundKind.Attribute:
9410case BoundKind.UnconvertedObjectCreationExpression:
9412case BoundKind.ObjectCreationExpression:
9414case BoundKind.UnconvertedCollectionExpression:
9416case BoundKind.UnconvertedWithElement:
9418case BoundKind.CollectionExpression:
9420case BoundKind.CollectionExpressionSpreadExpressionPlaceholder:
9422case BoundKind.CollectionExpressionSpreadElement:
9424case BoundKind.TupleLiteral:
9426case BoundKind.ConvertedTupleLiteral:
9428case BoundKind.DynamicObjectCreationExpression:
9430case BoundKind.NoPiaObjectCreationExpression:
9432case BoundKind.ObjectInitializerExpression:
9434case BoundKind.ObjectInitializerMember:
9436case BoundKind.DynamicObjectInitializerMember:
9438case BoundKind.CollectionInitializerExpression:
9440case BoundKind.CollectionElementInitializer:
9442case BoundKind.DynamicCollectionElementInitializer:
9444case BoundKind.ImplicitReceiver:
9446case BoundKind.AnonymousObjectCreationExpression:
9448case BoundKind.AnonymousPropertyDeclaration:
9450case BoundKind.NewT:
9452case BoundKind.DelegateCreationExpression:
9454case BoundKind.ArrayCreation:
9456case BoundKind.ArrayInitialization:
9458case BoundKind.StackAllocArrayCreation:
9460case BoundKind.ConvertedStackAllocExpression:
9462case BoundKind.FieldAccess:
9464case BoundKind.HoistedFieldAccess:
9466case BoundKind.PropertyAccess:
9468case BoundKind.EventAccess:
9470case BoundKind.IndexerAccess:
9472case BoundKind.ImplicitIndexerAccess:
9474case BoundKind.InlineArrayAccess:
9476case BoundKind.DynamicIndexerAccess:
9478case BoundKind.Lambda:
9480case BoundKind.UnboundLambda:
9482case BoundKind.QueryClause:
9484case BoundKind.TypeOrInstanceInitializers:
9486case BoundKind.NameOfOperator:
9488case BoundKind.UnconvertedInterpolatedString:
9490case BoundKind.InterpolatedString:
9492case BoundKind.InterpolatedStringHandlerPlaceholder:
9494case BoundKind.InterpolatedStringArgumentPlaceholder:
9496case BoundKind.StringInsert:
9498case BoundKind.IsPatternExpression:
9500case BoundKind.ConstantPattern:
9502case BoundKind.PatternWithUnionMatching:
9504case BoundKind.DiscardPattern:
9506case BoundKind.DeclarationPattern:
9508case BoundKind.RecursivePattern:
9510case BoundKind.ListPattern:
9512case BoundKind.SlicePattern:
9514case BoundKind.ITuplePattern:
9516case BoundKind.PositionalSubpattern:
9518case BoundKind.PropertySubpattern:
9520case BoundKind.PropertySubpatternMember:
9522case BoundKind.TypePattern:
9524case BoundKind.BinaryPattern:
9526case BoundKind.NegatedPattern:
9528case BoundKind.RelationalPattern:
9530case BoundKind.DiscardExpression:
9532case BoundKind.ThrowExpression:
9534case BoundKind.OutVariablePendingInference:
9536case BoundKind.DeconstructionVariablePendingInference:
9538case BoundKind.OutDeconstructVarPendingInference:
9540case BoundKind.NonConstructorMethodBody:
9542case BoundKind.ConstructorMethodBody:
9544case BoundKind.ExpressionWithNullability:
9546case BoundKind.ValueForNullableAnalysis:
9548case BoundKind.WithExpression:
17697internal static PipelinePhase DoesNotSurvive(BoundKind kind)
17701BoundKind.ValuePlaceholder => PipelinePhase.LocalRewriting,
17702BoundKind.DeconstructValuePlaceholder => PipelinePhase.LocalRewriting,
17703BoundKind.TupleOperandPlaceholder => PipelinePhase.InitialBinding,
17704BoundKind.AwaitableValuePlaceholder => PipelinePhase.StateMachineRewriting,
17705BoundKind.DisposableValuePlaceholder => PipelinePhase.InitialBinding,
17706BoundKind.ImplicitIndexerReceiverPlaceholder => PipelinePhase.LocalRewriting,
17707BoundKind.ListPatternReceiverPlaceholder => PipelinePhase.LocalRewriting,
17708BoundKind.ListPatternIndexPlaceholder => PipelinePhase.LocalRewriting,
17709BoundKind.SlicePatternReceiverPlaceholder => PipelinePhase.LocalRewriting,
17710BoundKind.SlicePatternRangePlaceholder => PipelinePhase.LocalRewriting,
17711BoundKind.CollectionBuilderElementsPlaceholder => PipelinePhase.LocalRewriting,
17712BoundKind.TypeOrValueExpression => PipelinePhase.InitialBinding,
17713BoundKind.UnconvertedAddressOfOperator => PipelinePhase.InitialBinding,
17714BoundKind.UnconvertedConditionalOperator => PipelinePhase.InitialBinding,
17715BoundKind.AwaitableInfo => PipelinePhase.StateMachineRewriting,
17716BoundKind.AwaitExpression => PipelinePhase.StateMachineRewriting,
17717BoundKind.DefaultLiteral => PipelinePhase.LocalRewriting,
17718BoundKind.LocalFunctionStatement => PipelinePhase.ClosureConversion,
17719BoundKind.YieldReturnStatement => PipelinePhase.StateMachineRewriting,
17720BoundKind.YieldBreakStatement => PipelinePhase.StateMachineRewriting,
17721BoundKind.IfStatement => PipelinePhase.LocalRewriting,
17722BoundKind.UsingStatement => PipelinePhase.LocalRewriting,
17723BoundKind.UnconvertedSwitchExpression => PipelinePhase.InitialBinding,
17724BoundKind.SpillSequence => PipelinePhase.Spilling,
17725BoundKind.UnconvertedObjectCreationExpression => PipelinePhase.InitialBinding,
17726BoundKind.UnconvertedCollectionExpression => PipelinePhase.InitialBinding,
17727BoundKind.TupleLiteral => PipelinePhase.InitialBinding,
17728BoundKind.TypeOrInstanceInitializers => PipelinePhase.LocalRewriting,
17729BoundKind.UnconvertedInterpolatedString => PipelinePhase.InitialBinding,
17730BoundKind.InterpolatedStringHandlerPlaceholder => PipelinePhase.LocalRewriting,
17731BoundKind.InterpolatedStringArgumentPlaceholder => PipelinePhase.LocalRewriting,
17732BoundKind.PatternWithUnionMatching => PipelinePhase.InitialBinding,
17733BoundKind.DeconstructionVariablePendingInference => PipelinePhase.LocalRewriting,
17734BoundKind.ExpressionWithNullability => PipelinePhase.InitialBinding,
17735BoundKind.ValueForNullableAnalysis => PipelinePhase.InitialBinding,