[src]

Module syntax::ast

Arg
Arm
Attribute_
BareFnTy
Block
ClosureTy
Crate
DefId
EnumDef
Expr
Field
FieldPat
FnDecl
ForeignItem
ForeignMod
Generics
Ident
InlineAsm
Item
Lifetime
Local

Local represents a let statement, e.g., let <pat>:<ty> = <expr>;

Method
Mod
MutTy
Pat
Path
PathListIdent_
PathSegment

A segment of a path: an identifier, an optional lifetime, and a set of types.

StructDef
StructField_
TraitRef
Ty
TyParam
TypeField
TypeMethod
VariantArg
Variant_
ViewItem
AsmDialect
AttrStyle
BinOp
BindingMode
BlockCheckMode
Decl_
Def
DefRegion
ExplicitSelf_
ExprVstore
Expr_
FloatTy
ForeignItem_
InlinedItem
IntTy
Item_
Lit_
Mac_
Matcher_
MetaItem_
MethodProvenance
Mutability
Onceness
Pat_
PrimTy
Purity
RetStyle
Sigil
Stmt_
StrStyle
StructFieldKind
TokenTree

For macro invocations; parsing is delegated to the macro

TraitMethod
TyParamBound
Ty_
UintTy
UnOp
UnsafeSource
VariantKind
ViewItem_
ViewPath_
Visibility
pub static CRATE_NODE_ID: NodeId = 0  
pub static DUMMY_NODE_ID: NodeId = -1  
pub static EMPTY_CTXT: SyntaxContext = 0  
pub static ILLEGAL_CTXT: SyntaxContext = 1  
pub static LOCAL_CRATE: CrateNum = 0

Item definitions in the currently-compiled crate would have the CrateNum LOCAL_CRATE in their DefId.

 
P

Construct a P from a T value.

Attribute
CrateConfig
CrateNum
Decl
ExplicitSelf
FnIdent

Function name (not all functions have names)

Lit
Mac
Matcher
MetaItem
Mrk

A mark represents a unique id associated with a macro expansion

Name

A name is a part of an identifier, representing a string or gensym. It's the result of interning.

NodeId
P

A pointer abstraction. FIXME(eddyb) #10676 use Rc in the future.

PathListIdent
SpannedIdent
Stmt
StructField
SyntaxContext

A SyntaxContext represents a chain of macro-expandings and renamings. Each macro expansion corresponds to a fresh uint

Variant
ViewPath