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
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.
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
GlobalItemsCollection
A pass to fill the SymbolTable.
GlobalVarsCollection
Monomorphization
MonomorphizationOutput
NameValidation
A pass to validate names.
OptionLowering
PathResolution
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§

make_optional_struct_symbol

Type Aliases§

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