(elementType)
| 69998 | return isTypeSubsetOf(elementType, evolvingArrayType.elementType) ? evolvingArrayType : getEvolvingArrayType(getUnionType([evolvingArrayType.elementType, elementType])); |
| 69999 | } |
| 70000 | function createFinalArrayType(elementType) { |
| 70001 | return elementType.flags & 131072 /* TypeFlags.Never */ ? |
| 70002 | autoArrayType : |
| 70003 | createArrayType(elementType.flags & 1048576 /* TypeFlags.Union */ ? |
| 70004 | getUnionType(elementType.types, 2 /* UnionReduction.Subtype */) : |
| 70005 | elementType); |
| 70006 | } |
| 70007 | // We perform subtype reduction upon obtaining the final array type from an evolving array type. |
| 70008 | function getFinalArrayType(evolvingArrayType) { |
| 70009 | return evolvingArrayType.finalArrayType || (evolvingArrayType.finalArrayType = createFinalArrayType(evolvingArrayType.elementType)); |
no test coverage detected