UNPKG

prettier-plugin-solidity

Version:

A Prettier Plugin for automatically formatting your Solidity code.

28 lines 1.2 kB
import { NonterminalKind } from '@nomicfoundation/slang/cst'; import { extractVariant } from '../slang-utils/extract-variant.js'; import { printAssignmentRightSide } from '../slang-printers/print-assignment-right-side.js'; import { SlangNode } from './SlangNode.js'; import { TypeName } from './TypeName.js'; import { TerminalNode } from './TerminalNode.js'; import { Expression } from './Expression.js'; export class ConstantDefinition extends SlangNode { constructor(ast, collected, options) { super(ast, collected); this.kind = NonterminalKind.ConstantDefinition; this.typeName = extractVariant(new TypeName(ast.typeName, collected, options)); this.name = new TerminalNode(ast.name, collected); this.value = extractVariant(new Expression(ast.value, collected, options)); this.updateMetadata(this.typeName, this.value); } print(path, print) { return [ path.call(print, 'typeName'), ' constant ', path.call(print, 'name'), ' =', printAssignmentRightSide(path.call(print, 'value'), this.value), ';' ]; } } //# sourceMappingURL=ConstantDefinition.js.map