Author: brucem Date: Tue Apr 28 05:03:55 2015 New Revision: 235974 URL: http://llvm.org/viewvc/llvm-project?rev=235974&view=rev Log: LLDB-MI: -var-list-children with no children doesn't need a children value in the response.
Summary: When using GDB with MI, if there aren't children for a variable, it doesn't include a "children" value in the response. LLDB does and sets it to "[]" while variables with children have an unquoted list: children=[...]. This removes the children value entirely when there are no children making this match GDB in behavior. Test Plan: Ran tests on Mac OS X and they passed. Reviewers: abidh, domipheus Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9320 Modified: lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py lldb/trunk/tools/lldb-mi/MICmdCmdVar.cpp Modified: lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py?rev=235974&r1=235973&r2=235974&view=diff ============================================================================== --- lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py (original) +++ lldb/trunk/test/tools/lldb-mi/variable/TestMiVar.py Tue Apr 28 05:03:55 2015 @@ -47,7 +47,7 @@ class MiVarTestCase(lldbmi_testcase.MiTe self.runCmd("-var-show-attributes var2") self.expect("\^done,status=\"editable\"") self.runCmd("-var-list-children var2") - self.expect("\^done,numchild=\"0\",children=\"\[\]\"") + self.expect("\^done,numchild=\"0\"") self.runCmd("-data-evaluate-expression \"g_MyVar=30\"") self.expect("\^done,value=\"30\"") self.runCmd("-var-update --all-values var2") @@ -67,7 +67,7 @@ class MiVarTestCase(lldbmi_testcase.MiTe self.runCmd("-var-show-attributes var3") self.expect("\^done,status=\"editable\"") self.runCmd("-var-list-children var3") - self.expect("\^done,numchild=\"0\",children=\"\[\]\"") + self.expect("\^done,numchild=\"0\"") self.runCmd("-data-evaluate-expression \"s_MyVar=3\"") self.expect("\^done,value=\"3\"") self.runCmd("-var-update --all-values var3") @@ -87,7 +87,7 @@ class MiVarTestCase(lldbmi_testcase.MiTe self.runCmd("-var-show-attributes var4") self.expect("\^done,status=\"editable\"") self.runCmd("-var-list-children var4") - self.expect("\^done,numchild=\"0\",children=\"\[\]\"") + self.expect("\^done,numchild=\"0\"") self.runCmd("-data-evaluate-expression \"b=2\"") self.expect("\^done,value=\"2\"") self.runCmd("-var-update --all-values var4") @@ -107,7 +107,7 @@ class MiVarTestCase(lldbmi_testcase.MiTe self.runCmd("-var-show-attributes var5") self.expect("\^done,status=\"editable\"") #FIXME editable or not? self.runCmd("-var-list-children var5") - self.expect("\^done,numchild=\"0\",children=\"\[\]\"") + self.expect("\^done,numchild=\"0\"") # Print argument "argv[0]" self.runCmd("-data-evaluate-expression \"argv[0]\"") Modified: lldb/trunk/tools/lldb-mi/MICmdCmdVar.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmdCmdVar.cpp?rev=235974&r1=235973&r2=235974&view=diff ============================================================================== --- lldb/trunk/tools/lldb-mi/MICmdCmdVar.cpp (original) +++ lldb/trunk/tools/lldb-mi/MICmdCmdVar.cpp Tue Apr 28 05:03:55 2015 @@ -1099,12 +1099,7 @@ CMICmdCmdVarListChildren::Acknowledge(vo CMICmnMIValueResult miValueResult("numchild", miValueConst); VecMIValueResult_t::const_iterator it = m_vecMiValueResult.begin(); - if (it == m_vecMiValueResult.end()) - { - const CMICmnMIValueConst miValueConst("[]"); - miValueResult.Add("children", miValueConst); - } - else + if (it != m_vecMiValueResult.end()) { CMICmnMIValueList miValueList(*it); ++it; _______________________________________________ lldb-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
