Inline isFlowNarrowable

This commit is contained in:
Nathan Shively-Sanders 2017-03-07 10:20:02 -08:00
parent c1f4c9c543
commit 24c8de21c4

View file

@ -10238,13 +10238,9 @@ namespace ts {
return false;
}
function isFlowNarrowable(reference: Node, type: Type, couldBeUninitialized?: boolean) {
return reference.flowNode && (type.flags & TypeFlags.Narrowable || couldBeUninitialized);
}
function getFlowTypeOfReference(reference: Node, declaredType: Type, initialType = declaredType, flowContainer?: Node, couldBeUninitialized?: boolean) {
let key: string;
if (!isFlowNarrowable(reference, declaredType, couldBeUninitialized)) {
if (!reference.flowNode || !couldBeUninitialized && !(declaredType.flags & TypeFlags.Narrowable)) {
return declaredType;
}
const visitedFlowStart = visitedFlowCount;