Skip to content

Commit 943be84

Browse files
committed
Interface heritage: parse repeated extends clauses
tsc parses an interface with REPEATED extends clauses ("interface I extends A extends B {}") — the parser accepts them, the checker reports the duplicate. Mono's single opt('extends', sep(Type,',')) clause rejected the second extends, so the construct only "parsed" by splitting into garbage statements. many('extends', sep(Type,',')) mirrors tsc and produces the correct interface-with-heritage tree (parserInterfaceDeclaration1-4, interfaceThatInheritsFromItself). Accept-neutral on the corpus (the split path already accepted these), gates 34/34, corpus parity 401/401, gate:treesitter 96.0%; also a prerequisite for statement-level ASI (Task #24), which otherwise rejects these as a mid-line split.
1 parent aa15e91 commit 943be84

3 files changed

Lines changed: 6 additions & 3 deletions

File tree

tree-sitter/typescript/grammar.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tree-sitter/typescriptreact/grammar.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)