@@ -4070,6 +4070,7 @@ export interface JSDocImportTag extends JSDocTag {
4070
4070
4071
4071
// NOTE: Ensure this is up-to-date with src/debug/debug.ts
4072
4072
// dprint-ignore
4073
+ /** @internal */
4073
4074
export const enum FlowFlags {
4074
4075
Unreachable = 1 << 0 , // Unreachable code
4075
4076
Start = 1 << 1 , // Start of flow graph
@@ -4089,6 +4090,7 @@ export const enum FlowFlags {
4089
4090
Condition = TrueCondition | FalseCondition ,
4090
4091
}
4091
4092
4093
+ /** @internal */
4092
4094
export type FlowNode =
4093
4095
| FlowStart
4094
4096
| FlowLabel
@@ -4099,6 +4101,7 @@ export type FlowNode =
4099
4101
| FlowCall
4100
4102
| FlowReduceLabel ;
4101
4103
4104
+ /** @internal */
4102
4105
export interface FlowNodeBase {
4103
4106
flags : FlowFlags ;
4104
4107
id ?: number ; // Node id used by flow type cache in checker
@@ -4107,35 +4110,41 @@ export interface FlowNodeBase {
4107
4110
// FlowStart represents the start of a control flow. For a function expression or arrow
4108
4111
// function, the node property references the function (which in turn has a flowNode
4109
4112
// property for the containing control flow).
4113
+ /** @internal */
4110
4114
export interface FlowStart extends FlowNodeBase {
4111
4115
node ?: FunctionExpression | ArrowFunction | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration ;
4112
4116
}
4113
4117
4114
4118
// FlowLabel represents a junction with multiple possible preceding control flows.
4119
+ /** @internal */
4115
4120
export interface FlowLabel extends FlowNodeBase {
4116
4121
antecedents : FlowNode [ ] | undefined ;
4117
4122
}
4118
4123
4119
4124
// FlowAssignment represents a node that assigns a value to a narrowable reference,
4120
4125
// i.e. an identifier or a dotted name that starts with an identifier or 'this'.
4126
+ /** @internal */
4121
4127
export interface FlowAssignment extends FlowNodeBase {
4122
4128
node : Expression | VariableDeclaration | BindingElement ;
4123
4129
antecedent : FlowNode ;
4124
4130
}
4125
4131
4132
+ /** @internal */
4126
4133
export interface FlowCall extends FlowNodeBase {
4127
4134
node : CallExpression ;
4128
4135
antecedent : FlowNode ;
4129
4136
}
4130
4137
4131
4138
// FlowCondition represents a condition that is known to be true or false at the
4132
4139
// node's location in the control flow.
4140
+ /** @internal */
4133
4141
export interface FlowCondition extends FlowNodeBase {
4134
4142
node : Expression ;
4135
4143
antecedent : FlowNode ;
4136
4144
}
4137
4145
4138
4146
// dprint-ignore
4147
+ /** @internal */
4139
4148
export interface FlowSwitchClause extends FlowNodeBase {
4140
4149
switchStatement : SwitchStatement ;
4141
4150
clauseStart : number ; // Start index of case/default clause range
@@ -4145,11 +4154,13 @@ export interface FlowSwitchClause extends FlowNodeBase {
4145
4154
4146
4155
// FlowArrayMutation represents a node potentially mutates an array, i.e. an
4147
4156
// operation of the form 'x.push(value)', 'x.unshift(value)' or 'x[n] = value'.
4157
+ /** @internal */
4148
4158
export interface FlowArrayMutation extends FlowNodeBase {
4149
4159
node : CallExpression | BinaryExpression ;
4150
4160
antecedent : FlowNode ;
4151
4161
}
4152
4162
4163
+ /** @internal */
4153
4164
export interface FlowReduceLabel extends FlowNodeBase {
4154
4165
target : FlowLabel ;
4155
4166
antecedents : FlowNode [ ] ;
0 commit comments