mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-15 00:22:23 -07:00
formally support hresult codes as distinct from handles in debug info & visualization
This commit is contained in:
+184
-85
@@ -4103,6 +4103,158 @@ df_string_from_ascii_value(Arena *arena, U8 val)
|
||||
return result;
|
||||
}
|
||||
|
||||
internal String8
|
||||
df_string_from_hresult_facility_code(U32 code)
|
||||
{
|
||||
String8 result = {0};
|
||||
switch(code)
|
||||
{
|
||||
default:{}break;
|
||||
case 0x1:{result = str8_lit("RPC");}break;
|
||||
case 0x2:{result = str8_lit("DISPATCH");}break;
|
||||
case 0x3:{result = str8_lit("STORAGE");}break;
|
||||
case 0x4:{result = str8_lit("ITF");}break;
|
||||
case 0x7:{result = str8_lit("WIN32");}break;
|
||||
case 0x8:{result = str8_lit("WINDOWS");}break;
|
||||
case 0x9:{result = str8_lit("SECURITY|SSPI");}break;
|
||||
case 0xA:{result = str8_lit("CONTROL");}break;
|
||||
case 0xB:{result = str8_lit("CERT");}break;
|
||||
case 0xC:{result = str8_lit("INTERNET");}break;
|
||||
case 0xD:{result = str8_lit("MEDIASERVER");}break;
|
||||
case 0xE:{result = str8_lit("MSMQ");}break;
|
||||
case 0xF:{result = str8_lit("SETUPAPI");}break;
|
||||
case 0x10:{result = str8_lit("SCARD");}break;
|
||||
case 0x11:{result = str8_lit("COMPLUS");}break;
|
||||
case 0x12:{result = str8_lit("AAF");}break;
|
||||
case 0x13:{result = str8_lit("URT");}break;
|
||||
case 0x14:{result = str8_lit("ACS");}break;
|
||||
case 0x15:{result = str8_lit("DPLAY");}break;
|
||||
case 0x16:{result = str8_lit("UMI");}break;
|
||||
case 0x17:{result = str8_lit("SXS");}break;
|
||||
case 0x18:{result = str8_lit("WINDOWS_CE");}break;
|
||||
case 0x19:{result = str8_lit("HTTP");}break;
|
||||
case 0x1A:{result = str8_lit("USERMODE_COMMONLOG");}break;
|
||||
case 0x1B:{result = str8_lit("WER");}break;
|
||||
case 0x1F:{result = str8_lit("USERMODE_FILTER_MANAGER");}break;
|
||||
case 0x20:{result = str8_lit("BACKGROUNDCOPY");}break;
|
||||
case 0x21:{result = str8_lit("CONFIGURATION|WIA");}break;
|
||||
case 0x22:{result = str8_lit("STATE_MANAGEMENT");}break;
|
||||
case 0x23:{result = str8_lit("METADIRECTORY");}break;
|
||||
case 0x24:{result = str8_lit("WINDOWSUPDATE");}break;
|
||||
case 0x25:{result = str8_lit("DIRECTORYSERVICE");}break;
|
||||
case 0x26:{result = str8_lit("GRAPHICS");}break;
|
||||
case 0x27:{result = str8_lit("SHELL|NAP");}break;
|
||||
case 0x28:{result = str8_lit("TPM_SERVICES");}break;
|
||||
case 0x29:{result = str8_lit("TPM_SOFTWARE");}break;
|
||||
case 0x2A:{result = str8_lit("UI");}break;
|
||||
case 0x2B:{result = str8_lit("XAML");}break;
|
||||
case 0x2C:{result = str8_lit("ACTION_QUEUE");}break;
|
||||
case 0x30:{result = str8_lit("WINDOWS_SETUP|PLA");}break;
|
||||
case 0x31:{result = str8_lit("FVE");}break;
|
||||
case 0x32:{result = str8_lit("FWP");}break;
|
||||
case 0x33:{result = str8_lit("WINRM");}break;
|
||||
case 0x34:{result = str8_lit("NDIS");}break;
|
||||
case 0x35:{result = str8_lit("USERMODE_HYPERVISOR");}break;
|
||||
case 0x36:{result = str8_lit("CMI");}break;
|
||||
case 0x37:{result = str8_lit("USERMODE_VIRTUALIZATION");}break;
|
||||
case 0x38:{result = str8_lit("USERMODE_VOLMGR");}break;
|
||||
case 0x39:{result = str8_lit("BCD");}break;
|
||||
case 0x3A:{result = str8_lit("USERMODE_VHD");}break;
|
||||
case 0x3C:{result = str8_lit("SDIAG");}break;
|
||||
case 0x3D:{result = str8_lit("WINPE|WEBSERVICES");}break;
|
||||
case 0x3E:{result = str8_lit("WPN");}break;
|
||||
case 0x3F:{result = str8_lit("WINDOWS_STORE");}break;
|
||||
case 0x40:{result = str8_lit("INPUT");}break;
|
||||
case 0x42:{result = str8_lit("EAP");}break;
|
||||
case 0x50:{result = str8_lit("WINDOWS_DEFENDER");}break;
|
||||
case 0x51:{result = str8_lit("OPC");}break;
|
||||
case 0x52:{result = str8_lit("XPS");}break;
|
||||
case 0x53:{result = str8_lit("RAS");}break;
|
||||
case 0x54:{result = str8_lit("POWERSHELL|MBN");}break;
|
||||
case 0x55:{result = str8_lit("EAS");}break;
|
||||
case 0x62:{result = str8_lit("P2P_INT");}break;
|
||||
case 0x63:{result = str8_lit("P2P");}break;
|
||||
case 0x64:{result = str8_lit("DAF");}break;
|
||||
case 0x65:{result = str8_lit("BLUETOOTH_ATT");}break;
|
||||
case 0x66:{result = str8_lit("AUDIO");}break;
|
||||
case 0x6D:{result = str8_lit("VISUALCPP");}break;
|
||||
case 0x70:{result = str8_lit("SCRIPT");}break;
|
||||
case 0x71:{result = str8_lit("PARSE");}break;
|
||||
case 0x78:{result = str8_lit("BLB");}break;
|
||||
case 0x79:{result = str8_lit("BLB_CLI");}break;
|
||||
case 0x7A:{result = str8_lit("WSBAPP");}break;
|
||||
case 0x80:{result = str8_lit("BLBUI");}break;
|
||||
case 0x81:{result = str8_lit("USN");}break;
|
||||
case 0x82:{result = str8_lit("USERMODE_VOLSNAP");}break;
|
||||
case 0x83:{result = str8_lit("TIERING");}break;
|
||||
case 0x85:{result = str8_lit("WSB_ONLINE");}break;
|
||||
case 0x86:{result = str8_lit("ONLINE_ID");}break;
|
||||
case 0x99:{result = str8_lit("DLS");}break;
|
||||
case 0xA0:{result = str8_lit("SOS");}break;
|
||||
case 0xB0:{result = str8_lit("DEBUGGERS");}break;
|
||||
case 0xE7:{result = str8_lit("USERMODE_SPACES");}break;
|
||||
case 0x100:{result = str8_lit("DMSERVER|RESTORE|SPP");}break;
|
||||
case 0x101:{result = str8_lit("DEPLOYMENT_SERVICES_SERVER");}break;
|
||||
case 0x102:{result = str8_lit("DEPLOYMENT_SERVICES_IMAGING");}break;
|
||||
case 0x103:{result = str8_lit("DEPLOYMENT_SERVICES_MANAGEMENT");}break;
|
||||
case 0x104:{result = str8_lit("DEPLOYMENT_SERVICES_UTIL");}break;
|
||||
case 0x105:{result = str8_lit("DEPLOYMENT_SERVICES_BINLSVC");}break;
|
||||
case 0x107:{result = str8_lit("DEPLOYMENT_SERVICES_PXE");}break;
|
||||
case 0x108:{result = str8_lit("DEPLOYMENT_SERVICES_TFTP");}break;
|
||||
case 0x110:{result = str8_lit("DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT");}break;
|
||||
case 0x116:{result = str8_lit("DEPLOYMENT_SERVICES_DRIVER_PROVISIONING");}break;
|
||||
case 0x121:{result = str8_lit("DEPLOYMENT_SERVICES_MULTICAST_SERVER");}break;
|
||||
case 0x122:{result = str8_lit("DEPLOYMENT_SERVICES_MULTICAST_CLIENT");}break;
|
||||
case 0x125:{result = str8_lit("DEPLOYMENT_SERVICES_CONTENT_PROVIDER");}break;
|
||||
case 0x131:{result = str8_lit("LINGUISTIC_SERVICES");}break;
|
||||
case 0x375:{result = str8_lit("WEB");}break;
|
||||
case 0x376:{result = str8_lit("WEB_SOCKET");}break;
|
||||
case 0x446:{result = str8_lit("AUDIOSTREAMING");}break;
|
||||
case 0x600:{result = str8_lit("ACCELERATOR");}break;
|
||||
case 0x701:{result = str8_lit("MOBILE");}break;
|
||||
case 0x7CC:{result = str8_lit("WMAAECMA");}break;
|
||||
case 0x801:{result = str8_lit("WEP");}break;
|
||||
case 0x802:{result = str8_lit("SYNCENGINE");}break;
|
||||
case 0x878:{result = str8_lit("DIRECTMUSIC");}break;
|
||||
case 0x879:{result = str8_lit("DIRECT3D10");}break;
|
||||
case 0x87A:{result = str8_lit("DXGI");}break;
|
||||
case 0x87B:{result = str8_lit("DXGI_DDI");}break;
|
||||
case 0x87C:{result = str8_lit("DIRECT3D11");}break;
|
||||
case 0x888:{result = str8_lit("LEAP");}break;
|
||||
case 0x889:{result = str8_lit("AUDCLNT");}break;
|
||||
case 0x898:{result = str8_lit("WINCODEC_DWRITE_DWM");}break;
|
||||
case 0x899:{result = str8_lit("DIRECT2D");}break;
|
||||
case 0x900:{result = str8_lit("DEFRAG");}break;
|
||||
case 0x901:{result = str8_lit("USERMODE_SDBUS");}break;
|
||||
case 0x902:{result = str8_lit("JSCRIPT");}break;
|
||||
case 0xA01:{result = str8_lit("PIDGENX");}break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
internal String8
|
||||
df_string_from_hresult_code(U32 code)
|
||||
{
|
||||
String8 result = {0};
|
||||
switch(code)
|
||||
{
|
||||
default:{}break;
|
||||
case 0x00000000: {result = str8_lit("S_OK: Operation successful");}break;
|
||||
case 0x00000001: {result = str8_lit("S_FALSE: Operation successful but returned no results");}break;
|
||||
case 0x80004004: {result = str8_lit("E_ABORT: Operation aborted");}break;
|
||||
case 0x80004005: {result = str8_lit("E_FAIL: Unspecified failure");}break;
|
||||
case 0x80004002: {result = str8_lit("E_NOINTERFACE: No such interface supported");}break;
|
||||
case 0x80004001: {result = str8_lit("E_NOTIMPL: Not implemented");}break;
|
||||
case 0x80004003: {result = str8_lit("E_POINTER: Pointer that is not valid");}break;
|
||||
case 0x8000FFFF: {result = str8_lit("E_UNEXPECTED: Unexpected failure");}break;
|
||||
case 0x80070005: {result = str8_lit("E_ACCESSDENIED: General access denied error");}break;
|
||||
case 0x80070006: {result = str8_lit("E_HANDLE: Handle that is not valid");}break;
|
||||
case 0x80070057: {result = str8_lit("E_INVALIDARG: One or more arguments are not valid");}break;
|
||||
case 0x8007000E: {result = str8_lit("E_OUTOFMEMORY: Failed to allocate necessary memory");}break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
internal String8
|
||||
df_string_from_simple_typed_eval(Arena *arena, DF_EvalVizStringFlags flags, U32 radix, E_Eval eval)
|
||||
{
|
||||
@@ -4121,10 +4273,38 @@ df_string_from_simple_typed_eval(Arena *arena, DF_EvalVizStringFlags flags, U32
|
||||
|
||||
case E_TypeKind_Handle:
|
||||
{
|
||||
U64 min_digits = (radix == 16) ? type_byte_size*2 : 0;
|
||||
result = str8_from_s64(arena, eval.value.s64, radix, 0, digit_group_separator);
|
||||
}break;
|
||||
|
||||
case E_TypeKind_HResult:
|
||||
{
|
||||
if(flags & DF_EvalVizStringFlag_ReadOnlyDisplayRules)
|
||||
{
|
||||
Temp scratch = scratch_begin(&arena, 1);
|
||||
U32 hresult_value = (U32)eval.value.u64;
|
||||
U32 is_error = !!(hresult_value & (1ull<<31));
|
||||
U32 error_code = (hresult_value);
|
||||
U32 facility = (hresult_value & 0x7ff0000) >> 16;
|
||||
String8 value_string = str8_from_s64(scratch.arena, eval.value.u64, radix, 0, digit_group_separator);
|
||||
String8 facility_string = df_string_from_hresult_facility_code(facility);
|
||||
String8 error_string = df_string_from_hresult_code(error_code);
|
||||
result = push_str8f(arena, "%S%s%s%S%s%s%S%s",
|
||||
error_string,
|
||||
error_string.size != 0 ? " " : "",
|
||||
facility_string.size != 0 ? "[" : "",
|
||||
facility_string,
|
||||
facility_string.size != 0 ? "] ": "",
|
||||
error_string.size != 0 ? "(" : "",
|
||||
value_string,
|
||||
error_string.size != 0 ? ")" : "");
|
||||
scratch_end(scratch);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = str8_from_s64(arena, eval.value.u64, radix, 0, digit_group_separator);
|
||||
}
|
||||
}break;
|
||||
|
||||
case E_TypeKind_Char8:
|
||||
case E_TypeKind_Char16:
|
||||
case E_TypeKind_Char32:
|
||||
@@ -4156,7 +4336,6 @@ df_string_from_simple_typed_eval(Arena *arena, DF_EvalVizStringFlags flags, U32
|
||||
case E_TypeKind_S32:
|
||||
case E_TypeKind_S64:
|
||||
{
|
||||
U64 min_digits = (radix == 16) ? type_byte_size*2 : 0;
|
||||
result = str8_from_s64(arena, eval.value.s64, radix, 0, digit_group_separator);
|
||||
}break;
|
||||
|
||||
@@ -8401,90 +8580,10 @@ df_core_begin_frame(Arena *arena, DF_CmdList *cmds, F32 dt)
|
||||
}
|
||||
}
|
||||
}break;
|
||||
case DF_CoreCmdKind_TextBreakpoint:
|
||||
case DF_CoreCmdKind_AddAddressBreakpoint:
|
||||
case DF_CoreCmdKind_AddFunctionBreakpoint:
|
||||
{
|
||||
DF_Entity *entity = df_entity_from_handle(params.entity);
|
||||
if(df_entity_is_nil(entity))
|
||||
{
|
||||
entity = df_entity_from_path(params.file_path, 0);
|
||||
}
|
||||
if(!df_entity_is_nil(entity))
|
||||
{
|
||||
S64 line_num = params.text_point.line;
|
||||
B32 removed_existing = 0;
|
||||
for(DF_Entity *child = entity->first, *next = 0; !df_entity_is_nil(child); child = next)
|
||||
{
|
||||
next = child->next;
|
||||
if(child->kind == DF_EntityKind_Breakpoint && child->flags & DF_EntityFlag_HasTextPoint && child->text_point.line == line_num)
|
||||
{
|
||||
removed_existing = 1;
|
||||
df_entity_mark_for_deletion(child);
|
||||
}
|
||||
}
|
||||
if(removed_existing == 0)
|
||||
{
|
||||
DF_Entity *bp = &df_g_nil_entity;
|
||||
DF_StateDeltaHistoryBatch(df_state_delta_history())
|
||||
{
|
||||
bp = df_entity_alloc(entity, DF_EntityKind_Breakpoint);
|
||||
}
|
||||
df_entity_equip_txt_pt(bp, params.text_point);
|
||||
df_entity_equip_cfg_src(bp, DF_CfgSrc_Project);
|
||||
}
|
||||
}
|
||||
}break;
|
||||
case DF_CoreCmdKind_AddressBreakpoint:
|
||||
{
|
||||
U64 vaddr = params.vaddr;
|
||||
if(vaddr != 0)
|
||||
{
|
||||
DF_Entity *bp = &df_g_nil_entity;
|
||||
DF_EntityList existing_bps = df_query_cached_entity_list_with_kind(DF_EntityKind_Breakpoint);
|
||||
for(DF_EntityNode *n = existing_bps.first; n != 0; n = n->next)
|
||||
{
|
||||
if(n->entity->vaddr == vaddr)
|
||||
{
|
||||
bp = n->entity;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(df_entity_is_nil(bp))
|
||||
{
|
||||
DF_StateDeltaHistoryBatch(df_state_delta_history())
|
||||
{
|
||||
bp = df_entity_alloc(df_entity_root(), DF_EntityKind_Breakpoint);
|
||||
}
|
||||
df_entity_equip_vaddr(bp, vaddr);
|
||||
df_entity_equip_cfg_src(bp, DF_CfgSrc_Project);
|
||||
}
|
||||
else
|
||||
{
|
||||
df_entity_mark_for_deletion(bp);
|
||||
}
|
||||
}
|
||||
}break;
|
||||
case DF_CoreCmdKind_FunctionBreakpoint:
|
||||
{
|
||||
String8 function_name = params.string;
|
||||
if(function_name.size != 0)
|
||||
{
|
||||
DF_Entity *symb = df_entity_from_name_and_kind(function_name, DF_EntityKind_EntryPoint);
|
||||
DF_Entity *bp = df_entity_ancestor_from_kind(symb, DF_EntityKind_Breakpoint);
|
||||
if(df_entity_is_nil(bp))
|
||||
{
|
||||
DF_StateDeltaHistoryBatch(df_state_delta_history())
|
||||
{
|
||||
bp = df_entity_alloc(df_entity_root(), DF_EntityKind_Breakpoint);
|
||||
}
|
||||
DF_Entity *symbol_name_entity = df_entity_alloc(bp, DF_EntityKind_EntryPoint);
|
||||
df_entity_equip_name(symbol_name_entity, function_name);
|
||||
df_entity_equip_cfg_src(bp, DF_CfgSrc_Project);
|
||||
}
|
||||
else
|
||||
{
|
||||
df_entity_mark_for_deletion(bp);
|
||||
}
|
||||
}
|
||||
df_cmd_list_push(arena, cmds, ¶ms, df_cmd_spec_from_core_cmd_kind(DF_CoreCmdKind_AddBreakpoint));
|
||||
}break;
|
||||
|
||||
//- rjf: watches
|
||||
|
||||
@@ -1588,6 +1588,8 @@ internal String8 df_eval_view_rule_from_key(DF_EvalView *eval_view, DF_ExpandKey
|
||||
|
||||
//- rjf: evaluation value string builder helpers
|
||||
internal String8 df_string_from_ascii_value(Arena *arena, U8 val);
|
||||
internal String8 df_string_from_hresult_facility_code(U32 code);
|
||||
internal String8 df_string_from_hresult_code(U32 code);
|
||||
internal String8 df_string_from_simple_typed_eval(Arena *arena, DF_EvalVizStringFlags flags, U32 radix, E_Eval eval);
|
||||
|
||||
//- rjf: writing values back to child processes
|
||||
|
||||
@@ -36,6 +36,10 @@ DF_EntityKindTable:
|
||||
//- rjf: auto view rules
|
||||
{AutoViewRule auto_view_rule 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 "Label" Binoculars "Auto View Rule" }
|
||||
|
||||
//- rjf: file path maps
|
||||
{SourcePath source_path 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "Path" Null "Source Path" }
|
||||
{DestPath dest_path 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "Path" Null "Destination Path" }
|
||||
|
||||
//- rjf: watch pins
|
||||
{WatchPin watch_pin 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 "Expression" Pin "Watch Pin" }
|
||||
|
||||
@@ -347,13 +351,10 @@ DF_CoreCmdTable:// | | | |
|
||||
{RelocateEntity 0 0 Null Nil 0 0 0 0 0 0 Null "relocate_entity" "Relocate Entity" "Relocates an entity." "" }
|
||||
|
||||
//- rjf: breakpoints
|
||||
{AddBreakpoint 0 0 Null Nil 0 0 0 0 0 0 CircleFilled "add_breakpoint" "Add Breakpoint" "Places a breakpoint at a given location (file path and line number, address, or symbol name)." "" }
|
||||
{ToggleBreakpoint 0 0 Null Nil 0 0 0 0 0 0 CircleFilled "toggle_breakpoint" "Toggle Breakpoint" "Places or removes a breakpoint at a given location (file path and line number, address, or symbol name)." "" }
|
||||
|
||||
//- rjf: [OLD] breakpoints
|
||||
{TextBreakpoint 0 1 FilePath Nil 0 0 0 0 0 0 CircleFilled "text_breakpoint" "Text Breakpoint" "Places or removes a breakpoint on the specified line of source code." "" }
|
||||
{AddressBreakpoint 1 1 VirtualAddr Nil 0 0 0 0 1 1 CircleFilled "address_breakpoint" "Address Breakpoint" "Places or removes a breakpoint on the specified address." "" }
|
||||
{FunctionBreakpoint 1 1 String Nil 0 0 0 0 1 1 CircleFilled "function_breakpoint" "Function Breakpoint" "Places or removes a breakpoint on the first address(es) of the specified function." "" }
|
||||
{AddBreakpoint 0 1 Null Nil 0 0 0 0 0 0 CircleFilled "add_breakpoint" "Add Breakpoint" "Places a breakpoint at a given location (file path and line number, address, or symbol name)." "" }
|
||||
{AddAddressBreakpoint 1 0 VirtualAddr Nil 0 0 0 0 1 1 CircleFilled "add_address_breakpoint" "Add Address Breakpoint" "Places a breakpoint on the specified address." "" }
|
||||
{AddFunctionBreakpoint 1 0 String Nil 0 0 0 0 1 1 CircleFilled "add_function_breakpoint" "Add Function Breakpoint" "Places a breakpoint on the first address(es) of the specified function." "" }
|
||||
{ToggleBreakpoint 0 1 Null Nil 0 0 0 0 0 0 CircleFilled "toggle_breakpoint" "Toggle Breakpoint" "Places or removes a breakpoint at a given location (file path and line number, address, or symbol name)." "" }
|
||||
{ToggleBreakpointAtCursor 1 1 Null Nil 0 0 0 0 0 0 CircleFilled "toggle_breakpoint_cursor" "Toggle Breakpoint At Cursor" "Places or removes a breakpoint on the line on which the active cursor sits." "" }
|
||||
{RemoveBreakpoint 1 1 Entity Breakpoint 0 0 0 0 0 1 Trash "remove_breakpoint" "Remove Breakpoint" "Removes an existing breakpoint." "" }
|
||||
{EnableBreakpoint 1 1 Entity Breakpoint 0 0 0 0 0 1 CheckFilled "enable_breakpoint" "Enable Breakpoint" "Enables a breakpoint." "" }
|
||||
|
||||
@@ -32,7 +32,7 @@ Rng1U64 df_g_cmd_param_slot_range_table[24] =
|
||||
{OffsetOf(DF_CmdParams, inline_depth), OffsetOf(DF_CmdParams, inline_depth) + sizeof(U64)},
|
||||
};
|
||||
|
||||
DF_IconKind df_g_entity_kind_icon_kind_table[28] =
|
||||
DF_IconKind df_g_entity_kind_icon_kind_table[30] =
|
||||
{
|
||||
DF_IconKind_Null,
|
||||
DF_IconKind_Null,
|
||||
@@ -40,6 +40,8 @@ DF_IconKind_Machine,
|
||||
DF_IconKind_FileOutline,
|
||||
DF_IconKind_FileOutline,
|
||||
DF_IconKind_Binoculars,
|
||||
DF_IconKind_Null,
|
||||
DF_IconKind_Null,
|
||||
DF_IconKind_Pin,
|
||||
DF_IconKind_Binoculars,
|
||||
DF_IconKind_Binoculars,
|
||||
@@ -64,7 +66,7 @@ DF_IconKind_Null,
|
||||
DF_IconKind_Null,
|
||||
};
|
||||
|
||||
String8 df_g_entity_kind_display_string_table[28] =
|
||||
String8 df_g_entity_kind_display_string_table[30] =
|
||||
{
|
||||
str8_lit_comp("Nil"),
|
||||
str8_lit_comp("Root"),
|
||||
@@ -72,6 +74,8 @@ str8_lit_comp("Machine"),
|
||||
str8_lit_comp("File"),
|
||||
str8_lit_comp("Override File Link"),
|
||||
str8_lit_comp("Auto View Rule"),
|
||||
str8_lit_comp("Source Path"),
|
||||
str8_lit_comp("Destination Path"),
|
||||
str8_lit_comp("Watch Pin"),
|
||||
str8_lit_comp("Watch"),
|
||||
str8_lit_comp("View Rule"),
|
||||
@@ -96,7 +100,7 @@ str8_lit_comp("Conversion Failure"),
|
||||
str8_lit_comp("EndedProcess"),
|
||||
};
|
||||
|
||||
String8 df_g_entity_kind_name_lower_table[28] =
|
||||
String8 df_g_entity_kind_name_lower_table[30] =
|
||||
{
|
||||
str8_lit_comp("nil"),
|
||||
str8_lit_comp("root"),
|
||||
@@ -104,6 +108,8 @@ str8_lit_comp("machine"),
|
||||
str8_lit_comp("file"),
|
||||
str8_lit_comp("override_file_link"),
|
||||
str8_lit_comp("auto_view_rule"),
|
||||
str8_lit_comp("source_path"),
|
||||
str8_lit_comp("dest_path"),
|
||||
str8_lit_comp("watch_pin"),
|
||||
str8_lit_comp("watch"),
|
||||
str8_lit_comp("view_rule"),
|
||||
@@ -128,7 +134,7 @@ str8_lit_comp("conversion_fail"),
|
||||
str8_lit_comp("ended_process"),
|
||||
};
|
||||
|
||||
String8 df_g_entity_kind_name_label_table[28] =
|
||||
String8 df_g_entity_kind_name_label_table[30] =
|
||||
{
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
@@ -136,6 +142,8 @@ str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Expression"),
|
||||
str8_lit_comp("Expression"),
|
||||
str8_lit_comp("Expression"),
|
||||
@@ -160,7 +168,7 @@ str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
};
|
||||
|
||||
DF_EntityKindFlags df_g_entity_kind_flags_table[28] =
|
||||
DF_EntityKindFlags df_g_entity_kind_flags_table[30] =
|
||||
{
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_LeafMutUserConfig | 0*DF_EntityKindFlag_LeafMutProjectConfig | 0*DF_EntityKindFlag_LeafMutSoftHalt | 0*DF_EntityKindFlag_LeafMutDebugInfoMap | 0*DF_EntityKindFlag_TreeMutUserConfig | 0*DF_EntityKindFlag_TreeMutProjectConfig | 0*DF_EntityKindFlag_TreeMutSoftHalt | 0*DF_EntityKindFlag_TreeMutDebugInfoMap | 0*DF_EntityKindFlag_NameIsCode | 0*DF_EntityKindFlag_NameIsPath | 0*DF_EntityKindFlag_UserDefinedLifetime),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_LeafMutUserConfig | 0*DF_EntityKindFlag_LeafMutProjectConfig | 0*DF_EntityKindFlag_LeafMutSoftHalt | 0*DF_EntityKindFlag_LeafMutDebugInfoMap | 0*DF_EntityKindFlag_TreeMutUserConfig | 0*DF_EntityKindFlag_TreeMutProjectConfig | 0*DF_EntityKindFlag_TreeMutSoftHalt | 0*DF_EntityKindFlag_TreeMutDebugInfoMap | 0*DF_EntityKindFlag_NameIsCode | 0*DF_EntityKindFlag_NameIsPath | 0*DF_EntityKindFlag_UserDefinedLifetime),
|
||||
@@ -168,6 +176,8 @@ DF_EntityKindFlags df_g_entity_kind_flags_table[28] =
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_LeafMutUserConfig | 0*DF_EntityKindFlag_LeafMutProjectConfig | 0*DF_EntityKindFlag_LeafMutSoftHalt | 0*DF_EntityKindFlag_LeafMutDebugInfoMap | 0*DF_EntityKindFlag_TreeMutUserConfig | 0*DF_EntityKindFlag_TreeMutProjectConfig | 0*DF_EntityKindFlag_TreeMutSoftHalt | 0*DF_EntityKindFlag_TreeMutDebugInfoMap | 0*DF_EntityKindFlag_NameIsCode | 0*DF_EntityKindFlag_NameIsPath | 0*DF_EntityKindFlag_UserDefinedLifetime),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (1*DF_EntityKindFlag_LeafMutUserConfig | 0*DF_EntityKindFlag_LeafMutProjectConfig | 0*DF_EntityKindFlag_LeafMutSoftHalt | 0*DF_EntityKindFlag_LeafMutDebugInfoMap | 0*DF_EntityKindFlag_TreeMutUserConfig | 0*DF_EntityKindFlag_TreeMutProjectConfig | 0*DF_EntityKindFlag_TreeMutSoftHalt | 0*DF_EntityKindFlag_TreeMutDebugInfoMap | 0*DF_EntityKindFlag_NameIsCode | 0*DF_EntityKindFlag_NameIsPath | 0*DF_EntityKindFlag_UserDefinedLifetime),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_LeafMutUserConfig | 0*DF_EntityKindFlag_LeafMutProjectConfig | 0*DF_EntityKindFlag_LeafMutSoftHalt | 0*DF_EntityKindFlag_LeafMutDebugInfoMap | 0*DF_EntityKindFlag_TreeMutUserConfig | 0*DF_EntityKindFlag_TreeMutProjectConfig | 0*DF_EntityKindFlag_TreeMutSoftHalt | 0*DF_EntityKindFlag_TreeMutDebugInfoMap | 0*DF_EntityKindFlag_NameIsCode | 0*DF_EntityKindFlag_NameIsPath | 1*DF_EntityKindFlag_UserDefinedLifetime),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_LeafMutUserConfig | 0*DF_EntityKindFlag_LeafMutProjectConfig | 0*DF_EntityKindFlag_LeafMutSoftHalt | 0*DF_EntityKindFlag_LeafMutDebugInfoMap | 0*DF_EntityKindFlag_TreeMutUserConfig | 0*DF_EntityKindFlag_TreeMutProjectConfig | 0*DF_EntityKindFlag_TreeMutSoftHalt | 0*DF_EntityKindFlag_TreeMutDebugInfoMap | 0*DF_EntityKindFlag_NameIsCode | 0*DF_EntityKindFlag_NameIsPath | 0*DF_EntityKindFlag_UserDefinedLifetime),
|
||||
(0*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (0*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (0*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_LeafMutUserConfig | 0*DF_EntityKindFlag_LeafMutProjectConfig | 0*DF_EntityKindFlag_LeafMutSoftHalt | 0*DF_EntityKindFlag_LeafMutDebugInfoMap | 0*DF_EntityKindFlag_TreeMutUserConfig | 0*DF_EntityKindFlag_TreeMutProjectConfig | 0*DF_EntityKindFlag_TreeMutSoftHalt | 0*DF_EntityKindFlag_TreeMutDebugInfoMap | 0*DF_EntityKindFlag_NameIsCode | 0*DF_EntityKindFlag_NameIsPath | 0*DF_EntityKindFlag_UserDefinedLifetime),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (0*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_LeafMutUserConfig | 0*DF_EntityKindFlag_LeafMutProjectConfig | 0*DF_EntityKindFlag_LeafMutSoftHalt | 0*DF_EntityKindFlag_LeafMutDebugInfoMap | 0*DF_EntityKindFlag_TreeMutUserConfig | 0*DF_EntityKindFlag_TreeMutProjectConfig | 0*DF_EntityKindFlag_TreeMutSoftHalt | 0*DF_EntityKindFlag_TreeMutDebugInfoMap | 1*DF_EntityKindFlag_NameIsCode | 0*DF_EntityKindFlag_NameIsPath | 1*DF_EntityKindFlag_UserDefinedLifetime),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (1*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_LeafMutUserConfig | 0*DF_EntityKindFlag_LeafMutProjectConfig | 0*DF_EntityKindFlag_LeafMutSoftHalt | 0*DF_EntityKindFlag_LeafMutDebugInfoMap | 0*DF_EntityKindFlag_TreeMutUserConfig | 0*DF_EntityKindFlag_TreeMutProjectConfig | 0*DF_EntityKindFlag_TreeMutSoftHalt | 0*DF_EntityKindFlag_TreeMutDebugInfoMap | 1*DF_EntityKindFlag_NameIsCode | 0*DF_EntityKindFlag_NameIsPath | 1*DF_EntityKindFlag_UserDefinedLifetime),
|
||||
(1*DF_EntityKindFlag_CanDelete) | (0*DF_EntityKindFlag_CanFreeze) | (0*DF_EntityKindFlag_CanEdit) | (1*DF_EntityKindFlag_CanRename) | (1*DF_EntityKindFlag_CanEnable) | (0*DF_EntityKindFlag_CanCondition) | (1*DF_EntityKindFlag_CanDuplicate) | (0*DF_EntityKindFlag_LeafMutUserConfig | 0*DF_EntityKindFlag_LeafMutProjectConfig | 0*DF_EntityKindFlag_LeafMutSoftHalt | 0*DF_EntityKindFlag_LeafMutDebugInfoMap | 0*DF_EntityKindFlag_TreeMutUserConfig | 0*DF_EntityKindFlag_TreeMutProjectConfig | 0*DF_EntityKindFlag_TreeMutSoftHalt | 0*DF_EntityKindFlag_TreeMutDebugInfoMap | 1*DF_EntityKindFlag_NameIsCode | 0*DF_EntityKindFlag_NameIsPath | 1*DF_EntityKindFlag_UserDefinedLifetime),
|
||||
@@ -224,7 +234,7 @@ DF_CoreCmdKind_Null,
|
||||
DF_CoreCmdKind_Null,
|
||||
};
|
||||
|
||||
DF_CmdSpecInfo df_g_core_cmd_kind_spec_info_table[222] =
|
||||
DF_CmdSpecInfo df_g_core_cmd_kind_spec_info_table[221] =
|
||||
{
|
||||
{ str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), (DF_CmdSpecFlag_ListInUI*0)|(DF_CmdSpecFlag_ListInIPCDocs*0), {DF_CmdParamSlot_Null, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_Null},
|
||||
{ str8_lit_comp("exit"), str8_lit_comp("Exits the debugger."), str8_lit_comp("quit,close,abort"), str8_lit_comp("Exit"), (DF_CmdSpecFlag_ListInUI*1)|(DF_CmdSpecFlag_ListInIPCDocs*1), {DF_CmdParamSlot_Null, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_X},
|
||||
@@ -390,11 +400,10 @@ DF_CmdSpecInfo df_g_core_cmd_kind_spec_info_table[222] =
|
||||
{ str8_lit_comp("edit_entity"), str8_lit_comp("Opens the editor for an entity."), str8_lit_comp(""), str8_lit_comp("Edit Entity"), (DF_CmdSpecFlag_ListInUI*0)|(DF_CmdSpecFlag_ListInIPCDocs*0), {DF_CmdParamSlot_Null, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_Null},
|
||||
{ str8_lit_comp("duplicate_entity"), str8_lit_comp("Duplicates an entity."), str8_lit_comp(""), str8_lit_comp("Duplicate Entity"), (DF_CmdSpecFlag_ListInUI*0)|(DF_CmdSpecFlag_ListInIPCDocs*0), {DF_CmdParamSlot_Null, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_Null},
|
||||
{ str8_lit_comp("relocate_entity"), str8_lit_comp("Relocates an entity."), str8_lit_comp(""), str8_lit_comp("Relocate Entity"), (DF_CmdSpecFlag_ListInUI*0)|(DF_CmdSpecFlag_ListInIPCDocs*0), {DF_CmdParamSlot_Null, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_Null},
|
||||
{ str8_lit_comp("add_breakpoint"), str8_lit_comp("Places a breakpoint at a given location (file path and line number, address, or symbol name)."), str8_lit_comp(""), str8_lit_comp("Add Breakpoint"), (DF_CmdSpecFlag_ListInUI*0)|(DF_CmdSpecFlag_ListInIPCDocs*0), {DF_CmdParamSlot_Null, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_CircleFilled},
|
||||
{ str8_lit_comp("toggle_breakpoint"), str8_lit_comp("Places or removes a breakpoint at a given location (file path and line number, address, or symbol name)."), str8_lit_comp(""), str8_lit_comp("Toggle Breakpoint"), (DF_CmdSpecFlag_ListInUI*0)|(DF_CmdSpecFlag_ListInIPCDocs*0), {DF_CmdParamSlot_Null, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_CircleFilled},
|
||||
{ str8_lit_comp("text_breakpoint"), str8_lit_comp("Places or removes a breakpoint on the specified line of source code."), str8_lit_comp(""), str8_lit_comp("Text Breakpoint"), (DF_CmdSpecFlag_ListInUI*0)|(DF_CmdSpecFlag_ListInIPCDocs*1), {DF_CmdParamSlot_FilePath, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_CircleFilled},
|
||||
{ str8_lit_comp("address_breakpoint"), str8_lit_comp("Places or removes a breakpoint on the specified address."), str8_lit_comp(""), str8_lit_comp("Address Breakpoint"), (DF_CmdSpecFlag_ListInUI*1)|(DF_CmdSpecFlag_ListInIPCDocs*1), {DF_CmdParamSlot_VirtualAddr, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*1)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*1)}, DF_IconKind_CircleFilled},
|
||||
{ str8_lit_comp("function_breakpoint"), str8_lit_comp("Places or removes a breakpoint on the first address(es) of the specified function."), str8_lit_comp(""), str8_lit_comp("Function Breakpoint"), (DF_CmdSpecFlag_ListInUI*1)|(DF_CmdSpecFlag_ListInIPCDocs*1), {DF_CmdParamSlot_String, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*1)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*1)}, DF_IconKind_CircleFilled},
|
||||
{ str8_lit_comp("add_breakpoint"), str8_lit_comp("Places a breakpoint at a given location (file path and line number, address, or symbol name)."), str8_lit_comp(""), str8_lit_comp("Add Breakpoint"), (DF_CmdSpecFlag_ListInUI*0)|(DF_CmdSpecFlag_ListInIPCDocs*1), {DF_CmdParamSlot_Null, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_CircleFilled},
|
||||
{ str8_lit_comp("add_address_breakpoint"), str8_lit_comp("Places a breakpoint on the specified address."), str8_lit_comp(""), str8_lit_comp("Add Address Breakpoint"), (DF_CmdSpecFlag_ListInUI*1)|(DF_CmdSpecFlag_ListInIPCDocs*0), {DF_CmdParamSlot_VirtualAddr, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*1)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*1)}, DF_IconKind_CircleFilled},
|
||||
{ str8_lit_comp("add_function_breakpoint"), str8_lit_comp("Places a breakpoint on the first address(es) of the specified function."), str8_lit_comp(""), str8_lit_comp("Add Function Breakpoint"), (DF_CmdSpecFlag_ListInUI*1)|(DF_CmdSpecFlag_ListInIPCDocs*0), {DF_CmdParamSlot_String, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*1)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*1)}, DF_IconKind_CircleFilled},
|
||||
{ str8_lit_comp("toggle_breakpoint"), str8_lit_comp("Places or removes a breakpoint at a given location (file path and line number, address, or symbol name)."), str8_lit_comp(""), str8_lit_comp("Toggle Breakpoint"), (DF_CmdSpecFlag_ListInUI*0)|(DF_CmdSpecFlag_ListInIPCDocs*1), {DF_CmdParamSlot_Null, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_CircleFilled},
|
||||
{ str8_lit_comp("toggle_breakpoint_cursor"), str8_lit_comp("Places or removes a breakpoint on the line on which the active cursor sits."), str8_lit_comp(""), str8_lit_comp("Toggle Breakpoint At Cursor"), (DF_CmdSpecFlag_ListInUI*1)|(DF_CmdSpecFlag_ListInIPCDocs*1), {DF_CmdParamSlot_Null, DF_EntityKind_Nil, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*0)}, DF_IconKind_CircleFilled},
|
||||
{ str8_lit_comp("remove_breakpoint"), str8_lit_comp("Removes an existing breakpoint."), str8_lit_comp(""), str8_lit_comp("Remove Breakpoint"), (DF_CmdSpecFlag_ListInUI*1)|(DF_CmdSpecFlag_ListInIPCDocs*1), {DF_CmdParamSlot_Entity, DF_EntityKind_Breakpoint, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*1)}, DF_IconKind_Trash},
|
||||
{ str8_lit_comp("enable_breakpoint"), str8_lit_comp("Enables a breakpoint."), str8_lit_comp(""), str8_lit_comp("Enable Breakpoint"), (DF_CmdSpecFlag_ListInUI*1)|(DF_CmdSpecFlag_ListInIPCDocs*1), {DF_CmdParamSlot_Entity, DF_EntityKind_Breakpoint, (DF_CmdQueryFlag_AllowFiles*0)|(DF_CmdQueryFlag_AllowFolders*0)|(DF_CmdQueryFlag_CodeInput*0)|(DF_CmdQueryFlag_KeepOldInput*0)|(DF_CmdQueryFlag_SelectOldInput*0)|(DF_CmdQueryFlag_Required*1)}, DF_IconKind_CheckFilled},
|
||||
|
||||
@@ -23,6 +23,8 @@ DF_EntityKind_Machine,
|
||||
DF_EntityKind_File,
|
||||
DF_EntityKind_OverrideFileLink,
|
||||
DF_EntityKind_AutoViewRule,
|
||||
DF_EntityKind_SourcePath,
|
||||
DF_EntityKind_DestPath,
|
||||
DF_EntityKind_WatchPin,
|
||||
DF_EntityKind_Watch,
|
||||
DF_EntityKind_ViewRule,
|
||||
@@ -215,10 +217,9 @@ DF_CoreCmdKind_EditEntity,
|
||||
DF_CoreCmdKind_DuplicateEntity,
|
||||
DF_CoreCmdKind_RelocateEntity,
|
||||
DF_CoreCmdKind_AddBreakpoint,
|
||||
DF_CoreCmdKind_AddAddressBreakpoint,
|
||||
DF_CoreCmdKind_AddFunctionBreakpoint,
|
||||
DF_CoreCmdKind_ToggleBreakpoint,
|
||||
DF_CoreCmdKind_TextBreakpoint,
|
||||
DF_CoreCmdKind_AddressBreakpoint,
|
||||
DF_CoreCmdKind_FunctionBreakpoint,
|
||||
DF_CoreCmdKind_ToggleBreakpointAtCursor,
|
||||
DF_CoreCmdKind_RemoveBreakpoint,
|
||||
DF_CoreCmdKind_EnableBreakpoint,
|
||||
@@ -467,11 +468,11 @@ struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] =
|
||||
};
|
||||
C_LINKAGE_BEGIN
|
||||
extern Rng1U64 df_g_cmd_param_slot_range_table[24];
|
||||
extern DF_IconKind df_g_entity_kind_icon_kind_table[28];
|
||||
extern String8 df_g_entity_kind_display_string_table[28];
|
||||
extern String8 df_g_entity_kind_name_lower_table[28];
|
||||
extern String8 df_g_entity_kind_name_label_table[28];
|
||||
extern DF_EntityKindFlags df_g_entity_kind_flags_table[28];
|
||||
extern DF_IconKind df_g_entity_kind_icon_kind_table[30];
|
||||
extern String8 df_g_entity_kind_display_string_table[30];
|
||||
extern String8 df_g_entity_kind_name_lower_table[30];
|
||||
extern String8 df_g_entity_kind_name_label_table[30];
|
||||
extern DF_EntityKindFlags df_g_entity_kind_flags_table[30];
|
||||
extern String8 df_g_cfg_src_string_table[4];
|
||||
extern DF_CoreCmdKind df_g_cfg_src_load_cmd_kind_table[4];
|
||||
extern DF_CoreCmdKind df_g_cfg_src_write_cmd_kind_table[4];
|
||||
|
||||
+5
-13
@@ -3795,19 +3795,11 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
|
||||
}
|
||||
if(range.min.line == range.max.line && ui_clicked(df_icon_buttonf(ws, DF_IconKind_CircleFilled, 0, "Toggle Breakpoint")))
|
||||
{
|
||||
if(ws->code_ctx_menu_vaddr != 0)
|
||||
{
|
||||
DF_CmdParams p = df_cmd_params_from_window(ws);
|
||||
p.vaddr = ws->code_ctx_menu_vaddr;
|
||||
df_push_cmd__root(&p, df_cmd_spec_from_core_cmd_kind(DF_CoreCmdKind_AddressBreakpoint));
|
||||
}
|
||||
else
|
||||
{
|
||||
DF_CmdParams p = df_cmd_params_from_window(ws);
|
||||
p.file_path = ws->code_ctx_menu_file_path;
|
||||
p.text_point = range.min;
|
||||
df_push_cmd__root(&p, df_cmd_spec_from_core_cmd_kind(DF_CoreCmdKind_TextBreakpoint));
|
||||
}
|
||||
DF_CmdParams p = df_cmd_params_from_window(ws);
|
||||
p.file_path = ws->code_ctx_menu_file_path;
|
||||
p.text_point = range.min;
|
||||
p.vaddr = ws->code_ctx_menu_vaddr;
|
||||
df_push_cmd__root(&p, df_cmd_spec_from_core_cmd_kind(DF_CoreCmdKind_ToggleBreakpoint));
|
||||
ui_ctx_menu_close();
|
||||
}
|
||||
if(range.min.line == range.max.line && ui_clicked(df_icon_buttonf(ws, DF_IconKind_Binoculars, 0, "Toggle Watch Expression")))
|
||||
|
||||
@@ -193,6 +193,8 @@ DF_BindingVersionRemapTable:
|
||||
{"load_profile" "open_profile"}
|
||||
{"load_project" "open_project"}
|
||||
{"open_profile" "open_project"}
|
||||
{"address_breakpoint" "add_address_breakpoint"}
|
||||
{"function_breakpoint" "add_function_breakpoint"}
|
||||
}
|
||||
|
||||
@data(String8) df_g_binding_version_remap_old_name_table:
|
||||
@@ -269,13 +271,13 @@ DF_GfxViewTable:
|
||||
@table(slot view_spec opt_cmd_spec)
|
||||
DF_CmdParamSlot2ViewSpecMap:
|
||||
{
|
||||
{Entity "entity_lister" "" }
|
||||
{EntityList "entity_lister" "" }
|
||||
{FilePath "file_system" "" }
|
||||
{CmdSpec "commands" "" }
|
||||
{ID "system_processes" "" }
|
||||
{String "symbol_lister" "goto_name" }
|
||||
{String "symbol_lister" "function_breakpoint" }
|
||||
{Entity "entity_lister" "" }
|
||||
{EntityList "entity_lister" "" }
|
||||
{FilePath "file_system" "" }
|
||||
{CmdSpec "commands" "" }
|
||||
{ID "system_processes" "" }
|
||||
{String "symbol_lister" "goto_name" }
|
||||
{String "symbol_lister" "add_function_breakpoint" }
|
||||
}
|
||||
|
||||
@data(DF_CmdParamSlot) df_g_cmd_param_slot_2_view_spec_src_map:
|
||||
|
||||
+10
-4
@@ -2076,14 +2076,20 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
|
||||
if((evt->delta_2s32.x < 0 || evt->delta_2s32.y < 0) && !df_expand_key_match(df_expand_key_zero(), fallback_pt_prev.key))
|
||||
{
|
||||
DF_Entity *fallback_watch = df_entity_from_expand_key_and_kind(fallback_pt_prev.key, DF_EntityKind_Watch);
|
||||
new_cursor_key = fallback_pt_prev.key;
|
||||
new_cursor_parent_key = df_parent_expand_key_from_entity(fallback_watch);
|
||||
if(!df_entity_is_nil(fallback_watch))
|
||||
{
|
||||
new_cursor_key = fallback_pt_prev.key;
|
||||
new_cursor_parent_key = df_parent_expand_key_from_entity(fallback_watch);
|
||||
}
|
||||
}
|
||||
else if(!df_expand_key_match(df_expand_key_zero(), fallback_pt_next.key))
|
||||
{
|
||||
DF_Entity *fallback_watch = df_entity_from_expand_key_and_kind(fallback_pt_next.key, DF_EntityKind_Watch);
|
||||
new_cursor_key = fallback_pt_next.key;
|
||||
new_cursor_parent_key = df_parent_expand_key_from_entity(fallback_watch);
|
||||
if(!df_entity_is_nil(fallback_watch))
|
||||
{
|
||||
new_cursor_key = fallback_pt_next.key;
|
||||
new_cursor_parent_key = df_parent_expand_key_from_entity(fallback_watch);
|
||||
}
|
||||
}
|
||||
DF_WatchViewPoint new_cursor_pt = {DF_WatchViewColumnKind_Expr, new_cursor_parent_key, new_cursor_key};
|
||||
df_entity_mark_for_deletion(watch);
|
||||
|
||||
@@ -118,22 +118,26 @@ DF_StringBindingPair df_g_default_binding_table[110] =
|
||||
{str8_lit_comp("log_marker"), {OS_Key_M, 0 |OS_EventFlag_Ctrl |OS_EventFlag_Shift |OS_EventFlag_Alt}},
|
||||
};
|
||||
|
||||
String8 df_g_binding_version_remap_old_name_table[5] =
|
||||
String8 df_g_binding_version_remap_old_name_table[7] =
|
||||
{
|
||||
str8_lit_comp("commands"),
|
||||
str8_lit_comp("load_user"),
|
||||
str8_lit_comp("load_profile"),
|
||||
str8_lit_comp("load_project"),
|
||||
str8_lit_comp("open_profile"),
|
||||
str8_lit_comp("address_breakpoint"),
|
||||
str8_lit_comp("function_breakpoint"),
|
||||
};
|
||||
|
||||
String8 df_g_binding_version_remap_new_name_table[5] =
|
||||
String8 df_g_binding_version_remap_new_name_table[7] =
|
||||
{
|
||||
str8_lit_comp("run_command"),
|
||||
str8_lit_comp("open_user"),
|
||||
str8_lit_comp("open_profile"),
|
||||
str8_lit_comp("open_project"),
|
||||
str8_lit_comp("open_project"),
|
||||
str8_lit_comp("add_address_breakpoint"),
|
||||
str8_lit_comp("add_function_breakpoint"),
|
||||
};
|
||||
|
||||
DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[31] =
|
||||
@@ -201,7 +205,7 @@ str8_lit_comp(""),
|
||||
str8_lit_comp(""),
|
||||
str8_lit_comp(""),
|
||||
str8_lit_comp("goto_name"),
|
||||
str8_lit_comp("function_breakpoint"),
|
||||
str8_lit_comp("add_function_breakpoint"),
|
||||
};
|
||||
|
||||
DF_ViewSpecInfo df_g_gfx_view_rule_tab_view_spec_info_table[4] =
|
||||
|
||||
@@ -321,8 +321,8 @@ DF_VIEW_UI_FUNCTION_DEF(bitmap);
|
||||
DF_VIEW_UI_FUNCTION_DEF(geo);
|
||||
C_LINKAGE_BEGIN
|
||||
extern DF_StringBindingPair df_g_default_binding_table[110];
|
||||
extern String8 df_g_binding_version_remap_old_name_table[5];
|
||||
extern String8 df_g_binding_version_remap_new_name_table[5];
|
||||
extern String8 df_g_binding_version_remap_old_name_table[7];
|
||||
extern String8 df_g_binding_version_remap_new_name_table[7];
|
||||
extern DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[31];
|
||||
extern DF_CmdParamSlot df_g_cmd_param_slot_2_view_spec_src_map[7];
|
||||
extern String8 df_g_cmd_param_slot_2_view_spec_dst_map[7];
|
||||
|
||||
@@ -19,6 +19,7 @@ E_TypeKindTable:
|
||||
{Null "" 0 }
|
||||
{Void "void" 0 }
|
||||
{Handle "HANDLE" 0xFF }
|
||||
{HResult "HRESULT" 4 }
|
||||
{Char8 "char8" 1 }
|
||||
{Char16 "char16" 2 }
|
||||
{Char32 "char32" 4 }
|
||||
|
||||
@@ -13,6 +13,7 @@ e_type_kind_from_rdi(RDI_TypeKind kind)
|
||||
default:{}break;
|
||||
case RDI_TypeKind_Void: {result = E_TypeKind_Void;}break;
|
||||
case RDI_TypeKind_Handle: {result = E_TypeKind_Handle;}break;
|
||||
case RDI_TypeKind_HResult: {result = E_TypeKind_HResult;}break;
|
||||
case RDI_TypeKind_Char8: {result = E_TypeKind_Char8;}break;
|
||||
case RDI_TypeKind_Char16: {result = E_TypeKind_Char16;}break;
|
||||
case RDI_TypeKind_Char32: {result = E_TypeKind_Char32;}break;
|
||||
|
||||
@@ -119,11 +119,12 @@ str8_lit_comp("function"),
|
||||
str8_lit_comp("="),
|
||||
};
|
||||
|
||||
U8 e_kind_basic_byte_size_table[54] =
|
||||
U8 e_kind_basic_byte_size_table[55] =
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0xFF,
|
||||
4,
|
||||
1,
|
||||
2,
|
||||
4,
|
||||
@@ -177,11 +178,12 @@ U8 e_kind_basic_byte_size_table[54] =
|
||||
0,
|
||||
};
|
||||
|
||||
String8 e_kind_basic_string_table[54] =
|
||||
String8 e_kind_basic_string_table[55] =
|
||||
{
|
||||
str8_lit_comp(""),
|
||||
str8_lit_comp("void"),
|
||||
str8_lit_comp("HANDLE"),
|
||||
str8_lit_comp("HRESULT"),
|
||||
str8_lit_comp("char8"),
|
||||
str8_lit_comp("char16"),
|
||||
str8_lit_comp("char32"),
|
||||
|
||||
@@ -22,6 +22,7 @@ typedef enum E_TypeKind
|
||||
E_TypeKind_Null,
|
||||
E_TypeKind_Void,
|
||||
E_TypeKind_Handle,
|
||||
E_TypeKind_HResult,
|
||||
E_TypeKind_Char8,
|
||||
E_TypeKind_Char16,
|
||||
E_TypeKind_Char32,
|
||||
@@ -154,8 +155,8 @@ extern String8 e_token_kind_strings[6];
|
||||
extern String8 e_expr_kind_strings[41];
|
||||
extern String8 e_interpretation_code_display_strings[11];
|
||||
extern String8 e_expr_op_strings[41];
|
||||
extern U8 e_kind_basic_byte_size_table[54];
|
||||
extern String8 e_kind_basic_string_table[54];
|
||||
extern U8 e_kind_basic_byte_size_table[55];
|
||||
extern String8 e_kind_basic_string_table[55];
|
||||
|
||||
C_LINKAGE_END
|
||||
|
||||
|
||||
@@ -182,6 +182,7 @@ switch(kind)
|
||||
{
|
||||
default:{}break;
|
||||
case RDI_TypeKind_Handle:{result = 0xFFFFFFFF;}break;
|
||||
case RDI_TypeKind_HResult:{result = 4;}break;
|
||||
case RDI_TypeKind_Char8:{result = 1;}break;
|
||||
case RDI_TypeKind_Char16:{result = 2;}break;
|
||||
case RDI_TypeKind_Char32:{result = 4;}break;
|
||||
|
||||
@@ -52,7 +52,7 @@ typedef int64_t RDI_S64;
|
||||
|
||||
// \"raddbg\0\0\"
|
||||
#define RDI_MAGIC_CONSTANT 0x0000676264646172
|
||||
#define RDI_ENCODING_VERSION 8
|
||||
#define RDI_ENCODING_VERSION 9
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
//~ Format Types & Functions
|
||||
@@ -315,38 +315,39 @@ typedef enum RDI_TypeKindEnum
|
||||
RDI_TypeKind_NULL = 0x0000,
|
||||
RDI_TypeKind_Void = 0x0001,
|
||||
RDI_TypeKind_Handle = 0x0002,
|
||||
RDI_TypeKind_Char8 = 0x0003,
|
||||
RDI_TypeKind_Char16 = 0x0004,
|
||||
RDI_TypeKind_Char32 = 0x0005,
|
||||
RDI_TypeKind_UChar8 = 0x0006,
|
||||
RDI_TypeKind_UChar16 = 0x0007,
|
||||
RDI_TypeKind_UChar32 = 0x0008,
|
||||
RDI_TypeKind_U8 = 0x0009,
|
||||
RDI_TypeKind_U16 = 0x000A,
|
||||
RDI_TypeKind_U32 = 0x000B,
|
||||
RDI_TypeKind_U64 = 0x000C,
|
||||
RDI_TypeKind_U128 = 0x000D,
|
||||
RDI_TypeKind_U256 = 0x000E,
|
||||
RDI_TypeKind_U512 = 0x000F,
|
||||
RDI_TypeKind_S8 = 0x0010,
|
||||
RDI_TypeKind_S16 = 0x0011,
|
||||
RDI_TypeKind_S32 = 0x0012,
|
||||
RDI_TypeKind_S64 = 0x0013,
|
||||
RDI_TypeKind_S128 = 0x0014,
|
||||
RDI_TypeKind_S256 = 0x0015,
|
||||
RDI_TypeKind_S512 = 0x0016,
|
||||
RDI_TypeKind_Bool = 0x0017,
|
||||
RDI_TypeKind_F16 = 0x0018,
|
||||
RDI_TypeKind_F32 = 0x0019,
|
||||
RDI_TypeKind_F32PP = 0x001A,
|
||||
RDI_TypeKind_F48 = 0x001B,
|
||||
RDI_TypeKind_F64 = 0x001C,
|
||||
RDI_TypeKind_F80 = 0x001D,
|
||||
RDI_TypeKind_F128 = 0x001E,
|
||||
RDI_TypeKind_ComplexF32 = 0x001F,
|
||||
RDI_TypeKind_ComplexF64 = 0x0020,
|
||||
RDI_TypeKind_ComplexF80 = 0x0021,
|
||||
RDI_TypeKind_ComplexF128 = 0x0022,
|
||||
RDI_TypeKind_HResult = 0x0003,
|
||||
RDI_TypeKind_Char8 = 0x0004,
|
||||
RDI_TypeKind_Char16 = 0x0005,
|
||||
RDI_TypeKind_Char32 = 0x0006,
|
||||
RDI_TypeKind_UChar8 = 0x0007,
|
||||
RDI_TypeKind_UChar16 = 0x0008,
|
||||
RDI_TypeKind_UChar32 = 0x0009,
|
||||
RDI_TypeKind_U8 = 0x000A,
|
||||
RDI_TypeKind_U16 = 0x000B,
|
||||
RDI_TypeKind_U32 = 0x000C,
|
||||
RDI_TypeKind_U64 = 0x000D,
|
||||
RDI_TypeKind_U128 = 0x000E,
|
||||
RDI_TypeKind_U256 = 0x000F,
|
||||
RDI_TypeKind_U512 = 0x0010,
|
||||
RDI_TypeKind_S8 = 0x0011,
|
||||
RDI_TypeKind_S16 = 0x0012,
|
||||
RDI_TypeKind_S32 = 0x0013,
|
||||
RDI_TypeKind_S64 = 0x0014,
|
||||
RDI_TypeKind_S128 = 0x0015,
|
||||
RDI_TypeKind_S256 = 0x0016,
|
||||
RDI_TypeKind_S512 = 0x0017,
|
||||
RDI_TypeKind_Bool = 0x0018,
|
||||
RDI_TypeKind_F16 = 0x0019,
|
||||
RDI_TypeKind_F32 = 0x001A,
|
||||
RDI_TypeKind_F32PP = 0x001B,
|
||||
RDI_TypeKind_F48 = 0x001C,
|
||||
RDI_TypeKind_F64 = 0x001D,
|
||||
RDI_TypeKind_F80 = 0x001E,
|
||||
RDI_TypeKind_F128 = 0x001F,
|
||||
RDI_TypeKind_ComplexF32 = 0x0020,
|
||||
RDI_TypeKind_ComplexF64 = 0x0021,
|
||||
RDI_TypeKind_ComplexF80 = 0x0022,
|
||||
RDI_TypeKind_ComplexF128 = 0x0023,
|
||||
RDI_TypeKind_Modifier = 0x1000,
|
||||
RDI_TypeKind_Ptr = 0x1001,
|
||||
RDI_TypeKind_LRef = 0x1002,
|
||||
@@ -657,6 +658,7 @@ X(COUNT)\
|
||||
X(NULL)\
|
||||
X(Void)\
|
||||
X(Handle)\
|
||||
X(HResult)\
|
||||
X(Char8)\
|
||||
X(Char16)\
|
||||
X(Char32)\
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"";
|
||||
"// \"raddbg\0\0\"";
|
||||
"#define RDI_MAGIC_CONSTANT 0x0000676264646172";
|
||||
"#define RDI_ENCODING_VERSION 8";
|
||||
"#define RDI_ENCODING_VERSION 9";
|
||||
"";
|
||||
"////////////////////////////////////////////////////////////////";
|
||||
"//~ Format Types & Functions";
|
||||
@@ -711,38 +711,39 @@ RDI_TypeKindTable:
|
||||
//-
|
||||
{Void 0x0001 0 FirstBuiltIn }
|
||||
{Handle 0x0002 0xFFFFFFFF }
|
||||
{Char8 0x0003 1 }
|
||||
{Char16 0x0004 2 }
|
||||
{Char32 0x0005 4 }
|
||||
{UChar8 0x0006 1 }
|
||||
{UChar16 0x0007 2 }
|
||||
{UChar32 0x0008 4 }
|
||||
{U8 0x0009 1 }
|
||||
{U16 0x000A 2 }
|
||||
{U32 0x000B 4 }
|
||||
{U64 0x000C 8 }
|
||||
{U128 0x000D 16 }
|
||||
{U256 0x000E 32 }
|
||||
{U512 0x000F 64 }
|
||||
{S8 0x0010 1 }
|
||||
{S16 0x0011 2 }
|
||||
{S32 0x0012 4 }
|
||||
{S64 0x0013 8 }
|
||||
{S128 0x0014 16 }
|
||||
{S256 0x0015 32 }
|
||||
{S512 0x0016 64 }
|
||||
{Bool 0x0017 1 }
|
||||
{F16 0x0018 2 }
|
||||
{F32 0x0019 4 }
|
||||
{F32PP 0x001A 4 }
|
||||
{F48 0x001B 6 }
|
||||
{F64 0x001C 8 }
|
||||
{F80 0x001D 10 }
|
||||
{F128 0x001E 16 }
|
||||
{ComplexF32 0x001F 8 }
|
||||
{ComplexF64 0x0020 16 }
|
||||
{ComplexF80 0x0021 20 }
|
||||
{ComplexF128 0x0022 32 LastBuiltIn }
|
||||
{HResult 0x0003 4 }
|
||||
{Char8 0x0004 1 }
|
||||
{Char16 0x0005 2 }
|
||||
{Char32 0x0006 4 }
|
||||
{UChar8 0x0007 1 }
|
||||
{UChar16 0x0008 2 }
|
||||
{UChar32 0x0009 4 }
|
||||
{U8 0x000A 1 }
|
||||
{U16 0x000B 2 }
|
||||
{U32 0x000C 4 }
|
||||
{U64 0x000D 8 }
|
||||
{U128 0x000E 16 }
|
||||
{U256 0x000F 32 }
|
||||
{U512 0x0010 64 }
|
||||
{S8 0x0011 1 }
|
||||
{S16 0x0012 2 }
|
||||
{S32 0x0013 4 }
|
||||
{S64 0x0014 8 }
|
||||
{S128 0x0015 16 }
|
||||
{S256 0x0016 32 }
|
||||
{S512 0x0017 64 }
|
||||
{Bool 0x0018 1 }
|
||||
{F16 0x0019 2 }
|
||||
{F32 0x001A 4 }
|
||||
{F32PP 0x001B 4 }
|
||||
{F48 0x001C 6 }
|
||||
{F64 0x001D 8 }
|
||||
{F80 0x001E 10 }
|
||||
{F128 0x001F 16 }
|
||||
{ComplexF32 0x0020 8 }
|
||||
{ComplexF64 0x0021 16 }
|
||||
{ComplexF80 0x0022 20 }
|
||||
{ComplexF128 0x0023 32 LastBuiltIn }
|
||||
//-
|
||||
{Modifier 0x1000 0 FirstConstructed }
|
||||
{Ptr 0x1001 0 }
|
||||
|
||||
@@ -303,7 +303,7 @@ p2r_rdi_type_kind_from_cv_basic_type(CV_BasicType basic_type)
|
||||
switch(basic_type)
|
||||
{
|
||||
case CV_BasicType_VOID: {result = RDI_TypeKind_Void;}break;
|
||||
case CV_BasicType_HRESULT: {result = RDI_TypeKind_Handle;}break;
|
||||
case CV_BasicType_HRESULT: {result = RDI_TypeKind_HResult;}break;
|
||||
|
||||
case CV_BasicType_RCHAR:
|
||||
case CV_BasicType_CHAR:
|
||||
|
||||
@@ -542,10 +542,10 @@ internal RDI_BinarySectionFlags p2r_rdi_binary_section_flags_from_coff_section_f
|
||||
////////////////////////////////
|
||||
//~ rjf: CodeView => RDI Canonical Conversions
|
||||
|
||||
internal RDI_Arch p2r_rdi_arch_from_cv_arch(CV_Arch arch);
|
||||
internal RDI_RegCode p2r_rdi_reg_code_from_cv_reg_code(RDI_Arch arch, CV_Reg reg_code);
|
||||
internal RDI_Language p2r_rdi_language_from_cv_language(CV_Language language);
|
||||
internal RDI_TypeKind p2r_rdi_type_kind_from_cv_basic_type(CV_BasicType basic_type);
|
||||
internal RDI_Arch p2r_rdi_arch_from_cv_arch(CV_Arch arch);
|
||||
internal RDI_RegCode p2r_rdi_reg_code_from_cv_reg_code(RDI_Arch arch, CV_Reg reg_code);
|
||||
internal RDI_Language p2r_rdi_language_from_cv_language(CV_Language language);
|
||||
internal RDI_TypeKind p2r_rdi_type_kind_from_cv_basic_type(CV_BasicType basic_type);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Location Info Building Helpers
|
||||
|
||||
Reference in New Issue
Block a user