Quick bail out when narrowing type any by equality

This commit is contained in:
Anders Hejlsberg 2016-09-12 12:41:15 -07:00
parent 37d6ab3e13
commit 6e8182d7e7

View file

@ -8586,6 +8586,9 @@ namespace ts {
}
function narrowTypeByEquality(type: Type, operator: SyntaxKind, value: Expression, assumeTrue: boolean): Type {
if (type.flags & TypeFlags.Any) {
return type;
}
if (operator === SyntaxKind.ExclamationEqualsToken || operator === SyntaxKind.ExclamationEqualsEqualsToken) {
assumeTrue = !assumeTrue;
}