Properly account for 'this' parameter in type predicate checks

This commit is contained in:
Anders Hejlsberg 2017-04-22 17:08:52 -07:00
parent a1a2006074
commit e3b4c90970

View File

@ -11565,7 +11565,7 @@ namespace ts {
}
if (isIdentifierTypePredicate(predicate)) {
const predicateArgument = callExpression.arguments[predicate.parameterIndex];
const predicateArgument = callExpression.arguments[predicate.parameterIndex - (signature.thisParameter ? 1 : 0)];
if (predicateArgument) {
if (isMatchingReference(reference, predicateArgument)) {
return getNarrowedType(type, predicate.type, assumeTrue, isTypeSubtypeOf);