11import { NonterminalKind } from '@nomicfoundation/slang/cst' ;
22import { doc } from 'prettier' ;
3- import { printVariant } from '../slang-printers/print-variant.js' ;
43import { extractVariant } from '../slang-utils/extract-variant.js' ;
54import { SlangNode } from './SlangNode.js' ;
65import { YulPaths } from './YulPaths.js' ;
@@ -21,7 +20,7 @@ export class YulVariableAssignmentStatement extends SlangNode {
2120
2221 assignment : YulAssignmentOperator [ 'variant' ] ;
2322
24- expression : YulExpression ;
23+ expression : YulExpression [ 'variant' ] ;
2524
2625 constructor (
2726 ast : ast . YulVariableAssignmentStatement ,
@@ -31,7 +30,9 @@ export class YulVariableAssignmentStatement extends SlangNode {
3130
3231 this . variables = new YulPaths ( ast . variables ) ;
3332 this . assignment = extractVariant ( new YulAssignmentOperator ( ast . assignment ) ) ;
34- this . expression = new YulExpression ( ast . expression , options ) ;
33+ this . expression = extractVariant (
34+ new YulExpression ( ast . expression , options )
35+ ) ;
3536
3637 this . updateMetadata ( this . variables , this . assignment , this . expression ) ;
3738 }
@@ -43,7 +44,7 @@ export class YulVariableAssignmentStatement extends SlangNode {
4344 return join ( ' ' , [
4445 path . call ( print , 'variables' ) ,
4546 path . call ( print , 'assignment' ) ,
46- path . call ( printVariant ( print ) , 'expression' )
47+ path . call ( print , 'expression' )
4748 ] ) ;
4849 }
4950}
0 commit comments