mie: convert: implement record text conversion
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
#include "convert.h"
|
#include "convert.h"
|
||||||
|
|
||||||
#include <blue/object/hashmap.h>
|
#include <blue/object/hashmap.h>
|
||||||
|
#include <blue/object/list.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <mie/alloca.h>
|
#include <mie/alloca.h>
|
||||||
#include <mie/arg.h>
|
#include <mie/arg.h>
|
||||||
@@ -14,6 +15,7 @@
|
|||||||
#include <mie/msg.h>
|
#include <mie/msg.h>
|
||||||
#include <mie/op.h>
|
#include <mie/op.h>
|
||||||
#include <mie/ptr.h>
|
#include <mie/ptr.h>
|
||||||
|
#include <mie/record.h>
|
||||||
#include <mie/type.h>
|
#include <mie/type.h>
|
||||||
#include <mie/value.h>
|
#include <mie/value.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@@ -398,6 +400,16 @@ static b_status write_type_definition(
|
|||||||
static b_status write_record(
|
static b_status write_record(
|
||||||
struct mie_ir_converter *converter, struct mie_value *value)
|
struct mie_ir_converter *converter, struct mie_value *value)
|
||||||
{
|
{
|
||||||
|
struct mie_record *rec = MIE_RECORD(value);
|
||||||
|
write_string_f(converter, "record %s", rec->r_base.v_name.n_str);
|
||||||
|
|
||||||
|
if (rec->r_value) {
|
||||||
|
write_string(converter, " = ");
|
||||||
|
write_operand_const(
|
||||||
|
converter, MIE_VALUE(rec->r_value), F_INCLUDE_TYPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
write_char(converter, '\n');
|
||||||
return B_SUCCESS;
|
return B_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user