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)
4037case BoundKind.NamespaceExpression:
4038case BoundKind.TypeExpression:
4166BoundKind exprKind = expr.Kind;
4169case BoundKind.FieldAccess:
4170case BoundKind.EventAccess:
4174if (exprKind == BoundKind.FieldAccess)
4216case BoundKind.InlineArrayAccess:
4228case BoundKind.RangeVariable:
4236case BoundKind.Parameter:
4259case BoundKind.ThisReference:
4260case BoundKind.BaseReference:
4265case BoundKind.Local:
4275case BoundKind.PointerIndirectionOperator: //Covers ->, since the receiver will be one of these.
4276case BoundKind.ConvertedStackAllocExpression:
4280case BoundKind.PointerElementAccess:
4295case BoundKind.PropertyAccess: // Never fixed
4296case BoundKind.IndexerAccess: // Never fixed
4762case BoundKind.UnboundLambda:
4763case BoundKind.Lambda:
4764case BoundKind.MethodGroup: // New in Roslyn - see DevDiv #864740.
4942operand.Kind == BoundKind.MethodGroup ||
5360case BoundKind.UnboundLambda:
5361case BoundKind.Lambda:
5362case BoundKind.MethodGroup: // New in Roslyn - see DevDiv #864740.
5371case BoundKind.TupleLiteral:
5372case BoundKind.ConvertedTupleLiteral:
5671if (leftOperand.Kind == BoundKind.UnboundLambda || leftOperand.Kind == BoundKind.MethodGroup)
Generated\BoundNodes.xml.Generated.cs (612)
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)
737: base(BoundKind.ImplicitIndexerReceiverPlaceholder, syntax, type)
766: base(BoundKind.ListPatternReceiverPlaceholder, syntax, type, hasErrors)
774: base(BoundKind.ListPatternReceiverPlaceholder, syntax, type)
801: base(BoundKind.ListPatternIndexPlaceholder, syntax, type, hasErrors)
809: base(BoundKind.ListPatternIndexPlaceholder, syntax, type)
836: base(BoundKind.SlicePatternReceiverPlaceholder, syntax, type, hasErrors)
844: base(BoundKind.SlicePatternReceiverPlaceholder, syntax, type)
871: base(BoundKind.SlicePatternRangePlaceholder, syntax, type, hasErrors)
879: base(BoundKind.SlicePatternRangePlaceholder, syntax, type)
906: base(BoundKind.CollectionBuilderElementsPlaceholder, syntax, type, hasErrors)
911: base(BoundKind.CollectionBuilderElementsPlaceholder, syntax, type)
934: base(BoundKind.Dup, syntax, type, hasErrors)
940: base(BoundKind.Dup, syntax, type)
965: base(BoundKind.PassByCopy, syntax, type, hasErrors || expression.HasErrors())
993: base(BoundKind.BadExpression, syntax, type, hasErrors || childBoundNodes.HasErrors())
1030: base(BoundKind.BadStatement, syntax, hasErrors || childBoundNodes.HasErrors())
1058: base(BoundKind.ExtractedFinallyBlock, syntax, hasErrors || finallyBlock.HasErrors())
1086: base(BoundKind.TypeExpression, syntax, type, hasErrors || boundContainingTypeOpt.HasErrors() || boundDimensionsOpt.HasErrors())
1121: base(BoundKind.TypeOrValueExpression, syntax, type, hasErrors)
1137: base(BoundKind.TypeOrValueExpression, syntax, type)
1170: base(BoundKind.NamespaceExpression, syntax, null, hasErrors)
1180: base(BoundKind.NamespaceExpression, syntax, null)
1211: base(BoundKind.UnaryOperator, syntax, type, hasErrors || operand.HasErrors())
1253: base(BoundKind.IncrementOperator, syntax, type, hasErrors || operand.HasErrors() || operandPlaceholder.HasErrors() || operandConversion.HasErrors() || resultPlaceholder.HasErrors() || resultConversion.HasErrors())
1301: base(BoundKind.AddressOfOperator, syntax, type, hasErrors || operand.HasErrors())
1333: base(BoundKind.UnconvertedAddressOfOperator, syntax, null, hasErrors || operand.HasErrors())
1362: base(BoundKind.FunctionPointerLoad, syntax, type, hasErrors)
1373: base(BoundKind.FunctionPointerLoad, syntax, type)
1405: base(BoundKind.PointerIndirectionOperator, syntax, type, hasErrors || operand.HasErrors())
1437: base(BoundKind.PointerElementAccess, syntax, type, hasErrors || expression.HasErrors() || index.HasErrors())
1474: base(BoundKind.FunctionPointerInvocation, syntax, type, hasErrors || invokedExpression.HasErrors() || arguments.HasErrors())
1511: base(BoundKind.RefTypeOperator, syntax, type, hasErrors || operand.HasErrors())
1543: base(BoundKind.MakeRefOperator, syntax, type, hasErrors || operand.HasErrors())
1573: base(BoundKind.RefValueOperator, syntax, type, hasErrors || operand.HasErrors())
1605: base(BoundKind.FromEndIndexExpression, syntax, type, hasErrors || operand.HasErrors())
1637: base(BoundKind.RangeExpression, syntax, type, hasErrors || leftOperandOpt.HasErrors() || rightOperandOpt.HasErrors())
1669protected BoundBinaryOperatorBase(BoundKind kind, SyntaxNode syntax, BoundExpression left, BoundExpression right, TypeSymbol type, bool hasErrors = false)
1689: base(BoundKind.BinaryOperator, syntax, left, right, type, hasErrors || left.HasErrors() || right.HasErrors())
1727: base(BoundKind.TupleBinaryOperator, syntax, type, hasErrors || left.HasErrors() || right.HasErrors())
1765: base(BoundKind.UserDefinedConditionalLogicalOperator, syntax, left, right, type, hasErrors || trueFalseOperandPlaceholder.HasErrors() || trueFalseOperandConversion.HasErrors() || left.HasErrors() || right.HasErrors())
1818: base(BoundKind.CompoundAssignmentOperator, syntax, type, hasErrors || left.HasErrors() || right.HasErrors() || leftPlaceholder.HasErrors() || leftConversion.HasErrors() || finalPlaceholder.HasErrors() || finalConversion.HasErrors())
1865: base(BoundKind.AssignmentOperator, syntax, type, hasErrors || left.HasErrors() || right.HasErrors())
1899: base(BoundKind.DeconstructionAssignmentOperator, syntax, type, hasErrors || left.HasErrors() || right.HasErrors())
1934: base(BoundKind.NullCoalescingOperator, syntax, type, hasErrors || leftOperand.HasErrors() || rightOperand.HasErrors() || leftPlaceholder.HasErrors() || leftConversion.HasErrors())
1975: base(BoundKind.NullCoalescingAssignmentOperator, syntax, type, hasErrors || leftOperand.HasErrors() || rightOperand.HasErrors())
2006: base(BoundKind.UnconvertedConditionalOperator, syntax, null, hasErrors || condition.HasErrors() || consequence.HasErrors() || alternative.HasErrors())
2045: base(BoundKind.ConditionalOperator, syntax, type, hasErrors || condition.HasErrors() || consequence.HasErrors() || alternative.HasErrors())
2089: base(BoundKind.ArrayAccess, syntax, type, hasErrors || expression.HasErrors() || indices.HasErrors())
2122: base(BoundKind.RefArrayAccess, syntax, null, hasErrors || arrayAccess.HasErrors())
2151: base(BoundKind.ArrayLength, syntax, type, hasErrors || expression.HasErrors())
2181: base(BoundKind.AwaitableInfo, syntax, hasErrors || awaitableInstancePlaceholder.HasErrors() || getAwaiter.HasErrors() || runtimeAsyncAwaitCall.HasErrors() || runtimeAsyncAwaitCallPlaceholder.HasErrors())
2222: base(BoundKind.AwaitExpression, syntax, type, hasErrors || expression.HasErrors() || awaitableInfo.HasErrors())
2256protected BoundTypeOf(BoundKind kind, SyntaxNode syntax, MethodSymbol? getTypeFromHandle, TypeSymbol type, bool hasErrors)
2265protected BoundTypeOf(BoundKind kind, SyntaxNode syntax, MethodSymbol? getTypeFromHandle, TypeSymbol type)
2281: base(BoundKind.TypeOfOperator, syntax, getTypeFromHandle, type, hasErrors || sourceType.HasErrors())
2310: base(BoundKind.BlockInstrumentation, syntax, hasErrors || prologue.HasErrors() || epilogue.HasErrors())
2342: base(BoundKind.MethodDefIndex, syntax, type, hasErrors)
2356: base(BoundKind.MethodDefIndex, syntax, type)
2386: base(BoundKind.LocalId, syntax, type, hasErrors)
2397: base(BoundKind.LocalId, syntax, type)
2429: base(BoundKind.ParameterId, syntax, type, hasErrors)
2440: base(BoundKind.ParameterId, syntax, type)
2472: base(BoundKind.StateMachineInstanceId, syntax, type, hasErrors)
2480: base(BoundKind.StateMachineInstanceId, syntax, type)
2507: base(BoundKind.MaximumMethodDefIndex, syntax, type, hasErrors)
2515: base(BoundKind.MaximumMethodDefIndex, syntax, type)
2542: base(BoundKind.InstrumentationPayloadRoot, syntax, type, hasErrors)
2551: base(BoundKind.InstrumentationPayloadRoot, syntax, type)
2580: base(BoundKind.ThrowIfModuleCancellationRequested, syntax, type, hasErrors)
2588: base(BoundKind.ThrowIfModuleCancellationRequested, syntax, type)
2615: base(BoundKind.ModuleCancellationTokenExpression, syntax, type, hasErrors)
2623: base(BoundKind.ModuleCancellationTokenExpression, syntax, type)
2650: base(BoundKind.ModuleVersionId, syntax, type, hasErrors)
2658: base(BoundKind.ModuleVersionId, syntax, type)
2685: base(BoundKind.ModuleVersionIdString, syntax, type, hasErrors)
2693: base(BoundKind.ModuleVersionIdString, syntax, type)
2720: base(BoundKind.SourceDocumentIndex, syntax, type, hasErrors)
2730: base(BoundKind.SourceDocumentIndex, syntax, type)
2760: base(BoundKind.MethodInfo, syntax, type, hasErrors)
2771: base(BoundKind.MethodInfo, syntax, type)
2803: base(BoundKind.FieldInfo, syntax, type, hasErrors)
2814: base(BoundKind.FieldInfo, syntax, type)
2846: base(BoundKind.DefaultLiteral, syntax, null, hasErrors)
2851: base(BoundKind.DefaultLiteral, syntax, null)
2869: base(BoundKind.DefaultExpression, syntax, type, hasErrors || targetType.HasErrors())
2900: base(BoundKind.IsOperator, syntax, type, hasErrors || operand.HasErrors() || targetType.HasErrors())
2935: base(BoundKind.AsOperator, syntax, type, hasErrors || operand.HasErrors() || targetType.HasErrors() || operandPlaceholder.HasErrors() || operandConversion.HasErrors())
2972: base(BoundKind.SizeOfOperator, syntax, type, hasErrors || sourceType.HasErrors())
3004: base(BoundKind.Conversion, syntax, type, hasErrors || operand.HasErrors())
3052: base(BoundKind.ReadOnlySpanFromArray, syntax, type, hasErrors || operand.HasErrors())
3085: base(BoundKind.ArgList, syntax, type, hasErrors)
3093: base(BoundKind.ArgList, syntax, type)
3120: base(BoundKind.ArgListOperator, syntax, type, hasErrors || arguments.HasErrors())
3151: base(BoundKind.FixedLocalCollectionInitializer, syntax, type, hasErrors || elementPointerPlaceholder.HasErrors() || elementPointerConversion.HasErrors() || expression.HasErrors())
3189protected BoundStatement(BoundKind kind, SyntaxNode syntax, bool hasErrors)
3194protected BoundStatement(BoundKind kind, SyntaxNode syntax)
3204: base(BoundKind.SequencePoint, syntax, hasErrors || statementOpt.HasErrors())
3229: base(BoundKind.SequencePointWithSpan, syntax, hasErrors || statementOpt.HasErrors())
3256: base(BoundKind.SavePreviousSequencePoint, syntax, hasErrors)
3265: base(BoundKind.SavePreviousSequencePoint, syntax)
3293: base(BoundKind.RestorePreviousSequencePoint, syntax, hasErrors)
3302: base(BoundKind.RestorePreviousSequencePoint, syntax)
3330: base(BoundKind.StepThroughSequencePoint, syntax, hasErrors)
3336: base(BoundKind.StepThroughSequencePoint, syntax)
3361: base(BoundKind.Block, syntax, statements, hasErrors || instrumentation.HasErrors() || statements.HasErrors())
3397: base(BoundKind.Scope, syntax, statements, hasErrors || statements.HasErrors())
3426: base(BoundKind.StateMachineScope, syntax, hasErrors || statement.HasErrors())
3457: base(BoundKind.LocalDeclaration, syntax, hasErrors || declaredTypeOpt.HasErrors() || initializerOpt.HasErrors() || argumentsOpt.HasErrors())
3492protected BoundMultipleLocalDeclarationsBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false)
3507: base(BoundKind.MultipleLocalDeclarations, syntax, localDeclarations, hasErrors || localDeclarations.HasErrors())
3533: base(BoundKind.UsingLocalDeclarations, syntax, localDeclarations, hasErrors || awaitOpt.HasErrors() || localDeclarations.HasErrors())
3563: base(BoundKind.LocalFunctionStatement, syntax, hasErrors || blockBody.HasErrors() || expressionBody.HasErrors())
3595: base(BoundKind.NoOpStatement, syntax, hasErrors)
3601: base(BoundKind.NoOpStatement, syntax)
3626: base(BoundKind.ReturnStatement, syntax, hasErrors || expressionOpt.HasErrors())
3659: base(BoundKind.YieldReturnStatement, syntax, hasErrors || expression.HasErrors())
3687: base(BoundKind.YieldBreakStatement, syntax, hasErrors)
3692: base(BoundKind.YieldBreakStatement, syntax)
3704: base(BoundKind.ThrowStatement, syntax, hasErrors || expressionOpt.HasErrors())
3729: base(BoundKind.ExpressionStatement, syntax, hasErrors || expression.HasErrors())
3757: base(BoundKind.BreakStatement, syntax, hasErrors)
3766: base(BoundKind.BreakStatement, syntax)
3794: base(BoundKind.ContinueStatement, syntax, hasErrors)
3803: base(BoundKind.ContinueStatement, syntax)
3831: base(BoundKind.SwitchStatement, syntax, hasErrors || expression.HasErrors() || switchSections.HasErrors() || reachabilityDecisionDag.HasErrors() || defaultLabel.HasErrors())
3876: base(BoundKind.SwitchDispatch, syntax, hasErrors || expression.HasErrors())
3912: base(BoundKind.IfStatement, syntax, hasErrors || condition.HasErrors() || consequence.HasErrors() || alternativeOpt.HasErrors())
3944protected BoundLoopStatement(BoundKind kind, SyntaxNode syntax, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors)
3955protected BoundLoopStatement(BoundKind kind, SyntaxNode syntax, LabelSymbol breakLabel, LabelSymbol continueLabel)
3972protected BoundConditionalLoopStatement(BoundKind kind, SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundExpression condition, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors = false)
3995: base(BoundKind.DoStatement, syntax, locals, condition, body, breakLabel, continueLabel, hasErrors || condition.HasErrors() || body.HasErrors())
4025: base(BoundKind.WhileStatement, syntax, locals, condition, body, breakLabel, continueLabel, hasErrors || condition.HasErrors() || body.HasErrors())
4055: base(BoundKind.ForStatement, syntax, breakLabel, continueLabel, hasErrors || initializer.HasErrors() || condition.HasErrors() || increment.HasErrors() || body.HasErrors())
4097: base(BoundKind.ForEachStatement, syntax, breakLabel, continueLabel, hasErrors || elementPlaceholder.HasErrors() || elementConversion.HasErrors() || iterationVariableType.HasErrors() || iterationErrorExpressionOpt.HasErrors() || expression.HasErrors() || deconstructionOpt.HasErrors() || body.HasErrors())
4146: base(BoundKind.ForEachDeconstructStep, syntax, hasErrors || deconstructionAssignment.HasErrors() || targetPlaceholder.HasErrors())
4177: base(BoundKind.UsingStatement, syntax, hasErrors || declarationsOpt.HasErrors() || expressionOpt.HasErrors() || body.HasErrors() || awaitOpt.HasErrors())
4216: base(BoundKind.FixedStatement, syntax, hasErrors || declarations.HasErrors() || body.HasErrors())
4250: base(BoundKind.LockStatement, syntax, hasErrors || argument.HasErrors() || body.HasErrors())
4281: base(BoundKind.TryStatement, syntax, hasErrors || tryBlock.HasErrors() || catchBlocks.HasErrors() || finallyBlockOpt.HasErrors())
4318: base(BoundKind.CatchBlock, syntax, hasErrors || exceptionSourceOpt.HasErrors() || exceptionFilterPrologueOpt.HasErrors() || exceptionFilterOpt.HasErrors() || body.HasErrors())
4359: base(BoundKind.Literal, syntax, type, hasErrors)
4365: base(BoundKind.Literal, syntax, type)
4390: base(BoundKind.Utf8String, syntax, type, hasErrors)
4400: base(BoundKind.Utf8String, syntax, type)
4430: base(BoundKind.ThisReference, syntax, type, hasErrors)
4438: base(BoundKind.ThisReference, syntax, type)
4465: base(BoundKind.PreviousSubmissionReference, syntax, type, hasErrors)
4473: base(BoundKind.PreviousSubmissionReference, syntax, type)
4500: base(BoundKind.HostObjectMemberReference, syntax, type, hasErrors)
4508: base(BoundKind.HostObjectMemberReference, syntax, type)
4535: base(BoundKind.BaseReference, syntax, type, hasErrors)
4540: base(BoundKind.BaseReference, syntax, type)
4564: base(BoundKind.Local, syntax, type, hasErrors)
4577: base(BoundKind.Local, syntax, type)
4613: base(BoundKind.PseudoVariable, syntax, type, hasErrors)
4625: base(BoundKind.PseudoVariable, syntax, type)
4658: base(BoundKind.RangeVariable, syntax, type, hasErrors || value.HasErrors())
4691: base(BoundKind.Parameter, syntax, type, hasErrors)
4701: base(BoundKind.Parameter, syntax, type)
4731: base(BoundKind.LabelStatement, syntax, hasErrors)
4740: base(BoundKind.LabelStatement, syntax)
4768: base(BoundKind.GotoStatement, syntax, hasErrors || caseExpressionOpt.HasErrors() || labelExpressionOpt.HasErrors())
4800: base(BoundKind.LabeledStatement, syntax, hasErrors || body.HasErrors())
4831: base(BoundKind.Label, syntax, type, hasErrors)
4840: base(BoundKind.Label, syntax, type)
4867protected BoundStatementList(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundStatement> statements, bool hasErrors = false)
4877: base(BoundKind.StatementList, syntax, hasErrors || statements.HasErrors())
4905: base(BoundKind.ConditionalGoto, syntax, hasErrors || condition.HasErrors())
4937protected BoundSwitchExpression(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundSwitchExpressionArm> switchArms, BoundDecisionDag reachabilityDecisionDag, LabelSymbol? defaultLabel, bool reportedNotExhaustive, TypeSymbol? type, bool hasErrors = false)
4962: base(BoundKind.SwitchExpressionArm, syntax, hasErrors || pattern.HasErrors() || whenClause.HasErrors() || value.HasErrors())
5003: base(BoundKind.UnconvertedSwitchExpression, syntax, expression, switchArms, reachabilityDecisionDag, defaultLabel, reportedNotExhaustive, type, hasErrors || expression.HasErrors() || switchArms.HasErrors() || reachabilityDecisionDag.HasErrors())
5031: base(BoundKind.ConvertedSwitchExpression, syntax, expression, switchArms, reachabilityDecisionDag, defaultLabel, reportedNotExhaustive, type, hasErrors || expression.HasErrors() || switchArms.HasErrors() || reachabilityDecisionDag.HasErrors())
5065: base(BoundKind.DecisionDag, syntax, hasErrors || rootNode.HasErrors())
5094protected BoundDecisionDagNode(BoundKind kind, SyntaxNode syntax, bool hasErrors)
5099protected BoundDecisionDagNode(BoundKind kind, SyntaxNode syntax)
5109: base(BoundKind.EvaluationDecisionDagNode, syntax, hasErrors || evaluation.HasErrors() || next.HasErrors())
5140: base(BoundKind.TestDecisionDagNode, syntax, hasErrors || test.HasErrors() || whenTrue.HasErrors() || whenFalse.HasErrors())
5174: base(BoundKind.WhenDecisionDagNode, syntax, hasErrors || whenExpression.HasErrors() || whenTrue.HasErrors() || whenFalse.HasErrors())
5209: base(BoundKind.LeafDecisionDagNode, syntax, hasErrors)
5218: base(BoundKind.LeafDecisionDagNode, syntax)
5245protected BoundDagTest(BoundKind kind, SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false)
5260: base(BoundKind.DagTemp, syntax, hasErrors || source.HasErrors())
5292: base(BoundKind.DagTypeTest, syntax, input, hasErrors || input.HasErrors())
5321: base(BoundKind.DagNonNullTest, syntax, input, hasErrors || input.HasErrors())
5349: base(BoundKind.DagExplicitNullTest, syntax, input, hasErrors || input.HasErrors())
5375: base(BoundKind.DagValueTest, syntax, input, hasErrors || input.HasErrors())
5404: base(BoundKind.DagRelationalTest, syntax, input, hasErrors || input.HasErrors())
5434protected BoundDagEvaluation(BoundKind kind, SyntaxNode syntax, BoundDagTemp input, bool hasErrors = false)
5447: base(BoundKind.DagDeconstructEvaluation, syntax, input, hasErrors || input.HasErrors())
5476: base(BoundKind.DagTypeEvaluation, syntax, input, hasErrors || input.HasErrors())
5505: base(BoundKind.DagFieldEvaluation, syntax, input, hasErrors || input.HasErrors())
5534: base(BoundKind.DagPropertyEvaluation, syntax, input, hasErrors || input.HasErrors())
5565: base(BoundKind.DagIndexEvaluation, syntax, input, hasErrors || input.HasErrors())
5596: base(BoundKind.DagIndexerEvaluation, syntax, input, hasErrors || lengthTemp.HasErrors() || indexerAccess.HasErrors() || receiverPlaceholder.HasErrors() || argumentPlaceholder.HasErrors() || input.HasErrors())
5643: base(BoundKind.DagSliceEvaluation, syntax, input, hasErrors || lengthTemp.HasErrors() || indexerAccess.HasErrors() || receiverPlaceholder.HasErrors() || argumentPlaceholder.HasErrors() || input.HasErrors())
5692: base(BoundKind.DagAssignmentEvaluation, syntax, input, hasErrors || target.HasErrors() || input.HasErrors())
5721: base(BoundKind.DagPassThroughEvaluation, syntax, input, hasErrors || input.HasErrors())
5747: base(BoundKind.SwitchSection, syntax, statements, hasErrors || switchLabels.HasErrors() || statements.HasErrors())
5779: base(BoundKind.SwitchLabel, syntax, hasErrors || pattern.HasErrors() || whenClause.HasErrors())
5813protected BoundMethodOrPropertyGroup(BoundKind kind, SyntaxNode syntax, BoundExpression? receiverOpt, LookupResultKind resultKind, bool hasErrors = false)
5828: base(BoundKind.SequencePointExpression, syntax, type, hasErrors || expression.HasErrors())
5856: base(BoundKind.Sequence, syntax, type, hasErrors || sideEffects.HasErrors() || value.HasErrors())
5892: base(BoundKind.SpillSequence, syntax, type, hasErrors || sideEffects.HasErrors() || value.HasErrors())
5928: base(BoundKind.DynamicMemberAccess, syntax, type, hasErrors || receiver.HasErrors())
5966protected BoundDynamicInvocableBase(BoundKind kind, SyntaxNode syntax, BoundExpression expression, ImmutableArray<BoundExpression> arguments, TypeSymbol? type, bool hasErrors = false)
5984: base(BoundKind.DynamicInvocation, syntax, expression, arguments, type, hasErrors || expression.HasErrors() || arguments.HasErrors())
6020: base(BoundKind.ConditionalAccess, syntax, type, hasErrors || receiver.HasErrors() || accessExpression.HasErrors())
6053: base(BoundKind.LoweredConditionalAccess, syntax, type, hasErrors || receiver.HasErrors() || whenNotNull.HasErrors() || whenNullOpt.HasErrors())
6094: base(BoundKind.ConditionalReceiver, syntax, type, hasErrors)
6103: base(BoundKind.ConditionalReceiver, syntax, type)
6132: base(BoundKind.ComplexConditionalReceiver, syntax, type, hasErrors || valueTypeReceiver.HasErrors() || referenceTypeReceiver.HasErrors())
6165: base(BoundKind.MethodGroup, syntax, receiverOpt, resultKind, hasErrors || receiverOpt.HasErrors())
6206: base(BoundKind.PropertyGroup, syntax, receiverOpt, resultKind, hasErrors || receiverOpt.HasErrors())
6234: base(BoundKind.Call, syntax, type, hasErrors || receiverOpt.HasErrors() || arguments.HasErrors())
6293: base(BoundKind.EventAssignmentOperator, syntax, type, hasErrors || receiverOpt.HasErrors() || argument.HasErrors())
6332: base(BoundKind.Attribute, syntax, type, hasErrors || constructorArguments.HasErrors() || namedArguments.HasErrors())
6377: base(BoundKind.UnconvertedObjectCreationExpression, syntax, null, hasErrors || arguments.HasErrors())
6414protected BoundObjectCreationExpressionBase(BoundKind kind, SyntaxNode syntax, TypeSymbol type, bool hasErrors)
6422protected BoundObjectCreationExpressionBase(BoundKind kind, SyntaxNode syntax, TypeSymbol type)
6436: base(BoundKind.ObjectCreationExpression, syntax, type, hasErrors || arguments.HasErrors() || initializerExpressionOpt.HasErrors())
6486protected BoundCollectionExpressionBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundNode> elements, TypeSymbol? type, bool hasErrors = false)
6505: base(BoundKind.UnconvertedCollectionExpression, syntax, elements, null, hasErrors || withElement.HasErrors() || elements.HasErrors())
6534: base(BoundKind.UnconvertedWithElement, syntax, hasErrors || arguments.HasErrors())
6566: base(BoundKind.CollectionExpression, syntax, elements, type, hasErrors || placeholder.HasErrors() || collectionCreation.HasErrors() || collectionBuilderElementsPlaceholder.HasErrors() || unconvertedCollectionExpression.HasErrors() || elements.HasErrors())
6615: base(BoundKind.CollectionExpressionSpreadExpressionPlaceholder, syntax, type, hasErrors)
6620: base(BoundKind.CollectionExpressionSpreadExpressionPlaceholder, syntax, type)
6643: base(BoundKind.CollectionExpressionSpreadElement, syntax, hasErrors || expression.HasErrors() || expressionPlaceholder.HasErrors() || conversion.HasErrors() || lengthOrCount.HasErrors() || elementPlaceholder.HasErrors() || iteratorBody.HasErrors())
6682protected BoundTupleExpression(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundExpression> arguments, ImmutableArray<string?> argumentNamesOpt, ImmutableArray<bool> inferredNamesOpt, TypeSymbol? type, bool hasErrors = false)
6701: base(BoundKind.TupleLiteral, syntax, arguments, argumentNamesOpt, inferredNamesOpt, type, hasErrors || arguments.HasErrors())
6728: base(BoundKind.ConvertedTupleLiteral, syntax, arguments, argumentNamesOpt, inferredNamesOpt, type, hasErrors || sourceTuple.HasErrors() || arguments.HasErrors())
6758: base(BoundKind.DynamicObjectCreationExpression, syntax, type, hasErrors || arguments.HasErrors() || initializerExpressionOpt.HasErrors())
6801: base(BoundKind.NoPiaObjectCreationExpression, syntax, type, hasErrors || initializerExpressionOpt.HasErrors())
6832protected BoundObjectInitializerExpressionBase(BoundKind kind, SyntaxNode syntax, BoundObjectOrCollectionValuePlaceholder placeholder, ImmutableArray<BoundExpression> initializers, TypeSymbol type, bool hasErrors = false)
6852: base(BoundKind.ObjectInitializerExpression, syntax, placeholder, initializers, type, hasErrors || placeholder.HasErrors() || initializers.HasErrors())
6880: base(BoundKind.ObjectInitializerMember, syntax, type, hasErrors || arguments.HasErrors())
6929: base(BoundKind.DynamicObjectInitializerMember, syntax, type, hasErrors)
6941: base(BoundKind.DynamicObjectInitializerMember, syntax, type)
6974: base(BoundKind.CollectionInitializerExpression, syntax, placeholder, initializers, type, hasErrors || placeholder.HasErrors() || initializers.HasErrors())
7002: base(BoundKind.CollectionElementInitializer, syntax, type, hasErrors || arguments.HasErrors() || implicitReceiverOpt.HasErrors())
7047: base(BoundKind.DynamicCollectionElementInitializer, syntax, expression, arguments, type, hasErrors || expression.HasErrors() || arguments.HasErrors())
7079: base(BoundKind.ImplicitReceiver, syntax, type, hasErrors)
7087: base(BoundKind.ImplicitReceiver, syntax, type)
7114: base(BoundKind.AnonymousObjectCreationExpression, syntax, type, hasErrors || arguments.HasErrors() || declarations.HasErrors())
7150: base(BoundKind.AnonymousPropertyDeclaration, syntax, type, hasErrors)
7160: base(BoundKind.AnonymousPropertyDeclaration, syntax, type)
7190: base(BoundKind.NewT, syntax, type, hasErrors || initializerExpressionOpt.HasErrors())
7220: base(BoundKind.DelegateCreationExpression, syntax, type, hasErrors || argument.HasErrors())
7256: base(BoundKind.ArrayCreation, syntax, type, hasErrors || bounds.HasErrors() || initializerOpt.HasErrors())
7288: base(BoundKind.ArrayInitialization, syntax, null, hasErrors || initializers.HasErrors())
7318protected BoundStackAllocArrayCreationBase(BoundKind kind, SyntaxNode syntax, TypeSymbol elementType, BoundExpression count, BoundArrayInitialization? initializerOpt, TypeSymbol? type, bool hasErrors = false)
7338: base(BoundKind.StackAllocArrayCreation, syntax, elementType, count, initializerOpt, type, hasErrors || count.HasErrors() || initializerOpt.HasErrors())
7365: base(BoundKind.ConvertedStackAllocExpression, syntax, elementType, count, initializerOpt, type, hasErrors || count.HasErrors() || initializerOpt.HasErrors())
7394: base(BoundKind.FieldAccess, syntax, type, hasErrors || receiverOpt.HasErrors())
7434: base(BoundKind.HoistedFieldAccess, syntax, type, hasErrors)
7444: base(BoundKind.HoistedFieldAccess, syntax, type)
7474: base(BoundKind.PropertyAccess, syntax, type, hasErrors || receiverOpt.HasErrors())
7512: base(BoundKind.EventAccess, syntax, type, hasErrors || receiverOpt.HasErrors())
7548: base(BoundKind.IndexerAccess, syntax, type, hasErrors || receiverOpt.HasErrors() || arguments.HasErrors())
7599: base(BoundKind.ImplicitIndexerAccess, syntax, type, hasErrors || receiver.HasErrors() || argument.HasErrors() || lengthOrCountAccess.HasErrors() || receiverPlaceholder.HasErrors() || indexerOrSliceAccess.HasErrors() || argumentPlaceholders.HasErrors())
7648: base(BoundKind.InlineArrayAccess, syntax, type, hasErrors || expression.HasErrors() || argument.HasErrors())
7689: base(BoundKind.DynamicIndexerAccess, syntax, type, hasErrors || receiver.HasErrors() || arguments.HasErrors())
7729: base(BoundKind.Lambda, syntax, type, hasErrors || unboundLambda.HasErrors() || body.HasErrors())
7769: base(BoundKind.UnboundLambda, syntax, null, hasErrors)
7780: base(BoundKind.UnboundLambda, syntax, null)
7813: base(BoundKind.QueryClause, syntax, type, hasErrors || value.HasErrors() || operation.HasErrors() || cast.HasErrors() || unoptimizedForm.HasErrors())
7854: base(BoundKind.TypeOrInstanceInitializers, syntax, statements, hasErrors || statements.HasErrors())
7880: base(BoundKind.NameOfOperator, syntax, type, hasErrors || argument.HasErrors())
7916protected BoundInterpolatedStringBase(BoundKind kind, SyntaxNode syntax, ImmutableArray<BoundExpression> parts, ConstantValue? constantValueOpt, TypeSymbol? type, bool hasErrors = false)
7933: base(BoundKind.UnconvertedInterpolatedString, syntax, parts, constantValueOpt, type, hasErrors || parts.HasErrors())
7959: base(BoundKind.InterpolatedString, syntax, parts, constantValueOpt, type, hasErrors || parts.HasErrors())
7987: base(BoundKind.InterpolatedStringHandlerPlaceholder, syntax, type, hasErrors)
7992: base(BoundKind.InterpolatedStringHandlerPlaceholder, syntax, type)
8015: base(BoundKind.InterpolatedStringArgumentPlaceholder, syntax, type, hasErrors)
8024: base(BoundKind.InterpolatedStringArgumentPlaceholder, syntax, type)
8053: base(BoundKind.StringInsert, syntax, null, hasErrors || value.HasErrors() || alignment.HasErrors() || format.HasErrors())
8088: base(BoundKind.IsPatternExpression, syntax, type, hasErrors || expression.HasErrors() || pattern.HasErrors() || reachabilityDecisionDag.HasErrors())
8131protected BoundPattern(BoundKind kind, SyntaxNode syntax, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors)
8146protected BoundPattern(BoundKind kind, SyntaxNode syntax, TypeSymbol inputType, TypeSymbol narrowedType)
8164: base(BoundKind.ConstantPattern, syntax, inputType, narrowedType, hasErrors || value.HasErrors())
8203: base(BoundKind.PatternWithUnionMatching, syntax, inputType, narrowedType, hasErrors || leftOfPendingConjunction.HasErrors() || valueProperty.HasErrors() || valuePattern.HasErrors())
8245: base(BoundKind.DiscardPattern, syntax, inputType, narrowedType, hasErrors)
8258: base(BoundKind.DiscardPattern, syntax, inputType, narrowedType)
8284protected BoundObjectPattern(BoundKind kind, SyntaxNode syntax, Symbol? variable, BoundExpression? variableAccess, bool isUnionMatching, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8304: base(BoundKind.DeclarationPattern, syntax, variable, variableAccess, isUnionMatching, inputType, narrowedType, hasErrors || declaredType.HasErrors() || variableAccess.HasErrors())
8340: base(BoundKind.RecursivePattern, syntax, variable, variableAccess, isUnionMatching, inputType, narrowedType, hasErrors || declaredType.HasErrors() || deconstruction.HasErrors() || properties.HasErrors() || variableAccess.HasErrors())
8381: base(BoundKind.ListPattern, syntax, variable, variableAccess, isUnionMatching, inputType, narrowedType, hasErrors || subpatterns.HasErrors() || lengthAccess.HasErrors() || indexerAccess.HasErrors() || receiverPlaceholder.HasErrors() || argumentPlaceholder.HasErrors() || variableAccess.HasErrors())
8425: base(BoundKind.SlicePattern, syntax, inputType, narrowedType, hasErrors || pattern.HasErrors() || indexerAccess.HasErrors() || receiverPlaceholder.HasErrors() || argumentPlaceholder.HasErrors())
8464: base(BoundKind.ITuplePattern, syntax, inputType, narrowedType, hasErrors || subpatterns.HasErrors())
8505protected BoundSubpattern(BoundKind kind, SyntaxNode syntax, BoundPattern pattern, bool hasErrors = false)
8524: base(BoundKind.PositionalSubpattern, syntax, pattern, hasErrors || pattern.HasErrors())
8552: base(BoundKind.PropertySubpattern, syntax, pattern, hasErrors || member.HasErrors() || pattern.HasErrors())
8582: base(BoundKind.PropertySubpatternMember, syntax, hasErrors || receiver.HasErrors())
8614: base(BoundKind.TypePattern, syntax, inputType, narrowedType, hasErrors || declaredType.HasErrors())
8652: base(BoundKind.BinaryPattern, syntax, inputType, narrowedType, hasErrors || left.HasErrors() || right.HasErrors())
8691: base(BoundKind.NegatedPattern, syntax, inputType, narrowedType, hasErrors || negated.HasErrors())
8727: base(BoundKind.RelationalPattern, syntax, inputType, narrowedType, hasErrors || value.HasErrors())
8768: base(BoundKind.DiscardExpression, syntax, type, hasErrors)
8775: base(BoundKind.DiscardExpression, syntax, type)
8803: base(BoundKind.ThrowExpression, syntax, type, hasErrors || expression.HasErrors())
8830protected VariablePendingInference(BoundKind kind, SyntaxNode syntax, Symbol variableSymbol, BoundExpression? receiverOpt, bool hasErrors = false)
8848: base(BoundKind.OutVariablePendingInference, syntax, variableSymbol, receiverOpt, hasErrors || receiverOpt.HasErrors())
8874: base(BoundKind.DeconstructionVariablePendingInference, syntax, variableSymbol, receiverOpt, hasErrors || receiverOpt.HasErrors())
8900: base(BoundKind.OutDeconstructVarPendingInference, syntax, null, hasErrors)
8907: base(BoundKind.OutDeconstructVarPendingInference, syntax, null)
8934protected BoundMethodBodyBase(BoundKind kind, SyntaxNode syntax, BoundBlock? blockBody, BoundBlock? expressionBody, bool hasErrors = false)
8948: base(BoundKind.NonConstructorMethodBody, syntax, blockBody, expressionBody, hasErrors || blockBody.HasErrors() || expressionBody.HasErrors())
8971: base(BoundKind.ConstructorMethodBody, syntax, blockBody, expressionBody, hasErrors || initializer.HasErrors() || blockBody.HasErrors() || expressionBody.HasErrors())
9001: base(BoundKind.ExpressionWithNullability, syntax, type, hasErrors || expression.HasErrors())
9032: base(BoundKind.ValueForNullableAnalysis, syntax, type, hasErrors || originalExpression.HasErrors())
9057: base(BoundKind.WithExpression, syntax, type, hasErrors || receiver.HasErrors() || initializerExpression.HasErrors())
9097case BoundKind.FieldEqualsValue:
9099case BoundKind.PropertyEqualsValue:
9101case BoundKind.ParameterEqualsValue:
9103case BoundKind.GlobalStatementInitializer:
9105case BoundKind.ValuePlaceholder:
9107case BoundKind.CapturedReceiverPlaceholder:
9109case BoundKind.DeconstructValuePlaceholder:
9111case BoundKind.TupleOperandPlaceholder:
9113case BoundKind.AwaitableValuePlaceholder:
9115case BoundKind.DisposableValuePlaceholder:
9117case BoundKind.ObjectOrCollectionValuePlaceholder:
9119case BoundKind.ImplicitIndexerValuePlaceholder:
9121case BoundKind.ImplicitIndexerReceiverPlaceholder:
9123case BoundKind.ListPatternReceiverPlaceholder:
9125case BoundKind.ListPatternIndexPlaceholder:
9127case BoundKind.SlicePatternReceiverPlaceholder:
9129case BoundKind.SlicePatternRangePlaceholder:
9131case BoundKind.CollectionBuilderElementsPlaceholder:
9133case BoundKind.Dup:
9135case BoundKind.PassByCopy:
9137case BoundKind.BadExpression:
9139case BoundKind.BadStatement:
9141case BoundKind.ExtractedFinallyBlock:
9143case BoundKind.TypeExpression:
9145case BoundKind.TypeOrValueExpression:
9147case BoundKind.NamespaceExpression:
9149case BoundKind.UnaryOperator:
9151case BoundKind.IncrementOperator:
9153case BoundKind.AddressOfOperator:
9155case BoundKind.UnconvertedAddressOfOperator:
9157case BoundKind.FunctionPointerLoad:
9159case BoundKind.PointerIndirectionOperator:
9161case BoundKind.PointerElementAccess:
9163case BoundKind.FunctionPointerInvocation:
9165case BoundKind.RefTypeOperator:
9167case BoundKind.MakeRefOperator:
9169case BoundKind.RefValueOperator:
9171case BoundKind.FromEndIndexExpression:
9173case BoundKind.RangeExpression:
9175case BoundKind.BinaryOperator:
9177case BoundKind.TupleBinaryOperator:
9179case BoundKind.UserDefinedConditionalLogicalOperator:
9181case BoundKind.CompoundAssignmentOperator:
9183case BoundKind.AssignmentOperator:
9185case BoundKind.DeconstructionAssignmentOperator:
9187case BoundKind.NullCoalescingOperator:
9189case BoundKind.NullCoalescingAssignmentOperator:
9191case BoundKind.UnconvertedConditionalOperator:
9193case BoundKind.ConditionalOperator:
9195case BoundKind.ArrayAccess:
9197case BoundKind.RefArrayAccess:
9199case BoundKind.ArrayLength:
9201case BoundKind.AwaitableInfo:
9203case BoundKind.AwaitExpression:
9205case BoundKind.TypeOfOperator:
9207case BoundKind.BlockInstrumentation:
9209case BoundKind.MethodDefIndex:
9211case BoundKind.LocalId:
9213case BoundKind.ParameterId:
9215case BoundKind.StateMachineInstanceId:
9217case BoundKind.MaximumMethodDefIndex:
9219case BoundKind.InstrumentationPayloadRoot:
9221case BoundKind.ThrowIfModuleCancellationRequested:
9223case BoundKind.ModuleCancellationTokenExpression:
9225case BoundKind.ModuleVersionId:
9227case BoundKind.ModuleVersionIdString:
9229case BoundKind.SourceDocumentIndex:
9231case BoundKind.MethodInfo:
9233case BoundKind.FieldInfo:
9235case BoundKind.DefaultLiteral:
9237case BoundKind.DefaultExpression:
9239case BoundKind.IsOperator:
9241case BoundKind.AsOperator:
9243case BoundKind.SizeOfOperator:
9245case BoundKind.Conversion:
9247case BoundKind.ReadOnlySpanFromArray:
9249case BoundKind.ArgList:
9251case BoundKind.ArgListOperator:
9253case BoundKind.FixedLocalCollectionInitializer:
9255case BoundKind.SequencePoint:
9257case BoundKind.SequencePointWithSpan:
9259case BoundKind.SavePreviousSequencePoint:
9261case BoundKind.RestorePreviousSequencePoint:
9263case BoundKind.StepThroughSequencePoint:
9265case BoundKind.Block:
9267case BoundKind.Scope:
9269case BoundKind.StateMachineScope:
9271case BoundKind.LocalDeclaration:
9273case BoundKind.MultipleLocalDeclarations:
9275case BoundKind.UsingLocalDeclarations:
9277case BoundKind.LocalFunctionStatement:
9279case BoundKind.NoOpStatement:
9281case BoundKind.ReturnStatement:
9283case BoundKind.YieldReturnStatement:
9285case BoundKind.YieldBreakStatement:
9287case BoundKind.ThrowStatement:
9289case BoundKind.ExpressionStatement:
9291case BoundKind.BreakStatement:
9293case BoundKind.ContinueStatement:
9295case BoundKind.SwitchStatement:
9297case BoundKind.SwitchDispatch:
9299case BoundKind.IfStatement:
9301case BoundKind.DoStatement:
9303case BoundKind.WhileStatement:
9305case BoundKind.ForStatement:
9307case BoundKind.ForEachStatement:
9309case BoundKind.ForEachDeconstructStep:
9311case BoundKind.UsingStatement:
9313case BoundKind.FixedStatement:
9315case BoundKind.LockStatement:
9317case BoundKind.TryStatement:
9319case BoundKind.CatchBlock:
9321case BoundKind.Literal:
9323case BoundKind.Utf8String:
9325case BoundKind.ThisReference:
9327case BoundKind.PreviousSubmissionReference:
9329case BoundKind.HostObjectMemberReference:
9331case BoundKind.BaseReference:
9333case BoundKind.Local:
9335case BoundKind.PseudoVariable:
9337case BoundKind.RangeVariable:
9339case BoundKind.Parameter:
9341case BoundKind.LabelStatement:
9343case BoundKind.GotoStatement:
9345case BoundKind.LabeledStatement:
9347case BoundKind.Label:
9349case BoundKind.StatementList:
9351case BoundKind.ConditionalGoto:
9353case BoundKind.SwitchExpressionArm:
9355case BoundKind.UnconvertedSwitchExpression:
9357case BoundKind.ConvertedSwitchExpression:
9359case BoundKind.DecisionDag:
9361case BoundKind.EvaluationDecisionDagNode:
9363case BoundKind.TestDecisionDagNode:
9365case BoundKind.WhenDecisionDagNode:
9367case BoundKind.LeafDecisionDagNode:
9369case BoundKind.DagTemp:
9371case BoundKind.DagTypeTest:
9373case BoundKind.DagNonNullTest:
9375case BoundKind.DagExplicitNullTest:
9377case BoundKind.DagValueTest:
9379case BoundKind.DagRelationalTest:
9381case BoundKind.DagDeconstructEvaluation:
9383case BoundKind.DagTypeEvaluation:
9385case BoundKind.DagFieldEvaluation:
9387case BoundKind.DagPropertyEvaluation:
9389case BoundKind.DagIndexEvaluation:
9391case BoundKind.DagIndexerEvaluation:
9393case BoundKind.DagSliceEvaluation:
9395case BoundKind.DagAssignmentEvaluation:
9397case BoundKind.DagPassThroughEvaluation:
9399case BoundKind.SwitchSection:
9401case BoundKind.SwitchLabel:
9403case BoundKind.SequencePointExpression:
9405case BoundKind.Sequence:
9407case BoundKind.SpillSequence:
9409case BoundKind.DynamicMemberAccess:
9411case BoundKind.DynamicInvocation:
9413case BoundKind.ConditionalAccess:
9415case BoundKind.LoweredConditionalAccess:
9417case BoundKind.ConditionalReceiver:
9419case BoundKind.ComplexConditionalReceiver:
9421case BoundKind.MethodGroup:
9423case BoundKind.PropertyGroup:
9425case BoundKind.Call:
9427case BoundKind.EventAssignmentOperator:
9429case BoundKind.Attribute:
9431case BoundKind.UnconvertedObjectCreationExpression:
9433case BoundKind.ObjectCreationExpression:
9435case BoundKind.UnconvertedCollectionExpression:
9437case BoundKind.UnconvertedWithElement:
9439case BoundKind.CollectionExpression:
9441case BoundKind.CollectionExpressionSpreadExpressionPlaceholder:
9443case BoundKind.CollectionExpressionSpreadElement:
9445case BoundKind.TupleLiteral:
9447case BoundKind.ConvertedTupleLiteral:
9449case BoundKind.DynamicObjectCreationExpression:
9451case BoundKind.NoPiaObjectCreationExpression:
9453case BoundKind.ObjectInitializerExpression:
9455case BoundKind.ObjectInitializerMember:
9457case BoundKind.DynamicObjectInitializerMember:
9459case BoundKind.CollectionInitializerExpression:
9461case BoundKind.CollectionElementInitializer:
9463case BoundKind.DynamicCollectionElementInitializer:
9465case BoundKind.ImplicitReceiver:
9467case BoundKind.AnonymousObjectCreationExpression:
9469case BoundKind.AnonymousPropertyDeclaration:
9471case BoundKind.NewT:
9473case BoundKind.DelegateCreationExpression:
9475case BoundKind.ArrayCreation:
9477case BoundKind.ArrayInitialization:
9479case BoundKind.StackAllocArrayCreation:
9481case BoundKind.ConvertedStackAllocExpression:
9483case BoundKind.FieldAccess:
9485case BoundKind.HoistedFieldAccess:
9487case BoundKind.PropertyAccess:
9489case BoundKind.EventAccess:
9491case BoundKind.IndexerAccess:
9493case BoundKind.ImplicitIndexerAccess:
9495case BoundKind.InlineArrayAccess:
9497case BoundKind.DynamicIndexerAccess:
9499case BoundKind.Lambda:
9501case BoundKind.UnboundLambda:
9503case BoundKind.QueryClause:
9505case BoundKind.TypeOrInstanceInitializers:
9507case BoundKind.NameOfOperator:
9509case BoundKind.UnconvertedInterpolatedString:
9511case BoundKind.InterpolatedString:
9513case BoundKind.InterpolatedStringHandlerPlaceholder:
9515case BoundKind.InterpolatedStringArgumentPlaceholder:
9517case BoundKind.StringInsert:
9519case BoundKind.IsPatternExpression:
9521case BoundKind.ConstantPattern:
9523case BoundKind.PatternWithUnionMatching:
9525case BoundKind.DiscardPattern:
9527case BoundKind.DeclarationPattern:
9529case BoundKind.RecursivePattern:
9531case BoundKind.ListPattern:
9533case BoundKind.SlicePattern:
9535case BoundKind.ITuplePattern:
9537case BoundKind.PositionalSubpattern:
9539case BoundKind.PropertySubpattern:
9541case BoundKind.PropertySubpatternMember:
9543case BoundKind.TypePattern:
9545case BoundKind.BinaryPattern:
9547case BoundKind.NegatedPattern:
9549case BoundKind.RelationalPattern:
9551case BoundKind.DiscardExpression:
9553case BoundKind.ThrowExpression:
9555case BoundKind.OutVariablePendingInference:
9557case BoundKind.DeconstructionVariablePendingInference:
9559case BoundKind.OutDeconstructVarPendingInference:
9561case BoundKind.NonConstructorMethodBody:
9563case BoundKind.ConstructorMethodBody:
9565case BoundKind.ExpressionWithNullability:
9567case BoundKind.ValueForNullableAnalysis:
9569case BoundKind.WithExpression:
17698internal static PipelinePhase DoesNotSurvive(BoundKind kind)
17702BoundKind.ValuePlaceholder => PipelinePhase.LocalRewriting,
17703BoundKind.DeconstructValuePlaceholder => PipelinePhase.LocalRewriting,
17704BoundKind.TupleOperandPlaceholder => PipelinePhase.InitialBinding,
17705BoundKind.AwaitableValuePlaceholder => PipelinePhase.StateMachineRewriting,
17706BoundKind.DisposableValuePlaceholder => PipelinePhase.InitialBinding,
17707BoundKind.ImplicitIndexerReceiverPlaceholder => PipelinePhase.LocalRewriting,
17708BoundKind.ListPatternReceiverPlaceholder => PipelinePhase.LocalRewriting,
17709BoundKind.ListPatternIndexPlaceholder => PipelinePhase.LocalRewriting,
17710BoundKind.SlicePatternReceiverPlaceholder => PipelinePhase.LocalRewriting,
17711BoundKind.SlicePatternRangePlaceholder => PipelinePhase.LocalRewriting,
17712BoundKind.CollectionBuilderElementsPlaceholder => PipelinePhase.LocalRewriting,
17713BoundKind.TypeOrValueExpression => PipelinePhase.InitialBinding,
17714BoundKind.UnconvertedAddressOfOperator => PipelinePhase.InitialBinding,
17715BoundKind.UnconvertedConditionalOperator => PipelinePhase.InitialBinding,
17716BoundKind.AwaitableInfo => PipelinePhase.StateMachineRewriting,
17717BoundKind.AwaitExpression => PipelinePhase.StateMachineRewriting,
17718BoundKind.DefaultLiteral => PipelinePhase.LocalRewriting,
17719BoundKind.LocalFunctionStatement => PipelinePhase.ClosureConversion,
17720BoundKind.YieldReturnStatement => PipelinePhase.StateMachineRewriting,
17721BoundKind.YieldBreakStatement => PipelinePhase.StateMachineRewriting,
17722BoundKind.IfStatement => PipelinePhase.LocalRewriting,
17723BoundKind.UsingStatement => PipelinePhase.LocalRewriting,
17724BoundKind.UnconvertedSwitchExpression => PipelinePhase.InitialBinding,
17725BoundKind.SpillSequence => PipelinePhase.Spilling,
17726BoundKind.UnconvertedObjectCreationExpression => PipelinePhase.InitialBinding,
17727BoundKind.UnconvertedCollectionExpression => PipelinePhase.InitialBinding,
17728BoundKind.TupleLiteral => PipelinePhase.InitialBinding,
17729BoundKind.TypeOrInstanceInitializers => PipelinePhase.LocalRewriting,
17730BoundKind.UnconvertedInterpolatedString => PipelinePhase.InitialBinding,
17731BoundKind.InterpolatedStringHandlerPlaceholder => PipelinePhase.LocalRewriting,
17732BoundKind.InterpolatedStringArgumentPlaceholder => PipelinePhase.LocalRewriting,
17733BoundKind.PatternWithUnionMatching => PipelinePhase.InitialBinding,
17734BoundKind.DeconstructionVariablePendingInference => PipelinePhase.LocalRewriting,
17735BoundKind.ExpressionWithNullability => PipelinePhase.InitialBinding,
17736BoundKind.ValueForNullableAnalysis => PipelinePhase.InitialBinding,