clayborg added inline comments.

================
Comment at: tools/lldb-mi/MICmdCmdVar.cpp:525-526
+    // Don't go down into pointers or references, to avoid a loop
+    lldb::SBType valueType = member.GetType();
+    if (!valueType.IsPointerType() && !valueType.IsReferenceType())
+      if (ExamineSBValueForChange(member, vrwbChanged) && vrwbChanged)
----------------
Better to keep this to 1 API call by using "uint32_t SBValue::GetTypeFlags()". 
That call returns a bunch of type info bits that will be set from 
lldb::TypeFlags and it allows you to get all of the info you need on a type 
pretty quickly:

```
// Skip pointers and references to avoid infinite loop
if (member.GetType().GetTypeFlags() & (lldb::eTypeIsPointer | 
lldb::eTypeIsReference))
  continue;
```


https://reviews.llvm.org/D37154



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to