bet365 / override-linting-rule

TypeScript linting rule to force marking of method and property overrides.
Apache License 2.0
17 stars 4 forks source link

TypeError: Cannot read property 'getText' of undefined #1

Open magicwerk opened 5 years ago

magicwerk commented 5 years ago

When linting a TypeScript file, the rules fails with TypeError: Cannot read property 'getText' of undefined

I could fix the problem for my source file by making the following changes to overrideTestRule.ts#178

OLD: if (mb.kind !== ts.SyntaxKind.Constructor && NEW: if (mb.kind !== ts.SyntaxKind.SemicolonClassElement && mb.kind !== ts.SyntaxKind.Constructor &&

Full stacktrace: The 'overrideTest' rule threw an error in 'file.ts': TypeError: Cannot read property 'getText' of undefined at OverrideWalker.getHeritageMembers (C:\dev\Java\Sources\Origo-Magicwerk\Getu\GetuApp\rules\overrideTestRule.js:197:56) at OverrideWalker.visitNode (C:\dev\Java\Sources\Origo-Magicwerk\Getu\GetuApp\rules\overrideTestRule.js:129:69) at visitNodes (C:\dev\Java\Sources\Origo-Magicwerk\Getu\GetuApp\node_modules\typescript\lib\typescript.js:16224:30) at Object.forEachChild (C:\dev\Java\Sources\Origo-Magicwerk\Getu\GetuApp\node_modules\typescript\lib\typescript.js:16524:21) at OverrideWalker.visitNode (C:\dev\Java\Sources\Origo-Magicwerk\Getu\GetuApp\rules\overrideTestRule.js:125:16) at visitNodes (C:\dev\Java\Sources\Origo-Magicwerk\Getu\GetuApp\node_modules\typescript\lib\typescript.js:16224:30) at Object.forEachChild (C:\dev\Java\Sources\Origo-Magicwerk\Getu\GetuApp\node_modules\typescript\lib\typescript.js:16452:24) at OverrideWalker.walk (C:\dev\Java\Sources\Origo-Magicwerk\Getu\GetuApp\rules\overrideTestRule.js:115:12) at Rule.AbstractRule.applyWithWalker (C:\dev\Java\Sources\Origo-Magicwerk\Getu\GetuApp\node_modules\tslint\lib\language\rule\abstractRule.js:31:16) at Rule.applyWithProgram (C:\dev\Java\Sources\Origo-Magicwerk\Getu\GetuApp\rules\overrideTestRule.js:62:21)

starkevin commented 5 years ago

We'll look at getting this fixed.