README

marianoguerra/wax/emit/wasm does not have a README file

#
LowerError

pub suberror LowerError {
NotLowered(String,
Location
)
Unresolved(String,
Location
)
Unemittable(String,
Location
)
AmbiguousBinding(String,
Location
)
}

impl Show for LowerError

#
Indices

type Indices

Every index space of one module.

#
Indices::new

fn Indices::new() -> Indices

#
Lowering

type Lowering

#
Space

type Space

A name-to-index map for one index space.

A name may be declared MORE THAN ONCE -- under two mutually exclusive conditions, where only one of them is ever really there. Each declaration takes its own slot, because that is what the module holds when both branches are lowered side by side for the text form, and each records where it was written so a reference can be answered from the site that asks.

#
Space::get

fn Space::get(self : Space, name : String) -> Int?

The index a name was given, or None if it never was.

The FIRST declaration, for a caller with no site to resolve against.

#
Space::length

fn Space::length(self : Space) -> Int

How many entries this space holds.

#
Space::new

fn Space::new() -> Space

#
Space::resolve

fn Space::resolve(self : Space, name : String, at : Array[(Int, Bool)], guards : (
Location
) -> Array[(Int, Bool)]) -> Int?

The declaration of name that a reference at at can see.

Conditional branches make one name several declarations, and which one a reference means is decided by where the reference stands: a declaration is visible from a site inside it, so the one whose guards are the longest prefix of the site's is the one meant. A declaration under no condition is visible everywhere, which is the prefix of length zero.

Powered by MoonBit

Site sourceReport issuePackagesBuild queueSkillsStatistics

© 2026 mooncakes.io