UNPKG

prettier-plugin-solidity

Version:

A Prettier Plugin for automatically formatting your Solidity code.

28 lines 1.18 kB
import { NonterminalKind } from '@nomicfoundation/slang/cst'; import { doc } from 'prettier'; import { getNodeMetadata, updateMetadata } from '../slang-utils/metadata.js'; import { printSeparatedItem } from '../slang-printers/print-separated-item.js'; import { YulStackAssignmentOperator } from './YulStackAssignmentOperator.js'; import { YulIdentifier } from './YulIdentifier.js'; const { line } = doc.builders; export class YulStackAssignmentStatement { constructor(ast) { this.kind = NonterminalKind.YulStackAssignmentStatement; let metadata = getNodeMetadata(ast); this.assignment = new YulStackAssignmentOperator(ast.assignment); this.variable = new YulIdentifier(ast.variable); metadata = updateMetadata(metadata, [this.assignment]); this.comments = metadata.comments; this.loc = metadata.loc; } print(path, print) { return [ path.call(print, 'assignment'), printSeparatedItem(path.call(print, 'variable'), { firstSeparator: line, lastSeparator: '' }) ]; } } //# sourceMappingURL=YulStackAssignmentStatement.js.map