[Lldb-commits] [PATCH] D97307: [lldb][NFC] Extract ValueObject's expression path parsing into own class

Raphael Isemann via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Feb 23 09:39:55 PST 2021


teemperor created this revision.
teemperor added a reviewer: LLDB.
teemperor added a project: LLDB.
Herald added subscribers: JDevlieghere, mgorny.
teemperor requested review of this revision.

A large chunk of the `ValueObject` implementation is the hand-written expression path parser
and nearly all of the enums in the class are just concerned with expression paths. The `ValueObject`
code could be far more concise if we had all the parsing logic in its own file/class. I also want to
merge the tab-completion parser for expression paths (which is currently its own separate implementation
in `Variable.cpp`) into the normal parser which is less awkward if the parser wasn't just an implementation
detail of ValueObject.

As I anyway had to touch all the enums I changed them to scoped enums.


https://reviews.llvm.org/D97307

Files:
  lldb/include/lldb/Core/ExpressionPath.h
  lldb/include/lldb/Core/ValueObject.h
  lldb/include/lldb/Core/ValueObjectRegister.h
  lldb/source/Commands/CommandObjectFrame.cpp
  lldb/source/Core/CMakeLists.txt
  lldb/source/Core/ExpressionPath.cpp
  lldb/source/Core/FormatEntity.cpp
  lldb/source/Core/ValueObject.cpp
  lldb/source/Core/ValueObjectRegister.cpp
  lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
  lldb/source/Target/Process.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97307.325815.patch
Type: text/x-patch
Size: 70272 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210223/919f6c30/attachment-0001.bin>


More information about the lldb-commits mailing list