@helios-lang/compiler
Version:
Helios is a Domain Specific Language that compiles to Plutus-Core (i.e. Cardano on-chain validator scripts). Helios is a non-Haskell alternative to Plutus. With this library you can compile Helios scripts and build Cardano transactions, all you need to bu
68 lines • 2.43 kB
TypeScript
/**
* @import { Site, Word } from "@helios-lang/compiler-utils"
* @typedef {import("@helios-lang/ir").SourceMappedStringI} SourceMappedStringI
* @typedef {import("../codegen/index.js").Definitions} Definitions
* @typedef {import("../typecheck/index.js").DataType} DataType
* @typedef {import("../typecheck/index.js").EnumMemberType} EnumMemberType
* @typedef {import("../typecheck/common.js").GenericTypeProps} GenericTypeProps
* @typedef {import("../typecheck/common.js").Type} Type
* @typedef {import("../typecheck/common.js").TypeSchema} TypeSchema
*/
/**
* Enum statement, containing at least one member
* @internal
*/
export class EnumStatement extends Statement {
/**
* @param {Site} site
* @param {Word} name
* @param {TypeParameters} parameters
* @param {EnumMember[]} members
* @param {ImplDefinition} impl
*/
constructor(site: Site, name: Word, parameters: TypeParameters, members: EnumMember[], impl: ImplDefinition);
/**
* @private
* @readonly
* @type {TypeParameters}
*/
private readonly _parameters;
/**
* @private
* @readonly
* @type {EnumMember[]}
*/
private readonly _members;
/**
* @private
* @readonly
* @type {ImplDefinition}
*/
private readonly _impl;
/**
* @returns {boolean}
*/
hasParameters(): boolean;
/**
* @returns {SourceMappedStringI}
*/
toIR_is_valid_data(): SourceMappedStringI;
/**
* @returns {SourceMappedStringI}
*/
toIR_show(): SourceMappedStringI;
}
export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI;
export type Definitions = import("../codegen/index.js").Definitions;
export type DataType = import("../typecheck/index.js").DataType;
export type EnumMemberType = import("../typecheck/index.js").EnumMemberType;
export type GenericTypeProps = import("../typecheck/common.js").GenericTypeProps;
export type Type = import("../typecheck/common.js").Type;
export type TypeSchema = import("../typecheck/common.js").TypeSchema;
import { Statement } from "./Statement.js";
import type { Site } from "@helios-lang/compiler-utils";
import type { Word } from "@helios-lang/compiler-utils";
import { TypeParameters } from "./TypeParameters.js";
import { EnumMember } from "./EnumMember.js";
import { ImplDefinition } from "./ImplDefinition.js";
//# sourceMappingURL=EnumStatement.d.ts.map