MCPcopy Create free account
hub / github.com/nodejs/node / createCanonicalSignature

Function createCanonicalSignature

test/fixtures/snapshot/typescript.js:59974–59982  ·  view source on GitHub ↗
(signature)

Source from the content-addressed store, hash-verified

59972 signature;
59973 }
59974 function createCanonicalSignature(signature) {
59975 // Create an instantiation of the signature where each unconstrained type parameter is replaced with
59976 // its original. When a generic class or interface is instantiated, each generic method in the class or
59977 // interface is instantiated with a fresh set of cloned type parameters (which we need to handle scenarios
59978 // where different generations of the same type parameter are in scope). This leads to a lot of new type
59979 // identities, and potentially a lot of work comparing those identities, so here we create an instantiation
59980 // that uses the original type identities for all unconstrained type parameters.
59981 return getSignatureInstantiation(signature, ts.map(signature.typeParameters, function (tp) { return tp.target && !getConstraintOfTypeParameter(tp.target) ? tp.target : tp; }), ts.isInJSFile(signature.declaration));
59982 }
59983 function getBaseSignature(signature) {
59984 var typeParameters = signature.typeParameters;
59985 if (typeParameters) {

Callers 1

getCanonicalSignatureFunction · 0.85

Calls 3

mapMethod · 0.65

Tested by

no test coverage detected