<div dir="ltr">Hi Enrico,<br><br>I had to revert this as it has been causing linker errors on our Windows bots since last Thursday.<br><div><br></div><div><a href="http://lab.llvm.org:8011/builders/lldb-x86-win7-msvc/builds/725">http://lab.llvm.org:8011/builders/lldb-x86-win7-msvc/builds/725</a><br></div><div><br></div><div>There was a merge conflict with the xcode workspace, I hope I resolved it correctly. Sorry about this revert. I believe the bots sent out failure messages, but please let me know if you did not receive one for whatever reason.</div></div><br><div class="gmail_quote">On Thu Feb 12 2015 at 3:24:04 PM Enrico Granata <<a href="mailto:egranata@apple.com">egranata@apple.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: enrico<br>
Date: Thu Feb 12 17:09:17 2015<br>
New Revision: 228975<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=228975&view=rev" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project?rev=228975&view=rev</a><br>
Log:<br>
I had recently added a new SBFrame::GetVariables() overload with yet another bool argument<br>
<br>
We talked about it internally - and came to the conclusion that it's time to have an options class<br>
<br>
This commit adds an SBVariablesOptions class and goes through all the required dance<br>
<br>
Added:<br>
lldb/trunk/include/lldb/API/<u></u>SBVariablesOptions.h<br>
lldb/trunk/scripts/Python/<u></u>interface/SBVariablesOptions.i<br>
lldb/trunk/source/API/<u></u>SBVariablesOptions.cpp<br>
Removed:<br>
lldb/trunk/test/<u></u>functionalities/data-<u></u>formatter/typedef_array/<u></u>Makefile<br>
Modified:<br>
lldb/trunk/include/lldb/API/<u></u>LLDB.h<br>
lldb/trunk/include/lldb/API/<u></u>SBDefines.h<br>
lldb/trunk/include/lldb/API/<u></u>SBFrame.h<br>
lldb/trunk/lldb.xcodeproj/<u></u>project.pbxproj<br>
lldb/trunk/scripts/Python/<u></u>build-swig-Python.sh<br>
lldb/trunk/scripts/Python/<u></u>interface/SBFrame.i<br>
lldb/trunk/scripts/lldb.swig<br>
lldb/trunk/source/API/<u></u>CMakeLists.txt<br>
lldb/trunk/source/API/SBFrame.<u></u>cpp<br>
<br>
Modified: lldb/trunk/include/lldb/API/<u></u>LLDB.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/API/LLDB.h?rev=228975&r1=228974&r2=228975&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/include/<u></u>lldb/API/LLDB.h?rev=228975&r1=<u></u>228974&r2=228975&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/include/lldb/API/<u></u>LLDB.h (original)<br>
+++ lldb/trunk/include/lldb/API/<u></u>LLDB.h Thu Feb 12 17:09:17 2015<br>
@@ -52,5 +52,6 @@<br>
#include "lldb/API/SBType.h"<br>
#include "lldb/API/SBValue.h"<br>
#include "lldb/API/SBValueList.h"<br>
+#include "lldb/API/SBVariablesOptions.<u></u>h"<br>
<br>
#endif // LLDB_LLDB_h_<br>
<br>
Modified: lldb/trunk/include/lldb/API/<u></u>SBDefines.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/API/SBDefines.h?rev=228975&r1=228974&r2=228975&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/include/<u></u>lldb/API/SBDefines.h?rev=<u></u>228975&r1=228974&r2=228975&<u></u>view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/include/lldb/API/<u></u>SBDefines.h (original)<br>
+++ lldb/trunk/include/lldb/API/<u></u>SBDefines.h Thu Feb 12 17:09:17 2015<br>
@@ -90,6 +90,7 @@ class LLDB_API SBTypeSynthetic;<br>
class LLDB_API SBTypeList;<br>
class LLDB_API SBValue;<br>
class LLDB_API SBValueList;<br>
+class LLDB_API SBVariablesOptions;<br>
class LLDB_API SBWatchpoint;<br>
class LLDB_API SBUnixSignals;<br>
<br>
<br>
Modified: lldb/trunk/include/lldb/API/<u></u>SBFrame.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/API/SBFrame.h?rev=228975&r1=228974&r2=228975&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/include/<u></u>lldb/API/SBFrame.h?rev=228975&<u></u>r1=228974&r2=228975&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/include/lldb/API/<u></u>SBFrame.h (original)<br>
+++ lldb/trunk/include/lldb/API/<u></u>SBFrame.h Thu Feb 12 17:09:17 2015<br>
@@ -157,12 +157,7 @@ public:<br>
lldb::DynamicValueType use_dynamic);<br>
<br>
lldb::SBValueList<br>
- GetVariables (bool arguments,<br>
- bool locals,<br>
- bool statics,<br>
- bool in_scope_only,<br>
- bool include_runtime_support_<u></u>values,<br>
- lldb::DynamicValueType use_dynamic);<br>
+ GetVariables (const lldb::SBVariablesOptions& options);<br>
<br>
lldb::SBValueList<br>
GetRegisters ();<br>
<br>
Added: lldb/trunk/include/lldb/API/<u></u>SBVariablesOptions.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/API/SBVariablesOptions.h?rev=228975&view=auto" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/include/<u></u>lldb/API/SBVariablesOptions.h?<u></u>rev=228975&view=auto</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/include/lldb/API/<u></u>SBVariablesOptions.h (added)<br>
+++ lldb/trunk/include/lldb/API/<u></u>SBVariablesOptions.h Thu Feb 12 17:09:17 2015<br>
@@ -0,0 +1,98 @@<br>
+//===-- SBVariablesOptions.h ------------------------------<u></u>------------*- C++ -*-===//<br>
+//<br>
+// The LLVM Compiler Infrastructure<br>
+//<br>
+// This file is distributed under the University of Illinois Open Source<br>
+// License. See LICENSE.TXT for details.<br>
+//<br>
+//===------------------------<u></u>------------------------------<u></u>----------------===//<br>
+<br>
+#ifndef LLDB_SBVariablesOptions_h_<br>
+#define LLDB_SBVariablesOptions_h_<br>
+<br>
+#include "lldb/API/SBDefines.h"<br>
+<br>
+class VariablesOptionsImpl;<br>
+<br>
+namespace lldb {<br>
+<br>
+class SBVariablesOptions<br>
+{<br>
+public:<br>
+ SBVariablesOptions ();<br>
+<br>
+ SBVariablesOptions (const SBVariablesOptions& options);<br>
+<br>
+ SBVariablesOptions&<br>
+ operator = (const SBVariablesOptions& options);<br>
+<br>
+ ~SBVariablesOptions ();<br>
+<br>
+ bool<br>
+ IsValid () const;<br>
+<br>
+ bool<br>
+ GetIncludeArguments () const;<br>
+<br>
+ void<br>
+ SetIncludeArguments (bool);<br>
+<br>
+ bool<br>
+ GetIncludeLocals () const;<br>
+<br>
+ void<br>
+ SetIncludeLocals (bool);<br>
+<br>
+ bool<br>
+ GetIncludeStatics () const;<br>
+<br>
+ void<br>
+ SetIncludeStatics (bool);<br>
+<br>
+ bool<br>
+ GetInScopeOnly () const;<br>
+<br>
+ void<br>
+ SetInScopeOnly (bool);<br>
+<br>
+ bool<br>
+ GetIncludeRuntimeSupportValues () const;<br>
+<br>
+ void<br>
+ SetIncludeRuntimeSupportValues (bool);<br>
+<br>
+ lldb::DynamicValueType<br>
+ GetUseDynamic () const;<br>
+<br>
+ void<br>
+ SetUseDynamic (lldb::DynamicValueType);<br>
+<br>
+protected:<br>
+ VariablesOptionsImpl *<br>
+ operator->();<br>
+<br>
+ const VariablesOptionsImpl *<br>
+ operator->() const;<br>
+<br>
+ VariablesOptionsImpl *<br>
+ get ();<br>
+<br>
+ VariablesOptionsImpl &<br>
+ ref();<br>
+<br>
+ const VariablesOptionsImpl &<br>
+ ref() const;<br>
+<br>
+ SBVariablesOptions (VariablesOptionsImpl *lldb_object_ptr);<br>
+<br>
+ void<br>
+ SetOptions (VariablesOptionsImpl *lldb_object_ptr);<br>
+<br>
+private:<br>
+<br>
+ std::unique_ptr<<u></u>VariablesOptionsImpl> m_opaque_ap;<br>
+};<br>
+<br>
+} // namespace lldb<br>
+<br>
+#endif // LLDB_SBValue_h_<br>
<br>
Modified: lldb/trunk/lldb.xcodeproj/<u></u>project.pbxproj<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/lldb.xcodeproj/project.pbxproj?rev=228975&r1=228974&r2=228975&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/lldb.<u></u>xcodeproj/project.pbxproj?rev=<u></u>228975&r1=228974&r2=228975&<u></u>view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/lldb.xcodeproj/<u></u>project.pbxproj (original)<br>
+++ lldb/trunk/lldb.xcodeproj/<u></u>project.pbxproj Thu Feb 12 17:09:17 2015<br>
@@ -765,6 +765,8 @@<br>
941BCC8014E48C4000BB969C /* SBTypeFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 9461568714E355F2003A195C /* SBTypeFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };<br>
941BCC8114E48C4000BB969C /* SBTypeSummary.h in Headers */ = {isa = PBXBuildFile; fileRef = 9461568814E355F2003A195C /* SBTypeSummary.h */; settings = {ATTRIBUTES = (Public, ); }; };<br>
941BCC8214E48C4000BB969C /* SBTypeSynthetic.h in Headers */ = {isa = PBXBuildFile; fileRef = 9461568914E355F2003A195C /* SBTypeSynthetic.h */; settings = {ATTRIBUTES = (Public, ); }; };<br>
+ 94235B9E1A8D667400EB2EED /* SBVariablesOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 94235B9B1A8D5FF300EB2EED /* SBVariablesOptions.cpp */; };<br>
+ 94235B9F1A8D66D600EB2EED /* SBVariablesOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 94235B9A1A8D5FD800EB2EED /* SBVariablesOptions.h */; settings = {ATTRIBUTES = (Public, ); }; };<br>
942829561A89614C00521B30 /* JSON.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 942829551A89614C00521B30 /* JSON.cpp */; };<br>
942829CC1A89839300521B30 /* liblldb-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2689FFCA13353D7A00698AC0 /* liblldb-core.a */; };<br>
942AFF0519F84ABF007B43B4 /* LibCxxVector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 942AFF0419F84ABF007B43B4 /* LibCxxVector.cpp */; };<br>
@@ -2400,6 +2402,9 @@<br>
940B04DE1A8986070045D5F7 /* libncurses.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libncurses.dylib; path = Platforms/MacOSX.platform/<u></u>Developer/SDKs/MacOSX10.10.<u></u>sdk/usr/lib/libncurses.dylib; sourceTree = DEVELOPER_DIR; };<br>
940B04E01A89860E0045D5F7 /* libedit.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libedit.dylib; path = Platforms/MacOSX.platform/<u></u>Developer/SDKs/MacOSX10.10.<u></u>sdk/usr/lib/libedit.dylib; sourceTree = DEVELOPER_DIR; };<br>
94145430175D7FDE00284436 /* lldb-versioning.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lldb-versioning.h"; path = "include/lldb/lldb-versioning.<u></u>h"; sourceTree = "<group>"; };<br>
+ 94235B9A1A8D5FD800EB2EED /* SBVariablesOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SBVariablesOptions.h; path = include/lldb/API/<u></u>SBVariablesOptions.h; sourceTree = "<group>"; };<br>
+ 94235B9B1A8D5FF300EB2EED /* SBVariablesOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SBVariablesOptions.cpp; path = source/API/SBVariablesOptions.<u></u>cpp; sourceTree = "<group>"; };<br>
+ 94235B9D1A8D601A00EB2EED /* SBVariablesOptions.i */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c.preprocessed; path = SBVariablesOptions.i; sourceTree = "<group>"; };<br>
942829541A89614000521B30 /* JSON.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JSON.h; path = include/lldb/Utility/JSON.h; sourceTree = "<group>"; };<br>
942829551A89614C00521B30 /* JSON.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSON.cpp; path = source/Utility/JSON.cpp; sourceTree = "<group>"; };<br>
942829C01A89835300521B30 /* argdumper */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = argdumper; sourceTree = BUILT_PRODUCTS_DIR; };<br>
@@ -3176,6 +3181,7 @@<br>
9461569514E3567F003A195C /* SBTypeSynthetic.i */,<br>
2611FF12142D83060017FEA3 /* SBValue.i */,<br>
2611FF13142D83060017FEA3 /* SBValueList.i */,<br>
+ 94235B9D1A8D601A00EB2EED /* SBVariablesOptions.i */,<br>
B2A5872514313B480092BFBA /* SBWatchpoint.i */,<br>
);<br>
name = interface;<br>
@@ -3194,8 +3200,6 @@<br>
262D3190111B4341004E6F88 /* API */ = {<br>
isa = PBXGroup;<br>
children = (<br>
- 254FBB961A81B03100BD6378 /* SBLaunchInfo.h */,<br>
- 254FBB941A81AA7F00BD6378 /* SBLaunchInfo.cpp */,<br>
2611FEEE142D83060017FEA3 /* interface */,<br>
26BC7C2510F1B3BC00F91463 /* lldb-defines.h */,<br>
26BC7C2610F1B3BC00F91463 /* lldb-enumerations.h */,<br>
@@ -3251,6 +3255,8 @@<br>
9AC703AE117675410086C050 /* SBInstruction.cpp */,<br>
9AC7038F117675270086C050 /* SBInstructionList.h */,<br>
9AC703B0117675490086C050 /* SBInstructionList.cpp */,<br>
+ 254FBB961A81B03100BD6378 /* SBLaunchInfo.h */,<br>
+ 254FBB941A81AA7F00BD6378 /* SBLaunchInfo.cpp */,<br>
26DE205811618FE700A093E2 /* SBLineEntry.h */,<br>
26DE20621161904200A093E2 /* SBLineEntry.cpp */,<br>
9A9831021125FC5800A56CB0 /* SBListener.h */,<br>
@@ -3311,6 +3317,8 @@<br>
9A19A6AD1163BB9800E0D453 /* SBValue.cpp */,<br>
9A357582116CFDEE00E8ED2F /* SBValueList.h */,<br>
9A35758D116CFE0F00E8ED2F /* SBValueList.cpp */,<br>
+ 94235B9A1A8D5FD800EB2EED /* SBVariablesOptions.h */,<br>
+ 94235B9B1A8D5FF300EB2EED /* SBVariablesOptions.cpp */,<br>
B2A58721143119810092BFBA /* SBWatchpoint.h */,<br>
B2A58723143119D50092BFBA /* SBWatchpoint.cpp */,<br>
);<br>
@@ -5214,6 +5222,7 @@<br>
26D265A2136B40EE002EEE45 /* SharingPtr.h in Headers */,<br>
26D265BC136B4269002EEE45 /* lldb-public.h in Headers */,<br>
4CE4F673162C971A00F75CB3 /* SBExpressionOptions.h in Headers */,<br>
+ 94235B9F1A8D66D600EB2EED /* SBVariablesOptions.h in Headers */,<br>
23EFE389193D1ABC00E54E54 /* SBTypeEnumMember.h in Headers */,<br>
);<br>
runOnlyForDeploymentPostproces<u></u>sing = 0;<br>
@@ -5813,6 +5822,7 @@<br>
9AC703AF117675410086C050 /* SBInstruction.cpp in Sources */,<br>
9AC703B1117675490086C050 /* SBInstructionList.cpp in Sources */,<br>
268F9D55123AA16600B91E9B /* SBSymbolContextList.cpp in Sources */,<br>
+ 94235B9E1A8D667400EB2EED /* SBVariablesOptions.cpp in Sources */,<br>
26C72C961243229A0068DC16 /* SBStream.cpp in Sources */,<br>
9443B122140C18C40013457C /* SBData.cpp in Sources */,<br>
4CF52AF8142829390051E832 /* SBFileSpecList.cpp in Sources */,<br>
<br>
Modified: lldb/trunk/scripts/Python/<u></u>build-swig-Python.sh<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/build-swig-Python.sh?rev=228975&r1=228974&r2=228975&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/scripts/<u></u>Python/build-swig-Python.sh?<u></u>rev=228975&r1=228974&r2=<u></u>228975&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/scripts/Python/<u></u>build-swig-Python.sh (original)<br>
+++ lldb/trunk/scripts/Python/<u></u>build-swig-Python.sh Thu Feb 12 17:09:17 2015<br>
@@ -126,6 +126,7 @@ HEADER_FILES="${SRC_ROOT}/<u></u>include/lldb/l<br>
" ${SRC_ROOT}/include/lldb/API/<u></u>SBTypeSynthetic.h"\<br>
" ${SRC_ROOT}/include/lldb/API/<u></u>SBValue.h"\<br>
" ${SRC_ROOT}/include/lldb/API/<u></u>SBValueList.h"\<br>
+" ${SRC_ROOT}/include/lldb/API/<u></u>SBVariablesOptions.h"\<br>
" ${SRC_ROOT}/include/lldb/API/<u></u>SBWatchpoint.h"\<br>
" ${SRC_ROOT}/include/lldb/API/<u></u>SBUnixSignals.h"<br>
<br>
@@ -178,6 +179,7 @@ INTERFACE_FILES="${SRC_ROOT}/<u></u>scripts/Pyt<br>
" ${SRC_ROOT}/scripts/Python/<u></u>interface/SBTypeSynthetic.i"\<br>
" ${SRC_ROOT}/scripts/Python/<u></u>interface/SBValue.i"\<br>
" ${SRC_ROOT}/scripts/Python/<u></u>interface/SBValueList.i"\<br>
+" ${SRC_ROOT}/scripts/Python/<u></u>interface/SBVariablesOptions.<u></u>i"\<br>
" ${SRC_ROOT}/scripts/Python/<u></u>interface/SBWatchpoint.i"\<br>
" ${SRC_ROOT}/scripts/Python/<u></u>interface/SBUnixSignals.i"<br>
<br>
<br>
Modified: lldb/trunk/scripts/Python/<u></u>interface/SBFrame.i<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/interface/SBFrame.i?rev=228975&r1=228974&r2=228975&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/scripts/<u></u>Python/interface/SBFrame.i?<u></u>rev=228975&r1=228974&r2=<u></u>228975&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/scripts/Python/<u></u>interface/SBFrame.i (original)<br>
+++ lldb/trunk/scripts/Python/<u></u>interface/SBFrame.i Thu Feb 12 17:09:17 2015<br>
@@ -199,12 +199,7 @@ public:<br>
lldb::DynamicValueType use_dynamic);<br>
<br>
lldb::SBValueList<br>
- GetVariables (bool arguments,<br>
- bool locals,<br>
- bool statics,<br>
- bool in_scope_only,<br>
- bool include_runtime_support_<u></u>values,<br>
- lldb::DynamicValueType use_dynamic);<br>
+ GetVariables (const lldb::SBVariablesOptions& options);<br>
<br>
lldb::SBValueList<br>
GetRegisters ();<br>
<br>
Added: lldb/trunk/scripts/Python/<u></u>interface/SBVariablesOptions.i<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/interface/SBVariablesOptions.i?rev=228975&view=auto" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/scripts/<u></u>Python/interface/<u></u>SBVariablesOptions.i?rev=<u></u>228975&view=auto</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/scripts/Python/<u></u>interface/SBVariablesOptions.i (added)<br>
+++ lldb/trunk/scripts/Python/<u></u>interface/SBVariablesOptions.i Thu Feb 12 17:09:17 2015<br>
@@ -0,0 +1,61 @@<br>
+//===-- SWIG Interface for SBVariablesOptions ----------------------*- C++ -*-===//<br>
+//<br>
+// The LLVM Compiler Infrastructure<br>
+//<br>
+// This file is distributed under the University of Illinois Open Source<br>
+// License. See LICENSE.TXT for details.<br>
+//<br>
+//===------------------------<u></u>------------------------------<u></u>----------------===//<br>
+<br>
+namespace lldb {<br>
+<br>
+class SBVariablesOptions<br>
+{<br>
+public:<br>
+ SBVariablesOptions ();<br>
+<br>
+ SBVariablesOptions (const SBVariablesOptions& options);<br>
+<br>
+ ~SBVariablesOptions ();<br>
+<br>
+ bool<br>
+ IsValid () const;<br>
+<br>
+ bool<br>
+ GetIncludeArguments () const;<br>
+<br>
+ void<br>
+ SetIncludeArguments (bool);<br>
+<br>
+ bool<br>
+ GetIncludeLocals () const;<br>
+<br>
+ void<br>
+ SetIncludeLocals (bool);<br>
+<br>
+ bool<br>
+ GetIncludeStatics () const;<br>
+<br>
+ void<br>
+ SetIncludeStatics (bool);<br>
+<br>
+ bool<br>
+ GetInScopeOnly () const;<br>
+<br>
+ void<br>
+ SetInScopeOnly (bool);<br>
+<br>
+ bool<br>
+ GetIncludeRuntimeSupportValues () const;<br>
+<br>
+ void<br>
+ SetIncludeRuntimeSupportValues (bool);<br>
+<br>
+ lldb::DynamicValueType<br>
+ GetUseDynamic () const;<br>
+<br>
+ void<br>
+ SetUseDynamic (lldb::DynamicValueType);<br>
+};<br>
+<br>
+} // namespace lldb<br>
<br>
Modified: lldb/trunk/scripts/lldb.swig<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/lldb.swig?rev=228975&r1=228974&r2=228975&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/scripts/<u></u>lldb.swig?rev=228975&r1=<u></u>228974&r2=228975&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/scripts/lldb.swig (original)<br>
+++ lldb/trunk/scripts/lldb.swig Thu Feb 12 17:09:17 2015<br>
@@ -105,6 +105,7 @@ import os<br>
#include "lldb/API/SBTypeSynthetic.h"<br>
#include "lldb/API/SBValue.h"<br>
#include "lldb/API/SBValueList.h"<br>
+#include "lldb/API/SBVariablesOptions.<u></u>h"<br>
#include "lldb/API/SBWatchpoint.h"<br>
#include "lldb/API/SBUnixSignals.h"<br>
<br>
@@ -180,6 +181,7 @@ import os<br>
%include "./Python/interface/<u></u>SBTypeSynthetic.i"<br>
%include "./Python/interface/SBValue.i"<br>
%include "./Python/interface/<u></u>SBValueList.i"<br>
+%include "./Python/interface/<u></u>SBVariablesOptions.i"<br>
%include "./Python/interface/<u></u>SBWatchpoint.i"<br>
%include "./Python/interface/<u></u>SBUnixSignals.i"<br>
<br>
<br>
Modified: lldb/trunk/source/API/<u></u>CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/CMakeLists.txt?rev=228975&r1=228974&r2=228975&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/source/API/<u></u>CMakeLists.txt?rev=228975&r1=<u></u>228974&r2=228975&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/source/API/<u></u>CMakeLists.txt (original)<br>
+++ lldb/trunk/source/API/<u></u>CMakeLists.txt Thu Feb 12 17:09:17 2015<br>
@@ -57,6 +57,7 @@ add_lldb_library(lldbAPI<br>
SBTypeSynthetic.cpp<br>
SBValue.cpp<br>
SBValueList.cpp<br>
+ SBVariablesOptions.cpp<br>
SBWatchpoint.cpp<br>
SBUnixSignals.cpp<br>
)<br>
<br>
Modified: lldb/trunk/source/API/SBFrame.<u></u>cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBFrame.cpp?rev=228975&r1=228974&r2=228975&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/source/API/<u></u>SBFrame.cpp?rev=228975&r1=<u></u>228974&r2=228975&view=diff</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/source/API/SBFrame.<u></u>cpp (original)<br>
+++ lldb/trunk/source/API/SBFrame.<u></u>cpp Thu Feb 12 17:09:17 2015<br>
@@ -44,6 +44,7 @@<br>
#include "lldb/API/SBStream.h"<br>
#include "lldb/API/SBSymbolContext.h"<br>
#include "lldb/API/SBThread.h"<br>
+#include "lldb/API/SBVariablesOptions.<u></u>h"<br>
<br>
using namespace lldb;<br>
using namespace lldb_private;<br>
@@ -1075,7 +1076,17 @@ SBFrame::GetVariables (bool arguments,<br>
if (frame && target)<br>
{<br>
lldb::DynamicValueType use_dynamic = frame->CalculateTarget()-><u></u>GetPreferDynamicValue();<br>
- value_list = GetVariables (arguments, locals, statics, in_scope_only, use_dynamic);<br>
+ const bool include_runtime_support_values = target ? target-><u></u>GetDisplayRuntimeSupportValues<u></u>() : false;<br>
+<br>
+ SBVariablesOptions options;<br>
+ options.SetIncludeArguments(<u></u>arguments);<br>
+ options.SetIncludeLocals(<u></u>locals);<br>
+ options.SetIncludeStatics(<u></u>statics);<br>
+ options.SetInScopeOnly(in_<u></u>scope_only);<br>
+ options.<u></u>SetIncludeRuntimeSupportValues<u></u>(include_runtime_support_<u></u>values);<br>
+ options.SetUseDynamic(use_<u></u>dynamic);<br>
+<br>
+ value_list = GetVariables (options);<br>
}<br>
return value_list;<br>
}<br>
@@ -1089,22 +1100,19 @@ SBFrame::GetVariables (bool arguments,<br>
{<br>
ExecutionContext exe_ctx(m_opaque_sp.get());<br>
Target *target = exe_ctx.GetTargetPtr();<br>
- bool include_runtime_support_values = target ? target-><u></u>GetDisplayRuntimeSupportValues<u></u>() : false;<br>
- return GetVariables(arguments,<br>
- locals,<br>
- statics,<br>
- in_scope_only,<br>
- include_runtime_support_<u></u>values,<br>
- use_dynamic);<br>
+ const bool include_runtime_support_values = target ? target-><u></u>GetDisplayRuntimeSupportValues<u></u>() : false;<br>
+ SBVariablesOptions options;<br>
+ options.SetIncludeArguments(<u></u>arguments);<br>
+ options.SetIncludeLocals(<u></u>locals);<br>
+ options.SetIncludeStatics(<u></u>statics);<br>
+ options.SetInScopeOnly(in_<u></u>scope_only);<br>
+ options.<u></u>SetIncludeRuntimeSupportValues<u></u>(include_runtime_support_<u></u>values);<br>
+ options.SetUseDynamic(use_<u></u>dynamic);<br>
+ return GetVariables(options);<br>
}<br>
<br>
SBValueList<br>
-SBFrame::GetVariables (bool arguments,<br>
- bool locals,<br>
- bool statics,<br>
- bool in_scope_only,<br>
- bool include_runtime_support_<u></u>values,<br>
- lldb::DynamicValueType use_dynamic)<br>
+SBFrame::GetVariables (const lldb::SBVariablesOptions& options)<br>
{<br>
Log *log(GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));<br>
<br>
@@ -1115,10 +1123,19 @@ SBFrame::GetVariables (bool arguments,<br>
StackFrame *frame = NULL;<br>
Target *target = exe_ctx.GetTargetPtr();<br>
<br>
+ const bool statics = options.GetIncludeStatics();<br>
+ const bool arguments = options.GetIncludeArguments();<br>
+ const bool locals = options.GetIncludeLocals();<br>
+ const bool in_scope_only = options.GetInScopeOnly();<br>
+ const bool include_runtime_support_values = options.<u></u>GetIncludeRuntimeSupportValues<u></u>();<br>
+ const lldb::DynamicValueType use_dynamic = options.GetUseDynamic();<br>
+<br>
if (log)<br>
- log->Printf ("SBFrame::GetVariables (arguments=%i, locals=%i, statics=%i, in_scope_only=%i)",<br>
- arguments, locals, statics, in_scope_only);<br>
-<br>
+ log->Printf ("SBFrame::GetVariables (arguments=%i, locals=%i, statics=%i, in_scope_only=%i runtime=%i dynamic=%i)",<br>
+ arguments, locals,<br>
+ statics, in_scope_only,<br>
+ include_runtime_support_<u></u>values, use_dynamic);<br>
+<br>
Process *process = exe_ctx.GetProcessPtr();<br>
if (target && process)<br>
{<br>
<br>
Added: lldb/trunk/source/API/<u></u>SBVariablesOptions.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBVariablesOptions.cpp?rev=228975&view=auto" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/source/API/<u></u>SBVariablesOptions.cpp?rev=<u></u>228975&view=auto</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/source/API/<u></u>SBVariablesOptions.cpp (added)<br>
+++ lldb/trunk/source/API/<u></u>SBVariablesOptions.cpp Thu Feb 12 17:09:17 2015<br>
@@ -0,0 +1,254 @@<br>
+//===-- SBVariablesOptions.cpp ------------------------------<u></u>--------*- C++ -*-===//<br>
+//<br>
+// The LLVM Compiler Infrastructure<br>
+//<br>
+// This file is distributed under the University of Illinois Open Source<br>
+// License. See LICENSE.TXT for details.<br>
+//<br>
+//===------------------------<u></u>------------------------------<u></u>----------------===//<br>
+<br>
+<br>
+#include "lldb/API/SBVariablesOptions.<u></u>h"<br>
+<br>
+using namespace lldb;<br>
+using namespace lldb_private;<br>
+<br>
+class VariablesOptionsImpl<br>
+{<br>
+public:<br>
+ VariablesOptionsImpl () :<br>
+ m_include_arguments(false),<br>
+ m_include_locals(false),<br>
+ m_include_statics(false),<br>
+ m_in_scope_only(false),<br>
+ m_include_runtime_support_<u></u>values(false),<br>
+ m_use_dynamic(lldb::<u></u>eNoDynamicValues)<br>
+ {}<br>
+<br>
+ VariablesOptionsImpl (const VariablesOptionsImpl&) = default;<br>
+<br>
+ ~VariablesOptionsImpl () = default;<br>
+<br>
+ VariablesOptionsImpl&<br>
+ operator = (const VariablesOptionsImpl&) = default;<br>
+<br>
+ bool<br>
+ GetIncludeArguments () const<br>
+ {<br>
+ return m_include_arguments;<br>
+ }<br>
+<br>
+ void<br>
+ SetIncludeArguments (bool b)<br>
+ {<br>
+ m_include_arguments = b;<br>
+ }<br>
+<br>
+ bool<br>
+ GetIncludeLocals () const<br>
+ {<br>
+ return m_include_locals;<br>
+ }<br>
+<br>
+ void<br>
+ SetIncludeLocals (bool b)<br>
+ {<br>
+ m_include_locals = b;<br>
+ }<br>
+<br>
+ bool<br>
+ GetIncludeStatics () const<br>
+ {<br>
+ return m_include_statics;<br>
+ }<br>
+<br>
+ void<br>
+ SetIncludeStatics (bool b)<br>
+ {<br>
+ m_include_statics = b;<br>
+ }<br>
+<br>
+ bool<br>
+ GetInScopeOnly () const<br>
+ {<br>
+ return m_in_scope_only;<br>
+ }<br>
+<br>
+ void<br>
+ SetInScopeOnly (bool b)<br>
+ {<br>
+ m_in_scope_only = b;<br>
+ }<br>
+<br>
+ bool<br>
+ GetIncludeRuntimeSupportValues () const<br>
+ {<br>
+ return m_include_runtime_support_<u></u>values;<br>
+ }<br>
+<br>
+ void<br>
+ SetIncludeRuntimeSupportValues (bool b)<br>
+ {<br>
+ m_include_runtime_support_<u></u>values = b;<br>
+ }<br>
+<br>
+ lldb::DynamicValueType<br>
+ GetUseDynamic () const<br>
+ {<br>
+ return m_use_dynamic;<br>
+ }<br>
+<br>
+ void<br>
+ SetUseDynamic (lldb::DynamicValueType d)<br>
+ {<br>
+ m_use_dynamic = d;<br>
+ }<br>
+<br>
+<br>
+private:<br>
+ bool m_include_arguments : 1;<br>
+ bool m_include_locals : 1;<br>
+ bool m_include_statics : 1;<br>
+ bool m_in_scope_only : 1;<br>
+ bool m_include_runtime_support_<u></u>values : 1;<br>
+ lldb::DynamicValueType m_use_dynamic;<br>
+};<br>
+<br>
+SBVariablesOptions::<u></u>SBVariablesOptions () :<br>
+m_opaque_ap(new VariablesOptionsImpl())<br>
+{<br>
+}<br>
+<br>
+SBVariablesOptions::<u></u>SBVariablesOptions (const SBVariablesOptions& options) :<br>
+m_opaque_ap(new VariablesOptionsImpl(options.<u></u>ref()))<br>
+{<br>
+}<br>
+<br>
+SBVariablesOptions&<br>
+SBVariablesOptions::operator = (const SBVariablesOptions& options)<br>
+{<br>
+ m_opaque_ap.reset(new VariablesOptionsImpl(options.<u></u>ref()));<br>
+ return *this;<br>
+}<br>
+<br>
+SBVariablesOptions::~<u></u>SBVariablesOptions () = default;<br>
+<br>
+bool<br>
+SBVariablesOptions::IsValid () const<br>
+{<br>
+ return m_opaque_ap.get() != nullptr;<br>
+}<br>
+<br>
+bool<br>
+SBVariablesOptions::<u></u>GetIncludeArguments () const<br>
+{<br>
+ return m_opaque_ap-><u></u>GetIncludeArguments();<br>
+}<br>
+<br>
+void<br>
+SBVariablesOptions::<u></u>SetIncludeArguments (bool arguments)<br>
+{<br>
+ m_opaque_ap-><u></u>SetIncludeArguments(arguments)<u></u>;<br>
+}<br>
+<br>
+bool<br>
+SBVariablesOptions::<u></u>GetIncludeLocals () const<br>
+{<br>
+ return m_opaque_ap->GetIncludeLocals(<u></u>);<br>
+}<br>
+<br>
+void<br>
+SBVariablesOptions::<u></u>SetIncludeLocals (bool locals)<br>
+{<br>
+ m_opaque_ap->SetIncludeLocals(<u></u>locals);<br>
+}<br>
+<br>
+bool<br>
+SBVariablesOptions::<u></u>GetIncludeStatics () const<br>
+{<br>
+ return m_opaque_ap-><u></u>GetIncludeStatics();<br>
+}<br>
+<br>
+void<br>
+SBVariablesOptions::<u></u>SetIncludeStatics (bool statics)<br>
+{<br>
+ m_opaque_ap-><u></u>SetIncludeStatics(statics);<br>
+}<br>
+<br>
+bool<br>
+SBVariablesOptions::<u></u>GetInScopeOnly () const<br>
+{<br>
+ return m_opaque_ap->GetInScopeOnly();<br>
+}<br>
+<br>
+void<br>
+SBVariablesOptions::<u></u>SetInScopeOnly (bool in_scope_only)<br>
+{<br>
+ m_opaque_ap->SetInScopeOnly(<u></u>in_scope_only);<br>
+}<br>
+<br>
+bool<br>
+SBVariablesOptions::<u></u>GetIncludeRuntimeSupportValues () const<br>
+{<br>
+ return m_opaque_ap-><u></u>GetIncludeRuntimeSupportValues<u></u>();<br>
+}<br>
+<br>
+void<br>
+SBVariablesOptions::<u></u>SetIncludeRuntimeSupportValues (bool runtime_support_values)<br>
+{<br>
+ m_opaque_ap-><u></u>SetIncludeRuntimeSupportValues<u></u>(runtime_support_values);<br>
+}<br>
+<br>
+lldb::DynamicValueType<br>
+SBVariablesOptions::<u></u>GetUseDynamic () const<br>
+{<br>
+ return m_opaque_ap->GetUseDynamic();<br>
+}<br>
+<br>
+void<br>
+SBVariablesOptions::<u></u>SetUseDynamic (lldb::DynamicValueType dynamic)<br>
+{<br>
+ m_opaque_ap->SetUseDynamic(<u></u>dynamic);<br>
+}<br>
+<br>
+VariablesOptionsImpl *<br>
+SBVariablesOptions::operator-<u></u>>()<br>
+{<br>
+ return m_opaque_ap.operator->();<br>
+}<br>
+<br>
+const VariablesOptionsImpl *<br>
+SBVariablesOptions::operator-<u></u>>() const<br>
+{<br>
+ return m_opaque_ap.operator->();<br>
+}<br>
+<br>
+VariablesOptionsImpl *<br>
+SBVariablesOptions::get ()<br>
+{<br>
+ return m_opaque_ap.get();<br>
+}<br>
+<br>
+VariablesOptionsImpl &<br>
+SBVariablesOptions::ref()<br>
+{<br>
+ return *m_opaque_ap;<br>
+}<br>
+<br>
+const VariablesOptionsImpl &<br>
+SBVariablesOptions::ref() const<br>
+{<br>
+ return *m_opaque_ap;<br>
+}<br>
+<br>
+SBVariablesOptions::<u></u>SBVariablesOptions (VariablesOptionsImpl *lldb_object_ptr) :<br>
+m_opaque_ap(std::move(lldb_<u></u>object_ptr))<br>
+{<br>
+}<br>
+<br>
+void<br>
+SBVariablesOptions::<u></u>SetOptions (VariablesOptionsImpl *lldb_object_ptr)<br>
+{<br>
+ m_opaque_ap.reset(std::move(<u></u>lldb_object_ptr));<br>
+}<br>
+<br>
<br>
Removed: lldb/trunk/test/<u></u>functionalities/data-<u></u>formatter/typedef_array/<u></u>Makefile<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/data-formatter/typedef_array/Makefile?rev=228974&view=auto" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/test/<u></u>functionalities/data-<u></u>formatter/typedef_array/<u></u>Makefile?rev=228974&view=auto</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/test/<u></u>functionalities/data-<u></u>formatter/typedef_array/<u></u>Makefile (original)<br>
+++ lldb/trunk/test/<u></u>functionalities/data-<u></u>formatter/typedef_array/<u></u>Makefile (removed)<br>
@@ -1,4 +0,0 @@<br>
-LEVEL = ../../../make<br>
-CXX_SOURCES := main.cpp<br>
-CXXFLAGS += -std=c++11<br>
-include $(LEVEL)/Makefile.rules<br>
<br>
<br>
______________________________<u></u>_________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank">lldb-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/lldb-commits</a><br>
</blockquote></div>