|
3 | 3 | NonterminalKind, |
4 | 4 | TerminalNode as SlangTerminalNode |
5 | 5 | } from '@nomicfoundation/slang/cst'; |
6 | | -import { SlangNode } from './SlangNode.js'; |
| 6 | +import { PolymorphicNode } from './PolymorphicNode.js'; |
7 | 7 | import { AssignmentExpression } from './AssignmentExpression.js'; |
8 | 8 | import { ConditionalExpression } from './ConditionalExpression.js'; |
9 | 9 | import { OrExpression } from './OrExpression.js'; |
@@ -33,9 +33,8 @@ import { StringExpression } from './StringExpression.js'; |
33 | 33 | import { ElementaryType } from './ElementaryType.js'; |
34 | 34 | import { TerminalNode } from './TerminalNode.js'; |
35 | 35 |
|
36 | | -import type { AstPath, Doc, ParserOptions } from 'prettier'; |
| 36 | +import type { ParserOptions } from 'prettier'; |
37 | 37 | import type { AstNode } from './types.d.ts'; |
38 | | -import type { PrintFunction } from '../types.d.ts'; |
39 | 38 |
|
40 | 39 | function createNonterminalVariant( |
41 | 40 | variant: Exclude<ast.Expression['variant'], SlangTerminalNode>, |
@@ -126,7 +125,7 @@ function createNonterminalVariant( |
126 | 125 | return exhaustiveCheck; |
127 | 126 | } |
128 | 127 |
|
129 | | -export class Expression extends SlangNode { |
| 128 | +export class Expression extends PolymorphicNode { |
130 | 129 | readonly kind = NonterminalKind.Expression; |
131 | 130 |
|
132 | 131 | variant: |
@@ -171,8 +170,4 @@ export class Expression extends SlangNode { |
171 | 170 |
|
172 | 171 | this.updateMetadata(this.variant); |
173 | 172 | } |
174 | | - |
175 | | - print(path: AstPath<Expression>, print: PrintFunction): Doc { |
176 | | - return path.call(print, 'variant'); |
177 | | - } |
178 | 173 | } |
0 commit comments