UNPKG

@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

78 lines 1.93 kB
/** * @import { Site, Word } from "@helios-lang/compiler-utils" * @typedef {import("@helios-lang/ir").SourceMappedStringI} SourceMappedStringI * @typedef {import("../typecheck/index.js").Type} Type */ /** * NameTypePair is base class of FuncArg and DataField (differs from StructLiteralField) */ export class NameTypePair { /** * @param {Word} name * @param {Expr | undefined} typeExpr */ constructor(name: Word, typeExpr: Expr | undefined); /** * @private * @readonly * @type {Word} */ private readonly _name; /** * @private * @readonly * @type {Expr | undefined} */ private readonly _typeExpr; /** * @type {Site} */ get site(): Site; /** * @type {Word} */ get name(): Word; /** * Throws an error if called before evalType() * @type {Type} */ get type(): import("../typecheck/common.js").Type; /** * @type {Expr | undefined} */ get typeExpr(): Expr | undefined; /** * @type {string} */ get typeName(): string; /** * @returns {boolean} */ isIgnored(): boolean; /** * @returns {boolean} */ hasType(): boolean; /** * Evaluates the type, used by FuncLiteralExpr and DataDefinition * @param {Scope} scope * @returns {Type} */ evalType(scope: Scope): Type; /** * @returns {SourceMappedStringI} */ toIR(): SourceMappedStringI; /** * * @returns {string} */ toString(): string; } export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI; export type Type = import("../typecheck/index.js").Type; import type { Site } from "@helios-lang/compiler-utils"; import type { Word } from "@helios-lang/compiler-utils"; import { Expr } from "./Expr.js"; import { Scope } from "../scopes/index.js"; //# sourceMappingURL=NameTypePair.d.ts.map