summaryrefslogtreecommitdiff
path: root/src/binary-reader-ast.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/binary-reader-ast.c')
-rw-r--r--src/binary-reader-ast.c26
1 files changed, 10 insertions, 16 deletions
diff --git a/src/binary-reader-ast.c b/src/binary-reader-ast.c
index 9ab3c7bc..956d2be1 100644
--- a/src/binary-reader-ast.c
+++ b/src/binary-reader-ast.c
@@ -33,16 +33,8 @@
return WABT_ERROR; \
} while (0)
-typedef enum LabelType {
- LABEL_TYPE_FUNC,
- LABEL_TYPE_BLOCK,
- LABEL_TYPE_LOOP,
- LABEL_TYPE_IF,
- LABEL_TYPE_ELSE,
-} LabelType;
-
typedef struct LabelNode {
- LabelType label_type;
+ WabtLabelType label_type;
WabtExpr** first;
WabtExpr* last;
} LabelNode;
@@ -67,7 +59,9 @@ static void WABT_PRINTF_FORMAT(2, 3)
handle_error(ctx, WABT_UNKNOWN_OFFSET, buffer);
}
-static void push_label(Context* ctx, LabelType label_type, WabtExpr** first) {
+static void push_label(Context* ctx,
+ WabtLabelType label_type,
+ WabtExpr** first) {
LabelNode label;
label.label_type = label_type;
label.first = first;
@@ -484,7 +478,7 @@ static WabtResult begin_function_body(WabtBinaryReaderContext* context,
Context* ctx = context->user_data;
assert(index < ctx->module->funcs.size);
ctx->current_func = ctx->module->funcs.data[index];
- push_label(ctx, LABEL_TYPE_FUNC, &ctx->current_func->first_expr);
+ push_label(ctx, WABT_LABEL_TYPE_FUNC, &ctx->current_func->first_expr);
return WABT_OK;
}
@@ -523,7 +517,7 @@ static WabtResult on_block_expr(uint32_t num_types,
src.data = sig_types;
wabt_extend_types(ctx->allocator, &expr->block.sig, &src);
append_expr(ctx, expr);
- push_label(ctx, LABEL_TYPE_BLOCK, &expr->block.first);
+ push_label(ctx, WABT_LABEL_TYPE_BLOCK, &expr->block.first);
return WABT_OK;
}
@@ -610,7 +604,7 @@ static WabtResult on_else_expr(void* user_data) {
Context* ctx = user_data;
LabelNode* label;
CHECK_RESULT(top_label(ctx, &label));
- if (label->label_type != LABEL_TYPE_IF) {
+ if (label->label_type != WABT_LABEL_TYPE_IF) {
print_error(ctx, "else expression without matching if");
return WABT_ERROR;
}
@@ -619,7 +613,7 @@ static WabtResult on_else_expr(void* user_data) {
CHECK_RESULT(get_label_at(ctx, &parent_label, 1));
assert(parent_label->last->type == WABT_EXPR_TYPE_IF);
- label->label_type = LABEL_TYPE_ELSE;
+ label->label_type = WABT_LABEL_TYPE_ELSE;
label->first = &parent_label->last->if_.false_;
label->last = NULL;
return WABT_OK;
@@ -695,7 +689,7 @@ static WabtResult on_if_expr(uint32_t num_types,
src.data = sig_types;
wabt_extend_types(ctx->allocator, &expr->if_.true_.sig, &src);
append_expr(ctx, expr);
- push_label(ctx, LABEL_TYPE_IF, &expr->if_.true_.first);
+ push_label(ctx, WABT_LABEL_TYPE_IF, &expr->if_.true_.first);
return WABT_OK;
}
@@ -722,7 +716,7 @@ static WabtResult on_loop_expr(uint32_t num_types,
src.data = sig_types;
wabt_extend_types(ctx->allocator, &expr->loop.sig, &src);
append_expr(ctx, expr);
- push_label(ctx, LABEL_TYPE_LOOP, &expr->loop.first);
+ push_label(ctx, WABT_LABEL_TYPE_LOOP, &expr->loop.first);
return WABT_OK;
}