Skip parentheses

This commit is contained in:
Nathan Shively-Sanders
2021-02-12 09:38:21 -08:00
parent 1d347785de
commit b3be79ad0f
5 changed files with 46 additions and 3 deletions
+1 -3
View File
@@ -34547,9 +34547,7 @@ namespace ts {
: isBinaryExpression(location) && isIdentifier(location.right) ? location.right
: undefined;
const isPropertyExpressionCast = isPropertyAccessExpression(location)
&& isParenthesizedExpression(location.expression)
&& isAssertionExpression(location.expression.expression);
&& isAssertionExpression(skipParentheses(location.expression));
if (!testedNode || isPropertyExpressionCast) {
return;
}
@@ -9,6 +9,11 @@ function f(result: unknown) {
return result
}
}
function g(result: unknown) {
if (((result as I)).always) {
return result
}
}
//// [truthinessCallExpressionCoercion3.js]
@@ -17,3 +22,8 @@ function f(result) {
return result;
}
}
function g(result) {
if (result.always) {
return result;
}
}
@@ -21,4 +21,18 @@ function f(result: unknown) {
>result : Symbol(result, Decl(truthinessCallExpressionCoercion3.ts, 5, 11))
}
}
function g(result: unknown) {
>g : Symbol(g, Decl(truthinessCallExpressionCoercion3.ts, 9, 1))
>result : Symbol(result, Decl(truthinessCallExpressionCoercion3.ts, 10, 11))
if (((result as I)).always) {
>((result as I)).always : Symbol(I.always, Decl(truthinessCallExpressionCoercion3.ts, 1, 13))
>result : Symbol(result, Decl(truthinessCallExpressionCoercion3.ts, 10, 11))
>I : Symbol(I, Decl(truthinessCallExpressionCoercion3.ts, 0, 0))
>always : Symbol(I.always, Decl(truthinessCallExpressionCoercion3.ts, 1, 13))
return result
>result : Symbol(result, Decl(truthinessCallExpressionCoercion3.ts, 10, 11))
}
}
@@ -20,4 +20,20 @@ function f(result: unknown) {
>result : unknown
}
}
function g(result: unknown) {
>g : (result: unknown) => unknown
>result : unknown
if (((result as I)).always) {
>((result as I)).always : () => void
>((result as I)) : I
>(result as I) : I
>result as I : I
>result : unknown
>always : () => void
return result
>result : unknown
}
}
@@ -11,3 +11,8 @@ function f(result: unknown) {
return result
}
}
function g(result: unknown) {
if (((result as I)).always) {
return result
}
}