[][src]Module trashcan::ast

trashcan's internal representation of abstract syntax trees

Structs

Constant

A module constant definition

Dumpster

A trashcan "project" is of course referred to as a dumpster

Expr

Expressions

FunDef

A function (or "sub") definition

FunParam

An individual function parameter

Ident

Module, item, variable, or type identifiers: (name, renamed-from)

Module

Modules are the basic unit of code organization, and make up a dumpster

Path

A "name path" e.g. module::item or item

Static

A module static definition

Stmt

Statements

StructDef

A struct type definition

StructMem

A struct member definition

Enums

Access

Item access specifiers (private by default)

AllocExtent

allocation extents for an array alloc statement

ArrayBounds

Array bound descriptions

AssignOp

Assignment operators

BinOp

Binary operators

ExprKind

Expressions are...

ExtentKind

an array-extents expression

ForSpec

For loop specs: range (from, to, step) or each (expr)

FunOptParams

A function's optional arguments: either named or variadic

Literal

Literals are...

ModuleKind

Modules may be ordinary or class modules

NormalItem

Items define functions or types, and make up modules

ParamMode

Parameter passing modes

StaticArrayBound

A static array bound

StaticArrayDim
StmtKind

Statements are ...

Type

Primitive types of trashcan

UnOp

Unary operators