darklua_core/process/
node_processor.rs

1use crate::nodes::*;
2
3/// Used by the NodeVisitor trait, a NodeProcessor object is passed to each node to
4/// perform mutations.
5pub trait NodeProcessor {
6    fn process_block(&mut self, _: &mut Block) {}
7    fn process_scope(&mut self, _block: &mut Block, _extra: Option<&mut Expression>) {}
8    fn process_statement(&mut self, _: &mut Statement) {}
9
10    fn process_function_call(&mut self, _: &mut FunctionCall) {}
11
12    fn process_assign_statement(&mut self, _: &mut AssignStatement) {}
13    fn process_compound_assign_statement(&mut self, _: &mut CompoundAssignStatement) {}
14    fn process_do_statement(&mut self, _: &mut DoStatement) {}
15    fn process_function_statement(&mut self, _: &mut FunctionStatement) {}
16    fn process_generic_for_statement(&mut self, _: &mut GenericForStatement) {}
17    fn process_if_statement(&mut self, _: &mut IfStatement) {}
18    fn process_last_statement(&mut self, _: &mut LastStatement) {}
19    fn process_local_assign_statement(&mut self, _: &mut LocalAssignStatement) {}
20    fn process_local_function_statement(&mut self, _: &mut LocalFunctionStatement) {}
21    fn process_numeric_for_statement(&mut self, _: &mut NumericForStatement) {}
22    fn process_repeat_statement(&mut self, _: &mut RepeatStatement) {}
23    fn process_while_statement(&mut self, _: &mut WhileStatement) {}
24    fn process_type_declaration(&mut self, _: &mut TypeDeclarationStatement) {}
25
26    fn process_variable(&mut self, _: &mut Variable) {}
27
28    fn process_expression(&mut self, _: &mut Expression) {}
29
30    fn process_binary_expression(&mut self, _: &mut BinaryExpression) {}
31    fn process_field_expression(&mut self, _: &mut FieldExpression) {}
32    fn process_function_expression(&mut self, _: &mut FunctionExpression) {}
33    fn process_variable_expression(&mut self, _: &mut Identifier) {}
34    fn process_index_expression(&mut self, _: &mut IndexExpression) {}
35    fn process_if_expression(&mut self, _: &mut IfExpression) {}
36    fn process_number_expression(&mut self, _: &mut NumberExpression) {}
37    fn process_prefix_expression(&mut self, _: &mut Prefix) {}
38    fn process_parenthese_expression(&mut self, _: &mut ParentheseExpression) {}
39    fn process_string_expression(&mut self, _: &mut StringExpression) {}
40    fn process_interpolated_string_expression(&mut self, _: &mut InterpolatedStringExpression) {}
41    fn process_table_expression(&mut self, _: &mut TableExpression) {}
42    fn process_unary_expression(&mut self, _: &mut UnaryExpression) {}
43    fn process_type_cast_expression(&mut self, _: &mut TypeCastExpression) {}
44
45    fn process_type(&mut self, _: &mut Type) {}
46
47    fn process_type_name(&mut self, _: &mut TypeName) {}
48    fn process_type_field(&mut self, _: &mut TypeField) {}
49    fn process_string_type(&mut self, _: &mut StringType) {}
50    fn process_array_type(&mut self, _: &mut ArrayType) {}
51    fn process_table_type(&mut self, _: &mut TableType) {}
52    fn process_expression_type(&mut self, _: &mut ExpressionType) {}
53    fn process_parenthese_type(&mut self, _: &mut ParentheseType) {}
54    fn process_function_type(&mut self, _: &mut FunctionType) {}
55    fn process_optional_type(&mut self, _: &mut OptionalType) {}
56    fn process_intersection_type(&mut self, _: &mut IntersectionType) {}
57    fn process_union_type(&mut self, _: &mut UnionType) {}
58
59    fn process_type_pack(&mut self, _: &mut TypePack) {}
60    fn process_generic_type_pack(&mut self, _: &mut GenericTypePack) {}
61    fn process_variadic_type_pack(&mut self, _: &mut VariadicTypePack) {}
62}