Module expand

Source

Macrosยง

assign_id ๐Ÿ”’
Wraps a call to walk_* / walk_flat_map_* for an AST node that supports attributes (see the Annotatable enum) This method assigns a NodeId, and sets that NodeId as our current โ€˜lint node idโ€™. If a macro call is found inside this AST node, we will use this AST nodeโ€™s NodeId to emit lints associated with that macro (allowing #[allow] / #[deny] to be applied close to the macro invocation).
ast_fragments ๐Ÿ”’

Structsยง

ExpansionConfig
ImplItemTag ๐Ÿ”’
Invocation
InvocationCollector ๐Ÿ”’
MacroExpander
MethodReceiverTag ๐Ÿ”’
This struct is a hack to workaround unstable of stmt_expr_attributes. It can be removed once that feature is stabilized.
OptExprTag ๐Ÿ”’
TraitItemTag ๐Ÿ”’

Enumsยง

AddSemicolon ๐Ÿ”’
AstFragment
A fragment of AST that can be produced by a single macro expansion. Can also serve as an input and intermediate result for macro expansion operations.
AstFragmentKind
โ€œDiscriminantโ€ of an AST fragment.
InvocationKind
SupportsMacroExpansion

Traitsยง

InvocationCollectorNode ๐Ÿ”’
A trait implemented for all AstFragment nodes and providing all pieces of functionality used by InvocationCollector.

Functionsยง

build_single_delegations ๐Ÿ”’
ensure_complete_parse ๐Ÿ”’
parse_ast_fragment