@@ -2,7 +2,7 @@ import { NonterminalKind } from '@nomicfoundation/slang/cst';
22import { doc } from 'prettier' ;
33import { sortContractSpecifiers } from '../slang-utils/sort-contract-specifiers.js' ;
44import { printSeparatedList } from '../slang-printers/print-separated-list.js' ;
5- import { printVariant } from '../slang-printers/print -variant.js' ;
5+ import { extractVariant } from '../slang-utils/extract -variant.js' ;
66import { SlangNode } from './SlangNode.js' ;
77import { ContractSpecifier } from './ContractSpecifier.js' ;
88
@@ -16,18 +16,20 @@ const { group, ifBreak, line, softline } = doc.builders;
1616export class ContractSpecifiers extends SlangNode {
1717 readonly kind = NonterminalKind . ContractSpecifiers ;
1818
19- items : ContractSpecifier [ ] ;
19+ items : ContractSpecifier [ 'variant' ] [ ] ;
2020
2121 constructor ( ast : ast . ContractSpecifiers , options : ParserOptions < AstNode > ) {
2222 super ( ast , true ) ;
2323
24- this . items = ast . items . map ( ( item ) => new ContractSpecifier ( item , options ) ) ;
24+ this . items = ast . items . map ( ( item ) =>
25+ extractVariant ( new ContractSpecifier ( item , options ) )
26+ ) ;
2527
2628 this . items . sort ( sortContractSpecifiers ) ;
2729 }
2830
2931 print ( path : AstPath < ContractSpecifiers > , print : PrintFunction ) : Doc {
30- const [ specifier1 , specifier2 ] = path . map ( printVariant ( print ) , 'items' ) ;
32+ const [ specifier1 , specifier2 ] = path . map ( print , 'items' ) ;
3133
3234 if ( specifier1 === undefined ) return '' ;
3335
0 commit comments