UNPKG

prettier-plugin-solidity

Version:

A Prettier Plugin for automatically formatting your Solidity code.

41 lines 2.11 kB
import * as ast from '@nomicfoundation/slang/ast'; import { NonterminalKind } from '@nomicfoundation/slang/cst'; import { createNonterminalVariantSimpleCreator } from '../slang-utils/create-nonterminal-variant-creator.js'; import { SlangNode } from './SlangNode.js'; import { PragmaDirective } from './PragmaDirective.js'; import { ImportDirective } from './ImportDirective.js'; import { ContractDefinition } from './ContractDefinition.js'; import { InterfaceDefinition } from './InterfaceDefinition.js'; import { LibraryDefinition } from './LibraryDefinition.js'; import { StructDefinition } from './StructDefinition.js'; import { EnumDefinition } from './EnumDefinition.js'; import { FunctionDefinition } from './FunctionDefinition.js'; import { ConstantDefinition } from './ConstantDefinition.js'; import { ErrorDefinition } from './ErrorDefinition.js'; import { UserDefinedValueTypeDefinition } from './UserDefinedValueTypeDefinition.js'; import { UsingDirective } from './UsingDirective.js'; import { EventDefinition } from './EventDefinition.js'; const createNonterminalVariant = createNonterminalVariantSimpleCreator([ [ast.PragmaDirective, PragmaDirective], [ast.ImportDirective, ImportDirective], [ast.ContractDefinition, ContractDefinition], [ast.InterfaceDefinition, InterfaceDefinition], [ast.LibraryDefinition, LibraryDefinition], [ast.StructDefinition, StructDefinition], [ast.EnumDefinition, EnumDefinition], [ast.FunctionDefinition, FunctionDefinition], [ast.ConstantDefinition, ConstantDefinition], [ast.ErrorDefinition, ErrorDefinition], [ast.UserDefinedValueTypeDefinition, UserDefinedValueTypeDefinition], [ast.UsingDirective, UsingDirective], [ast.EventDefinition, EventDefinition] ]); export class SourceUnitMember extends SlangNode { constructor(ast, collected, options) { super(ast, collected); this.kind = NonterminalKind.SourceUnitMember; this.variant = createNonterminalVariant(ast.variant, collected, options); this.updateMetadata(this.variant); } } //# sourceMappingURL=SourceUnitMember.js.map