mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 13:58:40 +00:00
preserve & visualize restrict type modifiers in eval
This commit is contained in:
+10
-9
@@ -379,15 +379,16 @@ enum
|
|||||||
{
|
{
|
||||||
E_TypeFlag_Const = (1<<0),
|
E_TypeFlag_Const = (1<<0),
|
||||||
E_TypeFlag_Volatile = (1<<1),
|
E_TypeFlag_Volatile = (1<<1),
|
||||||
E_TypeFlag_IsPlainText = (1<<2),
|
E_TypeFlag_Restrict = (1<<2),
|
||||||
E_TypeFlag_IsCodeText = (1<<3),
|
E_TypeFlag_IsPlainText = (1<<3),
|
||||||
E_TypeFlag_IsPathText = (1<<4),
|
E_TypeFlag_IsCodeText = (1<<4),
|
||||||
E_TypeFlag_IsNotText = (1<<5),
|
E_TypeFlag_IsPathText = (1<<5),
|
||||||
E_TypeFlag_EditableChildren = (1<<6),
|
E_TypeFlag_IsNotText = (1<<6),
|
||||||
E_TypeFlag_InheritedByMembers = (1<<7),
|
E_TypeFlag_EditableChildren = (1<<7),
|
||||||
E_TypeFlag_InheritedByElements = (1<<8),
|
E_TypeFlag_InheritedByMembers = (1<<8),
|
||||||
E_TypeFlag_ArrayLikeExpansion = (1<<9),
|
E_TypeFlag_InheritedByElements = (1<<9),
|
||||||
E_TypeFlag_StubSingleLineExpansion = (1<<10),
|
E_TypeFlag_ArrayLikeExpansion = (1<<10),
|
||||||
|
E_TypeFlag_StubSingleLineExpansion = (1<<11),
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct E_Member E_Member;
|
typedef struct E_Member E_Member;
|
||||||
|
|||||||
@@ -886,6 +886,10 @@ e_push_type_from_key(Arena *arena, E_TypeKey key)
|
|||||||
{
|
{
|
||||||
flags |= E_TypeFlag_Volatile;
|
flags |= E_TypeFlag_Volatile;
|
||||||
}
|
}
|
||||||
|
if(rdi_type->flags & RDI_TypeModifierFlag_Restrict)
|
||||||
|
{
|
||||||
|
flags |= E_TypeFlag_Restrict;
|
||||||
|
}
|
||||||
type = push_array(arena, E_Type, 1);
|
type = push_array(arena, E_Type, 1);
|
||||||
type->kind = kind;
|
type->kind = kind;
|
||||||
type->direct_type_key = direct_type_key;
|
type->direct_type_key = direct_type_key;
|
||||||
@@ -1679,6 +1683,10 @@ e_type_lhs_string_from_key(Arena *arena, E_TypeKey key, String8List *out, U32 pr
|
|||||||
{
|
{
|
||||||
str8_list_push(arena, out, str8_lit("volatile "));
|
str8_list_push(arena, out, str8_lit("volatile "));
|
||||||
}
|
}
|
||||||
|
if(type->flags & E_TypeFlag_Restrict)
|
||||||
|
{
|
||||||
|
str8_list_push(arena, out, str8_lit("restrict "));
|
||||||
|
}
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
case E_TypeKind_Variadic:
|
case E_TypeKind_Variadic:
|
||||||
|
|||||||
Reference in New Issue
Block a user