@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
52 lines • 1.47 kB
TypeScript
/**
* @typedef {import("@helios-lang/compiler-utils").Site} Site
*/
/**
* Parent class of EnumSwitchExpr and DataSwitchExpr
*/
export class SwitchExpr extends Expr {
/**
* @param {Site} site
* @param {Site} dotSite
* @param {Expr} controlExpr - input value of the switch
* @param {SwitchCase[]} cases
* @param {SwitchDefault | undefined} defaultCase
*/
constructor(site: Site, dotSite: Site, controlExpr: Expr, cases: SwitchCase[], defaultCase?: SwitchDefault | undefined);
/**
* @type {Site}
*/
dotSite: Site;
/**
* @private
* @readonly
* @type {Expr}
*/
private readonly _controlExpr;
/**
* @private
* @readonly
* @type {SwitchCase[]}
*/
private readonly _cases;
/**
* @private
* @type {SwitchDefault | undefined}
*/
private _defaultCase;
get controlExpr(): Expr;
get cases(): SwitchCase[];
/**
* @type {SwitchDefault | undefined}
*/
get defaultCase(): SwitchDefault | undefined;
/**
* If there isn't enough coverage then we can simply set the default case to void, so the other branches can be error, print or assert
*/
setDefaultCaseToVoid(): void;
}
export type Site = import("@helios-lang/compiler-utils").Site;
import { Expr } from "./Expr.js";
import { SwitchCase } from "./SwitchCase.js";
import { SwitchDefault } from "./SwitchDefault.js";
//# sourceMappingURL=SwitchExpr.d.ts.map