mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-24 00:17:52 +00:00
more eval type operators for metadata decorations; fix target environment string list evaluation / edits
This commit is contained in:
@@ -75,6 +75,8 @@ E_TypeKindTable:
|
||||
{Lens "lens" 0 }
|
||||
{LensSpec "lens_spec" 0 }
|
||||
{MetaExpr "meta_expr" 0 }
|
||||
{MetaDisplayName "meta_display_name" 0 }
|
||||
{MetaDescription "meta_description" 0 }
|
||||
}
|
||||
|
||||
@table(name op_kind precedence op_pre op_sep op_pos op_chain)
|
||||
|
||||
@@ -492,6 +492,27 @@ e_type_key_cons_ptr(Arch arch, E_TypeKey element_type_key, U64 count, E_TypeFlag
|
||||
return key;
|
||||
}
|
||||
|
||||
internal E_TypeKey
|
||||
e_type_key_cons_meta_expr(E_TypeKey type_key, String8 expr)
|
||||
{
|
||||
E_TypeKey key = e_type_key_cons(.kind = E_TypeKind_MetaExpr, .direct_key = type_key, .name = expr);
|
||||
return key;
|
||||
}
|
||||
|
||||
internal E_TypeKey
|
||||
e_type_key_cons_meta_display_name(E_TypeKey type_key, String8 name)
|
||||
{
|
||||
E_TypeKey key = e_type_key_cons(.kind = E_TypeKind_MetaDisplayName, .direct_key = type_key, .name = name);
|
||||
return key;
|
||||
}
|
||||
|
||||
internal E_TypeKey
|
||||
e_type_key_cons_meta_description(E_TypeKey type_key, String8 desc)
|
||||
{
|
||||
E_TypeKey key = e_type_key_cons(.kind = E_TypeKind_MetaDescription, .direct_key = type_key, .name = desc);
|
||||
return key;
|
||||
}
|
||||
|
||||
internal E_TypeKey
|
||||
e_type_key_cons_base(Type *type)
|
||||
{
|
||||
@@ -1492,6 +1513,8 @@ e_type_key_unwrap(E_TypeKey key, E_TypeUnwrapFlags flags)
|
||||
default:{done = 1;}break;
|
||||
case E_TypeKind_Modifier: {done = !(flags & E_TypeUnwrapFlag_Modifiers);}break;
|
||||
case E_TypeKind_Lens: {done = !(flags & E_TypeUnwrapFlag_Lenses);}break;
|
||||
case E_TypeKind_MetaDisplayName:
|
||||
case E_TypeKind_MetaDescription:
|
||||
case E_TypeKind_MetaExpr: {done = !(flags & E_TypeUnwrapFlag_Meta);}break;
|
||||
case E_TypeKind_Enum: {done = !(flags & E_TypeUnwrapFlag_Enums);}break;
|
||||
case E_TypeKind_Alias: {done = !(flags & E_TypeUnwrapFlag_Aliases);}break;
|
||||
|
||||
@@ -254,6 +254,9 @@ internal E_TypeKey e_type_key_cons_(E_ConsTypeParams *params);
|
||||
//- rjf: constructed type construction helpers
|
||||
internal E_TypeKey e_type_key_cons_array(E_TypeKey element_type_key, U64 count, E_TypeFlags flags);
|
||||
internal E_TypeKey e_type_key_cons_ptr(Arch arch, E_TypeKey element_type_key, U64 count, E_TypeFlags flags);
|
||||
internal E_TypeKey e_type_key_cons_meta_expr(E_TypeKey type_key, String8 expr);
|
||||
internal E_TypeKey e_type_key_cons_meta_display_name(E_TypeKey type_key, String8 name);
|
||||
internal E_TypeKey e_type_key_cons_meta_description(E_TypeKey type_key, String8 desc);
|
||||
internal E_TypeKey e_type_key_cons_base(Type *type);
|
||||
internal E_TypeKey e_type_key_file(void);
|
||||
internal E_TypeKey e_type_key_folder(void);
|
||||
|
||||
@@ -14,7 +14,7 @@ str8_lit_comp("CharLiteral"),
|
||||
str8_lit_comp("Symbol"),
|
||||
};
|
||||
|
||||
String8 e_type_kind_basic_string_table[59] =
|
||||
String8 e_type_kind_basic_string_table[61] =
|
||||
{
|
||||
str8_lit_comp(""),
|
||||
str8_lit_comp("void"),
|
||||
@@ -75,9 +75,11 @@ str8_lit_comp("set"),
|
||||
str8_lit_comp("lens"),
|
||||
str8_lit_comp("lens_spec"),
|
||||
str8_lit_comp("meta_expr"),
|
||||
str8_lit_comp("meta_display_name"),
|
||||
str8_lit_comp("meta_description"),
|
||||
};
|
||||
|
||||
U8 e_type_kind_basic_byte_size_table[59] =
|
||||
U8 e_type_kind_basic_byte_size_table[61] =
|
||||
{
|
||||
0,
|
||||
0,
|
||||
@@ -138,6 +140,8 @@ U8 e_type_kind_basic_byte_size_table[59] =
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
};
|
||||
|
||||
String8 e_expr_kind_strings[48] =
|
||||
|
||||
@@ -78,6 +78,8 @@ E_TypeKind_Set,
|
||||
E_TypeKind_Lens,
|
||||
E_TypeKind_LensSpec,
|
||||
E_TypeKind_MetaExpr,
|
||||
E_TypeKind_MetaDisplayName,
|
||||
E_TypeKind_MetaDescription,
|
||||
E_TypeKind_COUNT,
|
||||
E_TypeKind_FirstBasic = E_TypeKind_Void,
|
||||
E_TypeKind_LastBasic = E_TypeKind_ComplexF128,
|
||||
@@ -163,8 +165,8 @@ E_InterpretationCode_COUNT,
|
||||
|
||||
C_LINKAGE_BEGIN
|
||||
extern String8 e_token_kind_strings[6];
|
||||
extern String8 e_type_kind_basic_string_table[59];
|
||||
extern U8 e_type_kind_basic_byte_size_table[59];
|
||||
extern String8 e_type_kind_basic_string_table[61];
|
||||
extern U8 e_type_kind_basic_byte_size_table[61];
|
||||
extern String8 e_expr_kind_strings[48];
|
||||
extern E_OpInfo e_expr_kind_op_info_table[48];
|
||||
extern String8 e_interpretation_code_display_strings[11];
|
||||
|
||||
Reference in New Issue
Block a user