MCPcopy Index your code
hub / github.com/nodejs/node / getEnclosingClassFromThisParameter

Function getEnclosingClassFromThisParameter

test/fixtures/snapshot/typescript.js:74450–74460  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

74448 return true;
74449 }
74450 function getEnclosingClassFromThisParameter(node) {
74451 var thisParameter = getThisParameterFromNodeContext(node);
74452 var thisType = (thisParameter === null || thisParameter === void 0 ? void 0 : thisParameter.type) && getTypeFromTypeNode(thisParameter.type);
74453 if (thisType && thisType.flags & 262144 /* TypeFlags.TypeParameter */) {
74454 thisType = getConstraintOfTypeParameter(thisType);
74455 }
74456 if (thisType && ts.getObjectFlags(thisType) & (3 /* ObjectFlags.ClassOrInterface */ | 4 /* ObjectFlags.Reference */)) {
74457 return getTargetType(thisType);
74458 }
74459 return undefined;
74460 }
74461 function getThisParameterFromNodeContext(node) {
74462 var thisContainer = ts.getThisContainer(node, /* includeArrowFunctions */ false);
74463 return thisContainer && ts.isFunctionLike(thisContainer) ? ts.getThisParameter(thisContainer) : undefined;

Callers 1

Calls 4

getTypeFromTypeNodeFunction · 0.85
getTargetTypeFunction · 0.85

Tested by

no test coverage detected