-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Closed
Labels
ASTPRs and Issues about the AST structurePRs and Issues about the AST structureaccepting prsGo ahead, send a pull request that resolves this issueGo ahead, send a pull request that resolves this issuebugSomething isn't workingSomething isn't workinglocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.Please open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: typescript-estreeIssues related to @typescript-eslint/typescript-estreeIssues related to @typescript-eslint/typescript-estree
Description
Before You File a Bug Report Please Confirm You Have Done The Following...
- I have tried restarting my IDE and the issue persists.
- I have updated to the latest version of the packages.
- I have searched for related issues and found none that matched my issue.
- I have read the FAQ and my problem is not listed.
Relevant Package
typescript-estree
Playground Link
Repro Code
class E1 {}
class E2 {}
// class X2 extends E1 extends E2 {} // This is reported
interface Y2 extends E1 extends E2 {} // This is NOT reportedESLint Config
tsconfig
Expected Result
Parser should report internal error TS1172: 'extends' clause already seen. like TS does.
Actual Result
No errors are reported.
Additional Info
Since duplicate extends are reported correctly for class, they should be reported for interface too?
typescript-eslint/packages/typescript-estree/src/convert.ts
Lines 2043 to 2049 in 7f32763
| if (token === SyntaxKind.ExtendsKeyword) { | |
| if (extendsClause) { | |
| this.#throwUnlessAllowInvalidAST( | |
| heritageClause, | |
| "'extends' clause already seen.", | |
| ); | |
| } |
I can send a PR if this is acceptable change.
Versions
| package | version |
|---|---|
@typescript-eslint/typescript-estree |
8.30.1 |
Metadata
Metadata
Assignees
Labels
ASTPRs and Issues about the AST structurePRs and Issues about the AST structureaccepting prsGo ahead, send a pull request that resolves this issueGo ahead, send a pull request that resolves this issuebugSomething isn't workingSomething isn't workinglocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.Please open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: typescript-estreeIssues related to @typescript-eslint/typescript-estreeIssues related to @typescript-eslint/typescript-estree