@@ -7644,7 +7644,6 @@ namespace ts {
7644
7644
return type && narrowType(type, flow.expression, flow.assumeTrue);
7645
7645
}
7646
7646
7647
- <<<<<<< 6e29b517c1915580728739864d5d7f6743d7ae14
7648
7647
function getTypeAtFlowNodeCached(flow: FlowNode) {
7649
7648
const cache = getFlowTypeCache(flow);
7650
7649
if (!key) {
@@ -7659,19 +7658,6 @@ namespace ts {
7659
7658
if (flowStackNodes[i] === flow && flowStackCacheKeys[i] === key) {
7660
7659
return undefined;
7661
7660
}
7662
- =======
7663
- return narrowBasedOnMatchingProperty(type, propName);
7664
- }
7665
-
7666
- function isMemberSubtype(type: Type, check: Type, selectors: string[]): boolean {
7667
- if (!selectors.length) {
7668
- return isTypeSubtypeOf(type, check);
7669
- }
7670
- const name = selectors.pop();
7671
- const childProp = getPropertyOfType(type, name);
7672
- const propType = childProp && getTypeOfSymbol(childProp);
7673
- return propType && isMemberSubtype(propType, check, selectors);
7674
- >>>>>>> improve style/names
7675
7661
}
7676
7662
// Record node and key on stack of nodes being processed.
7677
7663
flowStackNodes[flowStackCount] = flow;
@@ -7684,7 +7670,6 @@ namespace ts {
7684
7670
return cache[key] || type && (cache[key] = type);
7685
7671
}
7686
7672
7687
- <<<<<<< 6e29b517c1915580728739864d5d7f6743d7ae14
7688
7673
function getTypeAtFlowLabel(flow: FlowLabel) {
7689
7674
const antecedentTypes: Type[] = [];
7690
7675
for (const antecedent of flow.antecedents) {
@@ -7702,20 +7687,6 @@ namespace ts {
7702
7687
if (!contains(antecedentTypes, type)) {
7703
7688
antecedentTypes.push(type);
7704
7689
}
7705
- =======
7706
- function narrowBasedOnMatchingProperty(type: Type, name: string): Type {
7707
- const childProp = getPropertyOfType(type, name);
7708
- const propType = childProp && getTypeOfSymbol(childProp);
7709
- const narrowedType = propType && narrowIntrospectively(propType);
7710
-
7711
- if (narrowedType && !isTypeIdenticalTo(propType, narrowedType)) {
7712
- const symbols = cloneSymbolTable(resolveStructuredTypeMembers(type as ObjectType).members);
7713
- const temp = createSymbol(childProp.flags, name);
7714
- getSymbolLinks(temp).type = narrowedType;
7715
- symbols[name] = temp;
7716
- return createAnonymousType(createSymbol(type.symbol.flags, type.symbol.name), symbols, getSignaturesOfType(type, SignatureKind.Call),
7717
- getSignaturesOfType(type, SignatureKind.Construct), getIndexTypeOfType(type, IndexKind.String), getIndexTypeOfType(type, IndexKind.Number));
7718
- >>>>>>> improve style/names
7719
7690
}
7720
7691
}
7721
7692
return antecedentTypes.length === 0 ? undefined :
0 commit comments