11import { NonterminalKind } from '@nomicfoundation/slang/cst' ;
22import { doc } from 'prettier' ;
33import { sortFunctionAttributes } from '../slang-utils/sort-function-attributes.js' ;
4- import { printVariant } from '../slang-printers/print -variant.js' ;
4+ import { extractVariant } from '../slang-utils/extract -variant.js' ;
55import { SlangNode } from './SlangNode.js' ;
66import { FallbackFunctionAttribute } from './FallbackFunctionAttribute.js' ;
77
@@ -15,22 +15,22 @@ const { line } = doc.builders;
1515export class FallbackFunctionAttributes extends SlangNode {
1616 readonly kind = NonterminalKind . FallbackFunctionAttributes ;
1717
18- items : FallbackFunctionAttribute [ ] ;
18+ items : FallbackFunctionAttribute [ 'variant' ] [ ] ;
1919
2020 constructor (
2121 ast : ast . FallbackFunctionAttributes ,
2222 options : ParserOptions < AstNode >
2323 ) {
2424 super ( ast , true ) ;
2525
26- this . items = ast . items . map (
27- ( item ) => new FallbackFunctionAttribute ( item , options )
26+ this . items = ast . items . map ( ( item ) =>
27+ extractVariant ( new FallbackFunctionAttribute ( item , options ) )
2828 ) ;
2929
3030 this . items . sort ( sortFunctionAttributes ) ;
3131 }
3232
3333 print ( path : AstPath < FallbackFunctionAttributes > , print : PrintFunction ) : Doc {
34- return path . map ( printVariant ( print ) , 'items' ) . map ( ( item ) => [ line , item ] ) ;
34+ return path . map ( ( item ) => [ line , print ( item ) ] , 'items' ) ;
3535 }
3636}
0 commit comments