This patch includes the following changes:
Refactor GetVariableInfo/GetValueStringFormatted/GetValue to use the same code (MI)
Also it expands the variable value format for strings (aka char*):
was:
^done,name="v4",numchild="1",value="0x0000000100000f56",type="const char *",thread-id="1",has_more="0"
now:
^done,name="v4",numchild="1",value="0x0000000100000f56 \"ab\"",type="const char *",thread-id="1",has_more="0"
Expand the variable value format for arrays (according to GDB)
For example:
was:
^done,name="v3",numchild="2",value="{...}",type="char [2]",thread-id="1",has_more="0"
now:
^done,name="v3",numchild="2",value="[2]",type="char [2]",thread-id="1",has_more="0"
Rename MiGdbSetShowTestCase.test_lldbmi_gdb_show_process_stopatentry_default to test_lldbmi_gdb_show_process_stopatentry (MI)
Fix a comment in MiGdbSetShowTestCase.test_lldbmi_gdb_show_process_stopatentry (MI)
- Refactor CMICmnLLDBUtilSBValue
- Add CMICmnLLDBUtilSBValue::IsPointerType/IsArrayType
- Refactor CMICmnLLDBUtilSBValue::GetValue
- Fix CMICmnLLDBUtilSBValue::IsChildCharType to ignore a number of childs
- Rename CMICmnLLDBUtilSBValue::IsChildCharType to IsFirstChildCharType
- Fix CMICmnLLDBUtilSBValue::GetValueCString to accept char[]
Minor changes in CMICmnLLDBUtilSBValue::GetValue
Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormVariableInfo family functions (MI)
- Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo family functions (MI)
- Remove CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo2
- Improve CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo to accept args
- Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo family functions (MI)
- Add vArgInfo arg to CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo
- Move CMICmnLLDBDebugSessionInfo::GetFrameInfo/MIResponseFormFrameInfo to private namespace
- Refactor CMICmnLLDBDebugSessionInfo::GetThreadFrames family functions (MI)
- Remove CMICmnLLDBDebugSessionInfo::GetThreadFrames2
- Improve CMICmnLLDBDebugSessionInfo::GetThreadFrames to accept vnMaxDepth
Fix vnMaxDepth arg name in CMICmnLLDBDebugSessionInfo::MIResponseFormVariableInfo (MI)
- Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo family functions (MI)
- Merge CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo functions into one
Don't modify fnName in CMICmnLLDBDebugSessionInfo::GetThreadFrames (MI)
- Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo family functions (MI)
- Remove CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo3
- Improve -CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo to accept vnMaxDepth
- Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo family functions (MI)
- Remove CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo2
- Add CMICmnLLDBDebugSessionInfo::ThreadInfoFormat_e enum to specify thread format
- Improve CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo to accept veThreadInfoFormat
- Remove vnMaxDepth arg in CMICmnLLDBDebugSessionInfo::MIResponseFormThreadInfo (not needed because veThreadInfoFormat was added)
Move CMICmnLLDBDebugSessionInfo::GetThreadFrames to private namespace (MI)
- Refactor CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo (MI)
- Add CMICmnLLDBDebugSessionInfo::FrameInfoFormat_e enum to specify frame format
- Improve CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo to accept veFrameInfoFormat
- Remove vnMaxDepth arg in CMICmnLLDBDebugSessionInfo::MIResponseFormFrameInfo (not needed because veFrameInfoFormat was added)
Remove duplicated level field in CMICmnLLDBDebugSessionInfo::GetThreadFrames (MI)
- Refactor CMICmnLLDBUtilSBValue::GetValue (MI)
- Add CMICmnLLDBUtilSBValue::GetSimpleValue
- Use CMICmnLLDBUtilSBValue::GetSimpleValue in GetVlaue
- Fix CMICmnLLDBDebugSessionInfo::GetThreadFrames (MI)
- Add CMICmnLLDBDebugSessionInfo::FrameInfoFormat_e::eFrameInfoFormat_AllArgumentsInSimpleForm which is used to get stack-args in simple form (i.e. show {...} for composite types). It can be done by calling MIResponseFormVariableInfo with vnMaxDepth=0.
- Improve CMICmnLLDBDebugSessionInfo::GetThreadFrames to accept veFrameInfoFormat
- Remove vnMaxDepth from CMICmnLLDBDebugSessionInfo::GetThreadFrames (we should use veFrameInfoFormat instead)
- Refactor CMICmnLLDBUtilSBValue::GetValue to expand composite types (MI)
- Add CMICmnLLDBUtilSBValue::GetCompositeValue to expand composite types
- Add CMICmnLLDBUtilSBValue::m_pComposite to avoid multiple {...} in the code
- Improve CMICmnLLDBUtilSBValue::GetValue to accept vbExpandAggregates option (default=false)
- Clean up CMICmnLLDBDebugSessionInfo::GetVariableInfo to use CMICmnLLDBUtilSBValue::GetValue
- Remove the wrapping into {} in CMICmnLLDBDebugSessionInfo::MIResponseFormVariableInfo
- Fix MiStackTestCase.test_lldbmi_stack_list_locals test to expect result without superfluous space ' ' around the '{' or '}' brackets:
was:
{name=\"var_c\",value=\"{var_a = 10,var_b = 97 'a',inner_ = { var_d = 30 }}
now:
{name=\"var_c\",value=\"{var_a = 10,var_b = 97 'a',inner_ = {var_d = 30}}
Fix vwrValue arg name in CMICmnLLDBUtilSBValue::GetSimpleValue (was vrValue)
- Refactor CMICmnLLDBDebugSessionInfo::GetVariableInfo (MI)
- Remove vnMaxDepth/vbIsChildValue/vnDepth args in CMICmnLLDBDebugSessionInfo::GetVariableInfo
- Improve CMICmnLLDBDebugSessionInfo::GetVariableInfo to accept vwrStrValue
- Remove vwrMiValueList arg in CMICmnLLDBDebugSessionInfo::GetVariableInfo (we should use vwrStrValue instead)
- Fix CMICmnLLDBDebugSessionInfo::MIResponseFormVariableInfo to Escape values
was:
{name="p",value="0x0000000000000000 """}
now:
{name="p",value="0x0000000000000000 \"\""}
- Refactor CMICmnLLDBUtilSBValue
- Improve CMICmnLLDBUtilSBValue::GetValue to handle PrintExpandAggregates
- Improve CMICmnLLDBUtilSBValue::GetSimpleValue to handle vbHandleArrayType (use it to specify that array should be represented as simple type, i.e. value="[2]")
Add spacing between fields in CMICmnLLDBUtilSBValue::GetCompositeValue (MI)
For example:
was:
^done,name="var3",numchild="3",value="{i = 3,inner = {l = 3},complex_ptr = 0x00007fff5fbff848}",type="complex_type",thread-id="1",has_more="0"
now:
^done,name="var3",numchild="3",value="{i = 3, inner = {l = 3}, complex_ptr = 0x00007fff5fbff848}",type="complex_type",thread-id="1",has_more="0"
- Fix spacing in MiStackTestCase.test_lldbmi_stack_list_locals test (MI)