Remove target-following code when erasing signatures

Fixes return type of inherited default constructors when they are
generic.
This commit is contained in:
Nathan Shively-Sanders 2016-05-19 10:37:20 -07:00
parent c172c06777
commit 0001b8cb37

View file

@ -4577,12 +4577,7 @@ namespace ts {
function getErasedSignature(signature: Signature): Signature {
if (!signature.typeParameters) return signature;
if (!signature.erasedSignatureCache) {
if (signature.target) {
signature.erasedSignatureCache = instantiateSignature(getErasedSignature(signature.target), signature.mapper);
}
else {
signature.erasedSignatureCache = instantiateSignature(signature, createTypeEraser(signature.typeParameters), /*eraseTypeParameters*/ true);
}
signature.erasedSignatureCache = instantiateSignature(signature, createTypeEraser(signature.typeParameters), /*eraseTypeParameters*/ true);
}
return signature.erasedSignatureCache;
}