mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-09-24 02:00:05 +00:00
sketch out unified RDI_Variable to replace RDI_GlobalVariable, RDI_ThreadVariable, RDI_Local, and RDI_Constant, & plug into new RDI structured namespaces
This commit is contained in:
+42
-1
@@ -956,6 +956,7 @@ RDI_ContainerKindTable:
|
||||
RDI_ContainerFlagTable:
|
||||
{
|
||||
{External `1<<8`}
|
||||
{KindMask `0xff`}
|
||||
}
|
||||
|
||||
@table(name value)
|
||||
@@ -983,6 +984,19 @@ RDI_LocationKindTable:
|
||||
{AddrRegPlusU16 0x3}
|
||||
{AddrAddrRegPlusU16 0x4}
|
||||
{ValReg 0x5}
|
||||
{ModuleOff 0x6}
|
||||
{TLSOff 0x7}
|
||||
{ConstantDataOff 0x8}
|
||||
{List 0x9}
|
||||
}
|
||||
|
||||
@table(name value)
|
||||
RDI_VariableKindTable:
|
||||
{
|
||||
{Local 0x0}
|
||||
{Param 0x1}
|
||||
{Global 0x2}
|
||||
{Thread 0x3}
|
||||
}
|
||||
|
||||
@table(name type desc)
|
||||
@@ -993,6 +1007,19 @@ RDI_NamespaceMemberTable:
|
||||
{container_idx RDI_U32 ""}
|
||||
}
|
||||
|
||||
@table(name type desc)
|
||||
RDI_VariableMemberTable:
|
||||
{
|
||||
{name_string_idx RDI_U32 ""}
|
||||
{container_flags RDI_ContainerFlags ""}
|
||||
{container_idx RDI_U32 ""}
|
||||
{type_idx RDI_U32 ""}
|
||||
{variable_kind RDI_VariableKind ""}
|
||||
{location_kind RDI_LocationKind ""}
|
||||
{padding RDI_U16 ""}
|
||||
{location_idx RDI_U32 ""}
|
||||
}
|
||||
|
||||
@table(name type desc)
|
||||
RDI_GlobalVariableMemberTable:
|
||||
{
|
||||
@@ -1108,7 +1135,6 @@ RDI_LocationRegMemberTable:
|
||||
@enum(RDI_U32) RDI_ContainerFlags:
|
||||
{
|
||||
@expand(RDI_ContainerFlagTable a) `$(a.name .. =>20) = $(a.value)`,
|
||||
`KindMask = 0xff`,
|
||||
}
|
||||
|
||||
@enum(RDI_U32) RDI_LinkFlags:
|
||||
@@ -1121,6 +1147,11 @@ RDI_LocationRegMemberTable:
|
||||
@expand(RDI_LocalKindTable a) `$(a.name .. =>20) = $(a.value)`
|
||||
}
|
||||
|
||||
@enum(RDI_U8) RDI_VariableKind:
|
||||
{
|
||||
@expand(RDI_VariableKindTable a) `$(a.name .. =>20) = $(a.value)`
|
||||
}
|
||||
|
||||
@enum(RDI_U8) RDI_LocationKind:
|
||||
{
|
||||
@expand(RDI_LocationKindTable a) `$(a.name .. =>20) = $(a.value)`
|
||||
@@ -1148,6 +1179,11 @@ RDI_LocationRegMemberTable:
|
||||
@expand(RDI_NamespaceMemberTable a) `$(a.type), $(a.name)`
|
||||
}
|
||||
|
||||
@xlist RDI_Variable_XList:
|
||||
{
|
||||
@expand(RDI_VariableMemberTable a) `$(a.type), $(a.name)`
|
||||
}
|
||||
|
||||
@xlist RDI_GlobalVariable_XList:
|
||||
{
|
||||
@expand(RDI_GlobalVariableMemberTable a) `$(a.type), $(a.name)`
|
||||
@@ -1205,6 +1241,11 @@ RDI_LocationRegMemberTable:
|
||||
@expand(RDI_NamespaceMemberTable a) `$(a.type) $(a.name)`
|
||||
}
|
||||
|
||||
@struct RDI_Variable:
|
||||
{
|
||||
@expand(RDI_VariableMemberTable a) `$(a.type) $(a.name)`
|
||||
}
|
||||
|
||||
@struct RDI_GlobalVariable:
|
||||
{
|
||||
@expand(RDI_GlobalVariableMemberTable a) `$(a.type) $(a.name)`
|
||||
|
||||
Reference in New Issue
Block a user