Skip to main content Crate leo_passes Copy item path Source Expand description § leo-passes
visitor 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. AleoDatatype AleoExpr AleoFunctional AleoReg AleoStmt AleoType AleoVisibility VariableType An enumeration of the different types of variable type. Pass A compiler pass. 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. ConditionalTreeNode A binary search tree to store all paths through nested conditional blocks.