Author: adrian Date: Tue Aug 27 15:50:40 2019 New Revision: 370126 URL: http://llvm.org/viewvc/llvm-project?rev=370126&view=rev Log: Revert "[lldb] Move redundant persistent variable counter to ClangPersistentVariables"
This reverts commit r367842 since it wasn't quite as NFC as advertised and broke Swift support. See https://reviews.llvm.org/D46083 for the rationale behind the original functionality. rdar://problem/54619322 Modified: lldb/trunk/include/lldb/Expression/ExpressionVariable.h lldb/trunk/include/lldb/Target/Target.h lldb/trunk/source/Expression/ExpressionVariable.cpp lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h Modified: lldb/trunk/include/lldb/Expression/ExpressionVariable.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Expression/ExpressionVariable.h?rev=370126&r1=370125&r2=370126&view=diff ============================================================================== --- lldb/trunk/include/lldb/Expression/ExpressionVariable.h (original) +++ lldb/trunk/include/lldb/Expression/ExpressionVariable.h Tue Aug 27 15:50:40 2019 @@ -223,8 +223,8 @@ public: uint32_t addr_byte_size) = 0; /// Return a new persistent variable name with the specified prefix. - virtual ConstString GetNextPersistentVariableName(Target &target, - llvm::StringRef prefix) = 0; + ConstString GetNextPersistentVariableName(Target &target, + llvm::StringRef prefix); virtual llvm::StringRef GetPersistentVariablePrefix(bool is_error = false) const = 0; Modified: lldb/trunk/include/lldb/Target/Target.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Target.h?rev=370126&r1=370125&r2=370126&view=diff ============================================================================== --- lldb/trunk/include/lldb/Target/Target.h (original) +++ lldb/trunk/include/lldb/Target/Target.h Tue Aug 27 15:50:40 2019 @@ -1106,6 +1106,11 @@ public: lldb::ExpressionVariableSP GetPersistentVariable(ConstString name); + /// Return the next available number for numbered persistent variables. + unsigned GetNextPersistentVariableIndex() { + return m_next_persistent_variable_index++; + } + lldb::addr_t GetPersistentSymbol(ConstString name); /// This method will return the address of the starting function for @@ -1315,6 +1320,7 @@ protected: bool m_valid; bool m_suppress_stop_hooks; bool m_is_dummy_target; + unsigned m_next_persistent_variable_index = 0; static void ImageSearchPathsChanged(const PathMappingList &path_list, void *baton); Modified: lldb/trunk/source/Expression/ExpressionVariable.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ExpressionVariable.cpp?rev=370126&r1=370125&r2=370126&view=diff ============================================================================== --- lldb/trunk/source/Expression/ExpressionVariable.cpp (original) +++ lldb/trunk/source/Expression/ExpressionVariable.cpp Tue Aug 27 15:50:40 2019 @@ -76,3 +76,13 @@ void PersistentExpressionState::Register } } } + +ConstString PersistentExpressionState::GetNextPersistentVariableName( + Target &target, llvm::StringRef Prefix) { + llvm::SmallString<64> name; + { + llvm::raw_svector_ostream os(name); + os << Prefix << target.GetNextPersistentVariableIndex(); + } + return ConstString(name); +} Modified: lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h?rev=370126&r1=370125&r2=370126&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h (original) +++ lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h Tue Aug 27 15:50:40 2019 @@ -46,16 +46,6 @@ public: void RemovePersistentVariable(lldb::ExpressionVariableSP variable) override; - ConstString GetNextPersistentVariableName(Target &target, - llvm::StringRef prefix) override { - llvm::SmallString<64> name; - { - llvm::raw_svector_ostream os(name); - os << prefix << m_next_persistent_variable_id++; - } - return ConstString(name); - } - llvm::StringRef GetPersistentVariablePrefix(bool is_error) const override { return "$"; } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits