/** * The runtime helper a lowered expression calls, by name. Every one of these is * a lookup: the analyzer already decided that this member access is a List * `map` or a UInt8Buffer index, and recorded it in `LoweringHints`; what is * left is the exported name of the runtime function that performs it. * * D114 R1c: these were `JavaScriptEmitter` methods beside the expression * emission that calls them. They are one cohesive thing — the map from a * lowering decision to a runtime name — and both the statement and the * expression families read them, so they are their own collaborator. */ import type { BinaryStorageKind } from "../types.ts"; import type { Expression } from "../ast.ts"; import type { LoweringHints } from "../contracts.ts"; export interface RuntimeHelperNameHost { readonly hints: LoweringHints; } export declare class RuntimeHelperNames { private readonly host; constructor(host: RuntimeHelperNameHost); collectionHelper(expression: Extract): string | null; collectionSizeHelper(kind: "list" | "map" | "set" | "record"): string; collectionIteratorHelper(kind: "list" | "map" | "set" | "record" | "string" | "binary", pair: boolean): string; binaryHelper(expression: Extract): string | null; binaryIndexHelper(kind: BinaryStorageKind): string; binarySetIndexHelper(kind: Exclude): string; primitiveHelper(expression: Extract): string | null; } //# sourceMappingURL=helper-names.d.ts.map