File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed
Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -9781,15 +9781,15 @@ namespace ts {
97819781 return type.flags & TypeFlags.TypeParameter && !getConstraintFromTypeParameter(<TypeParameter>type);
97829782 }
97839783
9784- function isTypeReferenceWithGenericArguments(type: Type) {
9785- return getObjectFlags(type) & ObjectFlags.Reference && some((<TypeReference>type).typeArguments, isUnconstrainedTypeParameter);
9784+ function isTypeReferenceWithGenericArguments(type: Type): boolean {
9785+ return getObjectFlags(type) & ObjectFlags.Reference && some((<TypeReference>type).typeArguments, t => isUnconstrainedTypeParameter(t) || isTypeReferenceWithGenericArguments(t) );
97869786 }
97879787
97889788 /**
97899789 * getTypeReferenceId(A<T, number, U>) returns "111=0-12=1"
97909790 * where A.id=111 and number.id=12
97919791 */
9792- function getTypeReferenceId(type: TypeReference, typeParameters: Type[]) {
9792+ function getTypeReferenceId(type: TypeReference, typeParameters: Type[], depth = 0 ) {
97939793 let result = "" + type.target.id;
97949794 for (const t of type.typeArguments) {
97959795 if (isUnconstrainedTypeParameter(t)) {
@@ -9800,6 +9800,9 @@ namespace ts {
98009800 }
98019801 result += "=" + index;
98029802 }
9803+ else if (depth < 4 && isTypeReferenceWithGenericArguments(t)) {
9804+ result += "<" + getTypeReferenceId(t as TypeReference, typeParameters, depth + 1) + ">";
9805+ }
98039806 else {
98049807 result += "-" + t.id;
98059808 }
You can’t perform that action at this time.
0 commit comments