[][src]Module gluon_base::ast

Module containing the types which make up gluon's AST (Abstract Syntax Tree)

Structs

Alternative
Arena
ArenaRef
Argument
Array
AstType
Do
EmptyEnv
ExprField
InnerAstType
Lambda
OwnedArena
OwnedExpr
RootExpr
TypeBinding
TypedIdent
ValueBinding

Enums

Expr

The representation of gluon's expression syntax

Literal
Pattern
PatternField
ValueBindings

Traits

AstAlloc
AstClone
DisplayEnv
HasMetadata
IdentEnv
MutVisitor

Visitor trait which walks over expressions calling visit_* on all encountered elements. By default the visit_* functions just walk the tree. If they are overridden the user will need to call walk_* to continue traversing the tree.

Typed

Trait which abstracts over things that have a type. It is not guaranteed that the correct type is returned until after typechecking

Visitor

Visitor trait which walks over expressions calling visit_* on all encountered elements. By default the visit_* functions just walk the tree. If they are overridden the user will need to call walk_* to continue traversing the tree.

Functions

expr_to_path
is_constructor
is_operator_byte
is_operator_char
pattern_names
pattern_types
pattern_values
pattern_values_mut
walk_alias
walk_ast_type
walk_expr
walk_mut_alias
walk_mut_ast_type
walk_mut_expr
walk_mut_pattern

Walks a pattern, calling visit_* on all relevant elements

walk_pattern

Walks a pattern, calling visit_* on all relevant elements

Type Definitions

KindedIdent
Sp
SpannedAlias
SpannedAstType
SpannedExpr
SpannedIdent
SpannedPattern

Pattern which contains a location