pub trait AstVisitorRust<'a, T> {
Show 145 methods
// Provided methods
fn visit_node(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_children(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_unknown(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_fn(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_LPAREN(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_RPAREN(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_LBRACE(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_RBRACE(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_let(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_EQ(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_SEMI(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_COLON(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_COMMA(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_ARROW(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_EQEQ(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_NE(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_LT(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_GT(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_LE(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_GE(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_AMPAMP(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_PIPEPIPE(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_PLUS(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_MINUS(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_STAR(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_SLASH(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_Text_PERCENT(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_attribute_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_inner_attribute_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_attribute(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_integer_literal(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_float_literal(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_string_literal(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_boolean_literal(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_char_literal(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_type_identifier(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_scoped_identifier(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_scoped_type_identifier(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_identifier(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_shorthand_field_identifier(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_identifier(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_ordered_field_declaration_list(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_parameter(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_self_param(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_self_keyword(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_parameters(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_let_declaration(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_visibility_modifier(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_declaration(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_block(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_source_file(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_mod_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_struct_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_enum_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_enum_variant_list(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_associated_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_type_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_array_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_tuple_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_abstract_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_bounded_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_trait_bounds(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_lifetime(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_function_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_reference_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_pointer_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_generic_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_tuple_pattern(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_struct_pattern(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_or_pattern(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_slice_pattern(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_reference_pattern(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_mut_pattern(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_ref_pattern(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_text_node(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_generic_type_with_turbofish(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_index_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_type_cast_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_type_parameter(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_const_parameter(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_where_clause(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_where_predicate(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_enum_variant(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_impl_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_trait_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_const_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_static_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_function_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_function_signature_item(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_mutable_specifier(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_expression_statement(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_assignment_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_binary_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_operator(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_call_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_reference_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_try_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_await_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_parenthesized_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_macro_invocation(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_macro_definition(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_arguments(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_primitive_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_struct_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_if_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_match_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_match_block(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_while_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_loop_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_for_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_array_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_tuple_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_unit_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_range_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_unary_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_tuple_struct_pattern(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_closure_expression(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_closure_parameters(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_super_token(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_crate_token(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_name(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_pattern(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_return_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_parameters(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_bounds(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_default_type(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_macro(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_body(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_left(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_right(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_operator(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_function(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_arguments(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_type_arguments(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_value(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_field(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_trait(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_element(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_length(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_consequence(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_argument(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_condition(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
fn visit_field_path(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
) { ... }
}Expand description
Visitor Trait Definition
Provided Methods§
Sourcefn visit_node(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
)
fn visit_node( &mut self, unit: &CompileUnit<'a>, node: &HirNode<'a>, scopes: &mut T, namespace: &'a Scope<'a>, parent: Option<&Symbol>, )
Visit a node, dispatching to the appropriate method based on token ID NOTE: scope stack is for lookup convenience, the actual namespace in which names should be mangled and declared. So namespace is semantic home scope for name resolution/mangling, independent of the push stack.
Sourcefn visit_children(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
)
fn visit_children( &mut self, unit: &CompileUnit<'a>, node: &HirNode<'a>, scopes: &mut T, namespace: &'a Scope<'a>, parent: Option<&Symbol>, )
Visit all children of a node
Sourcefn visit_unknown(
&mut self,
unit: &CompileUnit<'a>,
node: &HirNode<'a>,
scopes: &mut T,
namespace: &'a Scope<'a>,
parent: Option<&Symbol>,
)
fn visit_unknown( &mut self, unit: &CompileUnit<'a>, node: &HirNode<'a>, scopes: &mut T, namespace: &'a Scope<'a>, parent: Option<&Symbol>, )
Handle unknown/unrecognized token types