@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
67 lines • 1.61 kB
TypeScript
/**
* @import { Site, Token, Word } from "@helios-lang/compiler-utils"
* @typedef {import("../codegen/index.js").Definitions} Definitions
*/
/**
* Base class for all statements
* Doesn't return a value upon calling eval(scope)
*/
export class Statement {
/**
* @param {Site} site
* @param {Word} name
*/
constructor(site: Site, name: Word);
/**
* @readonly
* @type {Site}
*/
readonly site: Site;
/**
* @type {string}
*/
basePath: string;
/**
* @private
* @readonly
* @type {Word}
*/
private readonly _name;
/**
* @type {Word}
*/
get name(): Word;
/**
* @type {string}
*/
get path(): string;
/**
* @type {Statement[]}
*/
get statements(): Statement[];
/**
* @param {ModuleScope} scope
*/
eval(scope: ModuleScope): void;
/**
* @param {string} basePath
*/
setBasePath(basePath: string): void;
/**
* Returns IR of statement.
* No need to specify indent here, because all statements are top-level
* @param {ToIRContext} ctx
* @param {Definitions} map
*/
toIR(ctx: ToIRContext, map: Definitions): void;
/**
* @returns {string}
*/
toString(): string;
}
export type Definitions = import("../codegen/index.js").Definitions;
import type { Site } from "@helios-lang/compiler-utils";
import type { Word } from "@helios-lang/compiler-utils";
import { ModuleScope } from "../scopes/index.js";
import { ToIRContext } from "../codegen/index.js";
//# sourceMappingURL=Statement.d.ts.map