1use crate::nodes::*;
2
3pub 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}
63
64pub trait NodePostProcessor {
65 fn process_after_block(&mut self, _: &mut Block) {}
66 fn process_after_scope(&mut self, _block: &mut Block, _extra: Option<&mut Expression>) {}
67 fn process_after_statement(&mut self, _: &mut Statement) {}
68
69 fn process_after_function_call(&mut self, _: &mut FunctionCall) {}
70
71 fn process_after_assign_statement(&mut self, _: &mut AssignStatement) {}
72 fn process_after_compound_assign_statement(&mut self, _: &mut CompoundAssignStatement) {}
73 fn process_after_do_statement(&mut self, _: &mut DoStatement) {}
74 fn process_after_function_statement(&mut self, _: &mut FunctionStatement) {}
75 fn process_after_generic_for_statement(&mut self, _: &mut GenericForStatement) {}
76 fn process_after_if_statement(&mut self, _: &mut IfStatement) {}
77 fn process_after_last_statement(&mut self, _: &mut LastStatement) {}
78 fn process_after_local_assign_statement(&mut self, _: &mut LocalAssignStatement) {}
79 fn process_after_local_function_statement(&mut self, _: &mut LocalFunctionStatement) {}
80 fn process_after_numeric_for_statement(&mut self, _: &mut NumericForStatement) {}
81 fn process_after_repeat_statement(&mut self, _: &mut RepeatStatement) {}
82 fn process_after_while_statement(&mut self, _: &mut WhileStatement) {}
83 fn process_after_type_declaration(&mut self, _: &mut TypeDeclarationStatement) {}
84
85 fn process_after_variable(&mut self, _: &mut Variable) {}
86
87 fn process_after_expression(&mut self, _: &mut Expression) {}
88
89 fn process_after_binary_expression(&mut self, _: &mut BinaryExpression) {}
90 fn process_after_field_expression(&mut self, _: &mut FieldExpression) {}
91 fn process_after_function_expression(&mut self, _: &mut FunctionExpression) {}
92 fn process_after_variable_expression(&mut self, _: &mut Identifier) {}
93 fn process_after_index_expression(&mut self, _: &mut IndexExpression) {}
94 fn process_after_if_expression(&mut self, _: &mut IfExpression) {}
95 fn process_after_number_expression(&mut self, _: &mut NumberExpression) {}
96 fn process_after_prefix_expression(&mut self, _: &mut Prefix) {}
97 fn process_after_parenthese_expression(&mut self, _: &mut ParentheseExpression) {}
98 fn process_after_string_expression(&mut self, _: &mut StringExpression) {}
99 fn process_after_interpolated_string_expression(
100 &mut self,
101 _: &mut InterpolatedStringExpression,
102 ) {
103 }
104 fn process_after_table_expression(&mut self, _: &mut TableExpression) {}
105 fn process_after_unary_expression(&mut self, _: &mut UnaryExpression) {}
106 fn process_after_type_cast_expression(&mut self, _: &mut TypeCastExpression) {}
107
108 fn process_after_type(&mut self, _: &mut Type) {}
109
110 fn process_after_type_name(&mut self, _: &mut TypeName) {}
111 fn process_after_type_field(&mut self, _: &mut TypeField) {}
112 fn process_after_string_type(&mut self, _: &mut StringType) {}
113 fn process_after_array_type(&mut self, _: &mut ArrayType) {}
114 fn process_after_table_type(&mut self, _: &mut TableType) {}
115 fn process_after_expression_type(&mut self, _: &mut ExpressionType) {}
116 fn process_after_parenthese_type(&mut self, _: &mut ParentheseType) {}
117 fn process_after_function_type(&mut self, _: &mut FunctionType) {}
118 fn process_after_optional_type(&mut self, _: &mut OptionalType) {}
119 fn process_after_intersection_type(&mut self, _: &mut IntersectionType) {}
120 fn process_after_union_type(&mut self, _: &mut UnionType) {}
121
122 fn process_after_type_pack(&mut self, _: &mut TypePack) {}
123 fn process_after_generic_type_pack(&mut self, _: &mut GenericTypePack) {}
124 fn process_after_variadic_type_pack(&mut self, _: &mut VariadicTypePack) {}
125}