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 fn process_type_function(&mut self, _: &mut TypeFunctionStatement) {}
26
27 fn process_variable(&mut self, _: &mut Variable) {}
28
29 fn process_attributes(&mut self, _: &mut Attributes) {}
30 fn process_literal_table(&mut self, _: &mut LiteralTable) {}
31 fn process_literal_expression(&mut self, _: &mut LiteralExpression) {}
32
33 fn process_expression(&mut self, _: &mut Expression) {}
34
35 fn process_binary_expression(&mut self, _: &mut BinaryExpression) {}
36 fn process_field_expression(&mut self, _: &mut FieldExpression) {}
37 fn process_function_expression(&mut self, _: &mut FunctionExpression) {}
38 fn process_variable_expression(&mut self, _: &mut Identifier) {}
39 fn process_index_expression(&mut self, _: &mut IndexExpression) {}
40 fn process_if_expression(&mut self, _: &mut IfExpression) {}
41 fn process_number_expression(&mut self, _: &mut NumberExpression) {}
42 fn process_prefix_expression(&mut self, _: &mut Prefix) {}
43 fn process_parenthese_expression(&mut self, _: &mut ParentheseExpression) {}
44 fn process_string_expression(&mut self, _: &mut StringExpression) {}
45 fn process_interpolated_string_expression(&mut self, _: &mut InterpolatedStringExpression) {}
46 fn process_table_expression(&mut self, _: &mut TableExpression) {}
47 fn process_unary_expression(&mut self, _: &mut UnaryExpression) {}
48 fn process_type_cast_expression(&mut self, _: &mut TypeCastExpression) {}
49
50 fn process_type(&mut self, _: &mut Type) {}
51
52 fn process_type_name(&mut self, _: &mut TypeName) {}
53 fn process_type_field(&mut self, _: &mut TypeField) {}
54 fn process_string_type(&mut self, _: &mut StringType) {}
55 fn process_array_type(&mut self, _: &mut ArrayType) {}
56 fn process_table_type(&mut self, _: &mut TableType) {}
57 fn process_expression_type(&mut self, _: &mut ExpressionType) {}
58 fn process_parenthese_type(&mut self, _: &mut ParentheseType) {}
59 fn process_function_type(&mut self, _: &mut FunctionType) {}
60 fn process_optional_type(&mut self, _: &mut OptionalType) {}
61 fn process_intersection_type(&mut self, _: &mut IntersectionType) {}
62 fn process_union_type(&mut self, _: &mut UnionType) {}
63
64 fn process_type_pack(&mut self, _: &mut TypePack) {}
65 fn process_generic_type_pack(&mut self, _: &mut GenericTypePack) {}
66 fn process_variadic_type_pack(&mut self, _: &mut VariadicTypePack) {}
67}
68
69pub trait NodePostProcessor {
70 fn process_after_block(&mut self, _: &mut Block) {}
71 fn process_after_scope(&mut self, _block: &mut Block, _extra: Option<&mut Expression>) {}
72 fn process_after_statement(&mut self, _: &mut Statement) {}
73
74 fn process_after_function_call(&mut self, _: &mut FunctionCall) {}
75
76 fn process_after_assign_statement(&mut self, _: &mut AssignStatement) {}
77 fn process_after_compound_assign_statement(&mut self, _: &mut CompoundAssignStatement) {}
78 fn process_after_do_statement(&mut self, _: &mut DoStatement) {}
79 fn process_after_function_statement(&mut self, _: &mut FunctionStatement) {}
80 fn process_after_generic_for_statement(&mut self, _: &mut GenericForStatement) {}
81 fn process_after_if_statement(&mut self, _: &mut IfStatement) {}
82 fn process_after_last_statement(&mut self, _: &mut LastStatement) {}
83 fn process_after_local_assign_statement(&mut self, _: &mut LocalAssignStatement) {}
84 fn process_after_local_function_statement(&mut self, _: &mut LocalFunctionStatement) {}
85 fn process_after_numeric_for_statement(&mut self, _: &mut NumericForStatement) {}
86 fn process_after_repeat_statement(&mut self, _: &mut RepeatStatement) {}
87 fn process_after_while_statement(&mut self, _: &mut WhileStatement) {}
88 fn process_after_type_declaration(&mut self, _: &mut TypeDeclarationStatement) {}
89 fn process_after_type_function(&mut self, _: &mut TypeFunctionStatement) {}
90
91 fn process_after_variable(&mut self, _: &mut Variable) {}
92
93 fn process_after_attributes(&mut self, _: &mut Attributes) {}
94 fn process_after_literal_table(&mut self, _: &mut LiteralTable) {}
95 fn process_after_literal_expression(&mut self, _: &mut LiteralExpression) {}
96
97 fn process_after_expression(&mut self, _: &mut Expression) {}
98
99 fn process_after_binary_expression(&mut self, _: &mut BinaryExpression) {}
100 fn process_after_field_expression(&mut self, _: &mut FieldExpression) {}
101 fn process_after_function_expression(&mut self, _: &mut FunctionExpression) {}
102 fn process_after_variable_expression(&mut self, _: &mut Identifier) {}
103 fn process_after_index_expression(&mut self, _: &mut IndexExpression) {}
104 fn process_after_if_expression(&mut self, _: &mut IfExpression) {}
105 fn process_after_number_expression(&mut self, _: &mut NumberExpression) {}
106 fn process_after_prefix_expression(&mut self, _: &mut Prefix) {}
107 fn process_after_parenthese_expression(&mut self, _: &mut ParentheseExpression) {}
108 fn process_after_string_expression(&mut self, _: &mut StringExpression) {}
109 fn process_after_interpolated_string_expression(
110 &mut self,
111 _: &mut InterpolatedStringExpression,
112 ) {
113 }
114 fn process_after_table_expression(&mut self, _: &mut TableExpression) {}
115 fn process_after_unary_expression(&mut self, _: &mut UnaryExpression) {}
116 fn process_after_type_cast_expression(&mut self, _: &mut TypeCastExpression) {}
117
118 fn process_after_type(&mut self, _: &mut Type) {}
119
120 fn process_after_type_name(&mut self, _: &mut TypeName) {}
121 fn process_after_type_field(&mut self, _: &mut TypeField) {}
122 fn process_after_string_type(&mut self, _: &mut StringType) {}
123 fn process_after_array_type(&mut self, _: &mut ArrayType) {}
124 fn process_after_table_type(&mut self, _: &mut TableType) {}
125 fn process_after_expression_type(&mut self, _: &mut ExpressionType) {}
126 fn process_after_parenthese_type(&mut self, _: &mut ParentheseType) {}
127 fn process_after_function_type(&mut self, _: &mut FunctionType) {}
128 fn process_after_optional_type(&mut self, _: &mut OptionalType) {}
129 fn process_after_intersection_type(&mut self, _: &mut IntersectionType) {}
130 fn process_after_union_type(&mut self, _: &mut UnionType) {}
131
132 fn process_after_type_pack(&mut self, _: &mut TypePack) {}
133 fn process_after_generic_type_pack(&mut self, _: &mut GenericTypePack) {}
134 fn process_after_variadic_type_pack(&mut self, _: &mut VariadicTypePack) {}
135}