summaryrefslogtreecommitdiff
path: root/src/wast-parser-lexer-shared.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/wast-parser-lexer-shared.cc')
-rw-r--r--src/wast-parser-lexer-shared.cc34
1 files changed, 6 insertions, 28 deletions
diff --git a/src/wast-parser-lexer-shared.cc b/src/wast-parser-lexer-shared.cc
index fe785fe8..34bf7ebe 100644
--- a/src/wast-parser-lexer-shared.cc
+++ b/src/wast-parser-lexer-shared.cc
@@ -77,34 +77,12 @@ void destroy_text_list(TextList* text_list) {
}
}
-FuncField::FuncField()
- : type(FuncFieldType::Exprs), first_expr(nullptr), next(nullptr) {}
-
-FuncField::~FuncField() {
- switch (type) {
- case FuncFieldType::Exprs:
- destroy_expr_list(first_expr);
- break;
-
- case FuncFieldType::ParamTypes:
- case FuncFieldType::LocalTypes:
- case FuncFieldType::ResultTypes:
- delete types;
- break;
-
- case FuncFieldType::BoundParam:
- case FuncFieldType::BoundLocal:
- destroy_string_slice(&bound_type.name);
- break;
- }
-}
-
-void destroy_func_fields(FuncField* func_field) {
- /* destroy the entire linked-list */
- while (func_field) {
- FuncField* next_func_field = func_field->next;
- delete func_field;
- func_field = next_func_field;
+void destroy_module_field_list(ModuleFieldList* fields) {
+ ModuleField* field = fields->first;
+ while (field) {
+ ModuleField* next = field->next;
+ delete field;
+ field = next;
}
}