// Item*
// }
+ visit_items_as_lines (module.get_outer_attrs ());
visit (module.get_visibility ());
auto name = module.get_name ();
tokens.push_back (Rust::Token::make (MOD, module.get_locus ()));
void
TokenCollector::visit (ExternCrate &crate)
{
+ visit_items_as_lines (crate.get_outer_attrs ());
tokens.push_back (Rust::Token::make (EXTERN_TOK, crate.get_locus ()));
tokens.push_back (Rust::Token::make (CRATE, Location ()));
auto ref = crate.get_referenced_crate ();
void
TokenCollector::visit (UseDeclaration &decl)
{
+ visit_items_as_lines (decl.get_outer_attrs ());
tokens.push_back (Rust::Token::make (USE, decl.get_locus ()));
visit (*decl.get_tree ());
tokens.push_back (Rust::Token::make (SEMICOLON, Location ()));
// ( FunctionParameters? )
// FunctionReturnType? WhereClause?
// ( BlockExpression | ; )
+ visit_items_as_lines (function.get_outer_attrs ());
visit (function.get_visibility ());
// Note: Associated types are handled by `AST::TraitItemType`.
+ visit_items_as_lines (type_alias.get_outer_attrs ());
if (type_alias.has_visibility ())
visit (type_alias.get_visibility ());
auto alias_name = type_alias.get_new_type_name ();
void
TokenCollector::visit (StructStruct &struct_item)
{
+ visit_items_as_lines (struct_item.get_outer_attrs ());
if (struct_item.has_visibility ())
visit (struct_item.get_visibility ());
auto struct_name = struct_item.get_identifier ();
void
TokenCollector::visit (TupleStruct &tuple_struct)
{
+ visit_items_as_lines (tuple_struct.get_outer_attrs ());
auto struct_name = tuple_struct.get_identifier ();
tokens.push_back (Rust::Token::make (STRUCT_TOK, tuple_struct.get_locus ()));
tokens.push_back (
void
TokenCollector::visit (EnumItem &item)
{
+ visit_items_as_lines (item.get_outer_attrs ());
auto id = item.get_identifier ();
tokens.push_back (
Rust::Token::make_identifier (item.get_locus (), std::move (id)));
void
TokenCollector::visit (Enum &enumeration)
{
+ visit_items_as_lines (enumeration.get_outer_attrs ());
if (enumeration.has_visibility ())
visit (enumeration.get_visibility ());
tokens.push_back (Rust::Token::make (ENUM_TOK, enumeration.get_locus ()));
void
TokenCollector::visit (ConstantItem &item)
{
+ visit_items_as_lines (item.get_outer_attrs ());
tokens.push_back (Rust::Token::make (CONST, item.get_locus ()));
if (item.is_unnamed ())
{
void
TokenCollector::visit (StaticItem &item)
{
+ visit_items_as_lines (item.get_outer_attrs ());
tokens.push_back (Rust::Token::make (STATIC_TOK, item.get_locus ()));
if (item.is_mutable ())
tokens.push_back (Rust::Token::make (MUT, Location ()));
void
TokenCollector::visit (InherentImpl &impl)
{
+ visit_items_as_lines (impl.get_outer_attrs ());
tokens.push_back (Rust::Token::make (IMPL, impl.get_locus ()));
// FIXME: Handle generics
void
TokenCollector::visit (TraitImpl &impl)
{
+ visit_items_as_lines (impl.get_outer_attrs ());
tokens.push_back (Rust::Token::make (IMPL, impl.get_locus ()));
visit (impl.get_trait_path ());
tokens.push_back (Rust::Token::make (FOR, Location ()));
void
TokenCollector::visit (ExternBlock &block)
{
+ visit_items_as_lines (block.get_outer_attrs ());
tokens.push_back (Rust::Token::make (EXTERN_TOK, block.get_locus ()));
if (block.has_abi ())