Skip to main content

Crate leo_passes

Crate leo_passes 

Source
Expand description

§leo-passes

Crates.io License

Modules§

visitor

Structs§

AleoClosure
AleoConstructor
AleoFinalize
AleoFunction
AleoInput
AleoMapping
AleoProgram
AleoRecord
AleoStruct
AleoView
An Aleo view block — a read-only entry point introduced in V15. Bytecode shape:
Assigner
A struct used to create assignment statements.
AssignerInner
Contains the actual data for Assigner. Modeled this way to afford an API using interior mutability.
BlockToFunctionRewriter
Bytecode
Bytecode for a single program.
CeiAnalyzing
CheckInterfaces
A pass to validate interface inheritance soundness.
CodeGenerating
CommonSubexpressionEliminating
CompiledPrograms
The result of code generation for a Leo program.
CompilerState
Contains data shared by many compiler passes.
ConstPropUnrollAndMorphing
Pass that runs const propagation, loop unrolling, and monomorphization until a fixed point.
ConstPropagation
A pass to perform const propagation and folding.
ConstPropagationOutput
ConstPropagationVisitor
DeadCodeEliminating
DeadCodeEliminatingOutput
Destructuring
A pass to rewrite tuple creation and accesses into other code.
Disambiguate
Pass that turns ambiguous calls into their proper form after type checking such as get and set for mappings/vectors
DisambiguateVisitor
Finalizer
Flattening
FunctionInlining
FunctionSymbol
GeneratedPrograms
The structured output of code generation, before serialization.
GlobalItemsCollection
A pass to fill the SymbolTable.
GlobalVarsCollection
Monomorphization
MonomorphizationOutput
NameValidation
A pass to validate names.
OptionLowering
PathResolution
PeepholeOptimizing
ProcessingAsync
RemoveUnreachable
Pass that removes unreachable code created by early returns
RemoveUnreachableOutput
RemoveUnreachableVisitor
RenameTable
RenameTable tracks the names assigned by static single assignment in a single scope.
Replacer
A Replacer traverses and reconstructs the AST, applying a user-defined replacement function to each Expression.
SsaConstPropagation
SsaConstPropagationVisitor
Visitor that propagates constant values through the program.
SsaForming
SsaFormingInput
StaticAnalyzing
StorageLowering
SymbolAccessCollector
SymbolTable
Maps global and local symbols to information about them.
TypeChecking
A pass to check types.
TypeCheckingInput
Specify network limits for type checking.
TypeTable
A mapping between node IDs and their types.
Unrolling
UnrollingOutput
VariableSymbol
An entry for a variable in the symbol table.
WriteTransforming
A pass to rewrite assignments to array accesses and composite accesses.

Enums§

AleoDatatype
AleoExpr
AleoFunctional
AleoReg
AleoStmt
AleoType
AleoVisibility
VariableType
An enumeration of the different types of variable type.

Traits§

Pass
A compiler pass.

Functions§

items_at_path
Collects items from map whose Location lies at path_prefix within program — i.e. the item’s path is exactly path_prefix followed by a single final segment. Yields (final_segment, value) pairs. Pass &[] for top-level items.
library_composites
Yields (Location, &Composite) for every composite defined in library, including those in nested modules.
library_functions
Yields (Location, &Function) for every function defined in library, including those in nested modules.
make_optional_struct_symbol
program_composites
Yields (Location, &Composite) for every composite defined in program, including those in nested modules.
program_functions
Yields (Location, &Function) for every function defined in program, including those in nested modules. program.stubs is not traversed.
stub_composites
Yields (Location, &Composite) for every composite defined in stub whose body is available as Leo AST. FromAleo stubs are skipped.
stub_functions
Yields (Location, &Function) for every function defined in stub whose body is available as Leo AST. FromAleo stubs are skipped because their bodies live in Aleo bytecode.

Type Aliases§

ConditionalTreeNode
A binary search tree to store all paths through nested conditional blocks.