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

Function addPrivateIdentifierToEnvironment

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

Source from the content-addressed store, hash-verified

95579 return pendingExpressions || (pendingExpressions = []);
95580 }
95581 function addPrivateIdentifierToEnvironment(node) {
95582 var _a;
95583 var text = ts.getTextOfPropertyName(node.name);
95584 var lex = getClassLexicalEnvironment();
95585 var classConstructor = lex.classConstructor;
95586 var privateEnv = getPrivateIdentifierEnvironment();
95587 var weakSetName = privateEnv.weakSetName;
95588 var assignmentExpressions = [];
95589 var privateName = node.name.escapedText;
95590 var previousInfo = privateEnv.identifiers.get(privateName);
95591 var isValid = !isReservedPrivateName(node.name) && previousInfo === undefined;
95592 if (ts.hasStaticModifier(node)) {
95593 ts.Debug.assert(classConstructor, "weakSetName should be set in private identifier environment");
95594 if (ts.isPropertyDeclaration(node)) {
95595 var variableName = createHoistedVariableForPrivateName(text, node);
95596 privateEnv.identifiers.set(privateName, {
95597 kind: "f" /* PrivateIdentifierKind.Field */,
95598 variableName: variableName,
95599 brandCheckIdentifier: classConstructor,
95600 isStatic: true,
95601 isValid: isValid,
95602 });
95603 }
95604 else if (ts.isMethodDeclaration(node)) {
95605 var functionName = createHoistedVariableForPrivateName(text, node);
95606 privateEnv.identifiers.set(privateName, {
95607 kind: "m" /* PrivateIdentifierKind.Method */,
95608 methodName: functionName,
95609 brandCheckIdentifier: classConstructor,
95610 isStatic: true,
95611 isValid: isValid,
95612 });
95613 }
95614 else if (ts.isGetAccessorDeclaration(node)) {
95615 var getterName = createHoistedVariableForPrivateName(text + "_get", node);
95616 if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && previousInfo.isStatic && !previousInfo.getterName) {
95617 previousInfo.getterName = getterName;
95618 }
95619 else {
95620 privateEnv.identifiers.set(privateName, {
95621 kind: "a" /* PrivateIdentifierKind.Accessor */,
95622 getterName: getterName,
95623 setterName: undefined,
95624 brandCheckIdentifier: classConstructor,
95625 isStatic: true,
95626 isValid: isValid,
95627 });
95628 }
95629 }
95630 else if (ts.isSetAccessorDeclaration(node)) {
95631 var setterName = createHoistedVariableForPrivateName(text + "_set", node);
95632 if ((previousInfo === null || previousInfo === void 0 ? void 0 : previousInfo.kind) === "a" /* PrivateIdentifierKind.Accessor */ && previousInfo.isStatic && !previousInfo.setterName) {
95633 previousInfo.setterName = setterName;
95634 }
95635 else {
95636 privateEnv.identifiers.set(privateName, {
95637 kind: "a" /* PrivateIdentifierKind.Accessor */,
95638 getterName: undefined,

Callers 1

transformClassMembersFunction · 0.85

Calls 10

isReservedPrivateNameFunction · 0.85
getPendingExpressionsFunction · 0.85
assertMethod · 0.80
getMethod · 0.65
setMethod · 0.45
pushMethod · 0.45
applyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…