getLeftmostExpression: handle AsExpression and NonNullExpression
Fixes: #25223
This commit is contained in:
parent
a1746d4cfe
commit
7077dd91a8
1 changed files with 4 additions and 6 deletions
|
@ -4340,7 +4340,7 @@ namespace ts {
|
|||
}
|
||||
}
|
||||
|
||||
function getLeftmostExpression(node: Expression, stopAtCallExpressions: boolean) {
|
||||
function getLeftmostExpression(node: Expression, stopAtCallExpressions: boolean | undefined) {
|
||||
while (true) {
|
||||
switch (node.kind) {
|
||||
case SyntaxKind.PostfixUnaryExpression:
|
||||
|
@ -4354,19 +4354,17 @@ namespace ts {
|
|||
case SyntaxKind.ConditionalExpression:
|
||||
node = (<ConditionalExpression>node).condition;
|
||||
continue;
|
||||
|
||||
case SyntaxKind.CallExpression:
|
||||
if (stopAtCallExpressions) {
|
||||
return node;
|
||||
}
|
||||
// falls through
|
||||
case SyntaxKind.AsExpression:
|
||||
case SyntaxKind.ElementAccessExpression:
|
||||
case SyntaxKind.PropertyAccessExpression:
|
||||
node = (<CallExpression | PropertyAccessExpression | ElementAccessExpression>node).expression;
|
||||
continue;
|
||||
|
||||
case SyntaxKind.NonNullExpression:
|
||||
case SyntaxKind.PartiallyEmittedExpression:
|
||||
node = (<PartiallyEmittedExpression>node).expression;
|
||||
node = (<CallExpression | PropertyAccessExpression | ElementAccessExpression | AsExpression | NonNullExpression | PartiallyEmittedExpression>node).expression;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue