@@ -9,6 +9,14 @@ const doWrite = process.argv.includes("--write");
99
1010const typeChecker = program . getTypeChecker ( ) ;
1111
12+ /**
13+ * @param {ts.MethodDeclaration } decl
14+ * @returns {boolean } true if the method is static
15+ */
16+ const isStaticMethod = ( decl ) => {
17+ return ! ! ( ts . getCombinedModifierFlags ( decl ) & ts . ModifierFlags . Static ) ;
18+ } ;
19+
1220/**
1321 * @param {ts.ClassDeclaration | ts.ClassExpression } node the class declaration
1422 * @returns {Set<ts.ClassDeclaration | ts.ClassExpression> } the base class declarations
@@ -44,7 +52,7 @@ const getBaseClasses = (node) => {
4452const findDeclarationInBaseClass = ( classNode , memberName ) => {
4553 for ( const baseClass of getBaseClasses ( classNode ) ) {
4654 for ( const node of baseClass . members ) {
47- if ( ts . isMethodDeclaration ( node ) ) {
55+ if ( ts . isMethodDeclaration ( node ) && ! isStaticMethod ( node ) ) {
4856 if ( node . name . getText ( ) === memberName ) {
4957 return node ;
5058 }
@@ -68,10 +76,7 @@ for (const sourceFile of program.getSourceFiles()) {
6876 const nodeHandler = ( node ) => {
6977 if ( ts . isClassDeclaration ( node ) || ts . isClassExpression ( node ) ) {
7078 for ( const member of node . members ) {
71- if (
72- ts . isMethodDeclaration ( member ) &&
73- ! ( ts . getCombinedModifierFlags ( member ) & ts . ModifierFlags . Static )
74- ) {
79+ if ( ts . isMethodDeclaration ( member ) && ! isStaticMethod ( member ) ) {
7580 const baseDecl = findDeclarationInBaseClass (
7681 node ,
7782 member . name . getText ( ) ,
0 commit comments