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

Function checkUnusedClassMembers

test/fixtures/snapshot/typescript.js:82003–82039  ·  view source on GitHub ↗
(node, addDiagnostic)

Source from the content-addressed store, hash-verified

82001 return ts.isIdentifier(node) && ts.idText(node).charCodeAt(0) === 95 /* CharacterCodes._ */;
82002 }
82003 function checkUnusedClassMembers(node, addDiagnostic) {
82004 for (var _i = 0, _a = node.members; _i < _a.length; _i++) {
82005 var member = _a[_i];
82006 switch (member.kind) {
82007 case 169 /* SyntaxKind.MethodDeclaration */:
82008 case 167 /* SyntaxKind.PropertyDeclaration */:
82009 case 172 /* SyntaxKind.GetAccessor */:
82010 case 173 /* SyntaxKind.SetAccessor */:
82011 if (member.kind === 173 /* SyntaxKind.SetAccessor */ && member.symbol.flags & 32768 /* SymbolFlags.GetAccessor */) {
82012 // Already would have reported an error on the getter.
82013 break;
82014 }
82015 var symbol = getSymbolOfNode(member);
82016 if (!symbol.isReferenced
82017 && (ts.hasEffectiveModifier(member, 8 /* ModifierFlags.Private */) || ts.isNamedDeclaration(member) && ts.isPrivateIdentifier(member.name))
82018 && !(member.flags & 16777216 /* NodeFlags.Ambient */)) {
82019 addDiagnostic(member, 0 /* UnusedKind.Local */, ts.createDiagnosticForNode(member.name, ts.Diagnostics._0_is_declared_but_its_value_is_never_read, symbolToString(symbol)));
82020 }
82021 break;
82022 case 171 /* SyntaxKind.Constructor */:
82023 for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) {
82024 var parameter = _c[_b];
82025 if (!parameter.symbol.isReferenced && ts.hasSyntacticModifier(parameter, 8 /* ModifierFlags.Private */)) {
82026 addDiagnostic(parameter, 0 /* UnusedKind.Local */, ts.createDiagnosticForNode(parameter.name, ts.Diagnostics.Property_0_is_declared_but_its_value_is_never_read, ts.symbolName(parameter.symbol)));
82027 }
82028 }
82029 break;
82030 case 176 /* SyntaxKind.IndexSignature */:
82031 case 234 /* SyntaxKind.SemicolonClassElement */:
82032 case 170 /* SyntaxKind.ClassStaticBlockDeclaration */:
82033 // Can't be private
82034 break;
82035 default:
82036 ts.Debug.fail("Unexpected class member");
82037 }
82038 }
82039 }
82040 function checkUnusedInferTypeParameter(node, addDiagnostic) {
82041 var typeParameter = node.typeParameter;
82042 if (isTypeParameterUnused(typeParameter)) {

Callers 1

checkUnusedIdentifiersFunction · 0.85

Calls 3

getSymbolOfNodeFunction · 0.85
symbolToStringFunction · 0.85
failMethod · 0.45

Tested by

no test coverage detected