labath created this revision. labath added reviewers: JDevlieghere, clayborg, jingham.
Some of these were present in files which should never be read by swig (and we also had one in the interface file, which is only read by swig). They are probably leftovers from the time when we were running swig over lldb headers directly. The reason I'm putting this up for review is that the patch also contains mild functional changes. While writing this patch, I noticed that some of the #ifdefs were guarding public functions that were operating on lldb_private data types. While it wasn't strictly necessary, I made these private, as nobody should really be accessing them. This can potentially break existing code if it happened to use these methods, though it will only break at build time -- if someone builds against an old header, he should still be able to link to a new lldb library, since the functions are still there. We could keep these public for backward compatbility, but I would argue that if anyone was actually using these functions for anything, his code is already broken. https://reviews.llvm.org/D60400 Files: include/lldb/API/SBDefines.h include/lldb/API/SBThread.h include/lldb/API/SBThreadPlan.h include/lldb/Core/Address.h include/lldb/Core/SourceManager.h include/lldb/Target/Process.h scripts/interface/SBFrame.i source/API/SBThread.cpp source/API/SBThreadPlan.cpp
Index: source/API/SBThreadPlan.cpp =================================================================== --- source/API/SBThreadPlan.cpp +++ source/API/SBThreadPlan.cpp @@ -89,11 +89,7 @@ //---------------------------------------------------------------------- SBThreadPlan::~SBThreadPlan() {} -lldb_private::ThreadPlan *SBThreadPlan::get() { - LLDB_RECORD_METHOD_NO_ARGS(lldb_private::ThreadPlan *, SBThreadPlan, get); - - return LLDB_RECORD_RESULT(m_opaque_sp.get()); -} +lldb_private::ThreadPlan *SBThreadPlan::get() { return m_opaque_sp.get(); } bool SBThreadPlan::IsValid() const { LLDB_RECORD_METHOD_CONST_NO_ARGS(bool, SBThreadPlan, IsValid); @@ -402,7 +398,6 @@ LLDB_REGISTER_CONSTRUCTOR(SBThreadPlan, (lldb::SBThread &, const char *)); LLDB_REGISTER_METHOD(const lldb::SBThreadPlan &, SBThreadPlan, operator=,(const lldb::SBThreadPlan &)); - LLDB_REGISTER_METHOD(lldb_private::ThreadPlan *, SBThreadPlan, get, ()); LLDB_REGISTER_METHOD_CONST(bool, SBThreadPlan, IsValid, ()); LLDB_REGISTER_METHOD_CONST(bool, SBThreadPlan, operator bool, ()); LLDB_REGISTER_METHOD(void, SBThreadPlan, Clear, ()); Index: source/API/SBThread.cpp =================================================================== --- source/API/SBThread.cpp +++ source/API/SBThread.cpp @@ -1398,21 +1398,11 @@ } lldb_private::Thread *SBThread::operator->() { - LLDB_RECORD_METHOD_NO_ARGS(lldb_private::Thread *, SBThread, operator->); - - ThreadSP thread_sp(m_opaque_sp->GetThreadSP()); - if (thread_sp) - return LLDB_RECORD_RESULT(thread_sp.get()); - return nullptr; + return get(); } lldb_private::Thread *SBThread::get() { - LLDB_RECORD_METHOD_NO_ARGS(lldb_private::Thread *, SBThread, get); - - ThreadSP thread_sp(m_opaque_sp->GetThreadSP()); - if (thread_sp) - return LLDB_RECORD_RESULT(thread_sp.get()); - return nullptr; + return m_opaque_sp->GetThreadSP().get(); } namespace lldb_private { @@ -1516,8 +1506,6 @@ LLDB_REGISTER_METHOD(lldb::SBThread, SBThread, GetCurrentExceptionBacktrace, ()); LLDB_REGISTER_METHOD(bool, SBThread, SafeToCallFunctions, ()); - LLDB_REGISTER_METHOD(lldb_private::Thread *, SBThread, operator->,()); - LLDB_REGISTER_METHOD(lldb_private::Thread *, SBThread, get, ()); } } Index: scripts/interface/SBFrame.i =================================================================== --- scripts/interface/SBFrame.i +++ scripts/interface/SBFrame.i @@ -210,15 +210,12 @@ void Clear(); -#ifndef SWIG bool operator == (const lldb::SBFrame &rhs) const; bool operator != (const lldb::SBFrame &rhs) const; -#endif - %feature("docstring", " /// The version that doesn't supply a 'use_dynamic' value will use the /// target's default. Index: include/lldb/Target/Process.h =================================================================== --- include/lldb/Target/Process.h +++ include/lldb/Target/Process.h @@ -418,7 +418,6 @@ /// \see RegisterNotificationCallbacks (const Notifications&) @see /// UnregisterNotificationCallbacks (const Notifications&) //------------------------------------------------------------------ -#ifndef SWIG typedef struct { void *baton; void (*initialize)(void *baton, Process *process); @@ -503,7 +502,6 @@ DISALLOW_COPY_AND_ASSIGN(ProcessEventData); }; -#endif // SWIG //------------------------------------------------------------------ /// Construct with a shared pointer to a target, and the Process listener. @@ -824,9 +822,7 @@ /// /// \see Process::Notifications //------------------------------------------------------------------ -#ifndef SWIG void RegisterNotificationCallbacks(const Process::Notifications &callbacks); -#endif //------------------------------------------------------------------ /// Unregister for process and thread notifications. @@ -844,9 +840,7 @@ /// /// \see Process::Notifications //------------------------------------------------------------------ -#ifndef SWIG bool UnregisterNotificationCallbacks(const Process::Notifications &callbacks); -#endif //================================================================== // Built in Process Control functions Index: include/lldb/Core/SourceManager.h =================================================================== --- include/lldb/Core/SourceManager.h +++ include/lldb/Core/SourceManager.h @@ -39,7 +39,6 @@ class SourceManager { public: -#ifndef SWIG class File { friend bool operator==(const SourceManager::File &lhs, const SourceManager::File &rhs); @@ -99,11 +98,9 @@ private: void CommonInitializer(const FileSpec &file_spec, Target *target); }; -#endif // SWIG typedef std::shared_ptr<File> FileSP; -#ifndef SWIG // The SourceFileCache class separates the source manager from the cache of // source files, so the cache can be stored in the Debugger, but the source // managers can be per target. @@ -119,7 +116,6 @@ typedef std::map<FileSpec, FileSP> FileCache; FileCache m_file_cache; }; -#endif // SWIG //------------------------------------------------------------------ // Constructors and Destructors Index: include/lldb/Core/Address.h =================================================================== --- include/lldb/Core/Address.h +++ include/lldb/Core/Address.h @@ -194,9 +194,7 @@ /// \return /// A const Address object reference to \a this. //------------------------------------------------------------------ -#ifndef SWIG const Address &operator=(const Address &rhs); -#endif //------------------------------------------------------------------ /// Clear the object's state. Index: include/lldb/API/SBThreadPlan.h =================================================================== --- include/lldb/API/SBThreadPlan.h +++ include/lldb/API/SBThreadPlan.h @@ -103,11 +103,7 @@ SBThreadPlan QueueThreadPlanForStepScripted(const char *script_class_name, SBError &error); -#ifndef SWIG - lldb_private::ThreadPlan *get(); -#endif - -protected: +private: friend class SBBreakpoint; friend class SBBreakpointLocation; friend class SBFrame; @@ -117,11 +113,9 @@ friend class lldb_private::QueueImpl; friend class SBQueueItem; -#ifndef SWIG + lldb_private::ThreadPlan *get(); void SetThreadPlan(const lldb::ThreadPlanSP &lldb_object_sp); -#endif -private: lldb::ThreadPlanSP m_opaque_sp; }; Index: include/lldb/API/SBThread.h =================================================================== --- include/lldb/API/SBThread.h +++ include/lldb/API/SBThread.h @@ -205,14 +205,7 @@ bool SafeToCallFunctions(); -#ifndef SWIG - lldb_private::Thread *operator->(); - - lldb_private::Thread *get(); - -#endif - -protected: +private: friend class SBBreakpoint; friend class SBBreakpointLocation; friend class SBBreakpointCallbackBaton; @@ -223,16 +216,18 @@ friend class SBValue; friend class lldb_private::QueueImpl; friend class SBQueueItem; + friend class SBThreadPlan; void SetThread(const lldb::ThreadSP &lldb_object_sp); -#ifndef SWIG SBError ResumeNewPlan(lldb_private::ExecutionContext &exe_ctx, lldb_private::ThreadPlan *new_plan); -#endif -private: lldb::ExecutionContextRefSP m_opaque_sp; + + lldb_private::Thread *operator->(); + + lldb_private::Thread *get(); }; } // namespace lldb Index: include/lldb/API/SBDefines.h =================================================================== --- include/lldb/API/SBDefines.h +++ include/lldb/API/SBDefines.h @@ -16,10 +16,6 @@ #include "lldb/lldb-types.h" #include "lldb/lldb-versioning.h" -#ifdef SWIG -#define LLDB_API -#endif - // Forward Declarations namespace lldb {
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits