llvm-project/lldb
Pavel Labath 4eda12aea5 Move postfix expression code out of the NativePDB plugin
Summary:
The NativePDB plugin contains code to convert "programs" describing the
layout of function frames into dwarf (for easier interaction with the
rest of lldb). This functionality is useful for the Breakpad plugin too,
as it contains the same kind of expressions (because breakpad info is
generated from pdb files).

In this patch, I move the core classes of this code into a common place,
where it can be used from both files. Previously, these were the details
of the implementation, but here I am exposing them (instead of just a
single "string->string" conversion function), as breakpad will need to
use these in a slightly different way. The reason for that is that
breakpad files generated from dwarf expressions use a slightly different
syntax, although most of the core code can be reused with a bit of
thought.

This is also the reason why I am not moving the parsing or dwarf
generation bits, as they will need to be generalized a bit before
they're usable for both scenarios.

This patch should be NFC, modulo renaming the moved entities to more
neutral names.

The reason I am moving this to the "Symbol" library, is because both
customers will be "Symbol"Files, and also the unwinding code lives in
the Symbol library. From a purely dependency standpoint this code will
probably be standalone, and so it could be moved all the way to Utility,
but that seems too low for this kind of functionality.

Reviewers: jasonmolenda, amccarth, clayborg, JDevlieghere, aleksandr.urakov

Subscribers: aprantl, markmentovai, lldb-commits

Differential Revision: https://reviews.llvm.org/D60599

llvm-svn: 358976
2019-04-23 11:50:07 +00:00
..
cmake [CMake] Remove Apple-specific version logic. 2019-04-17 18:23:22 +00:00
docs [Docs] Move API docs to the front page 2019-04-22 22:41:55 +00:00
examples [Python] Simplify the code. NFCI. 2019-04-18 23:24:54 +00:00
include/lldb Move postfix expression code out of the NativePDB plugin 2019-04-23 11:50:07 +00:00
lit FuncUnwinders: remove "current_offset" from function arguments 2019-04-23 09:57:14 +00:00
lldb.xcodeproj [Platform] Remove Kalimba Platform 2019-03-27 16:23:50 +00:00
lldb.xcworkspace Remove accidentally commited file in xcshareddata 2019-02-05 23:35:01 +00:00
packages/Python/lldbsuite yamlify TestMiniDumpUUID binaries 2019-04-23 08:49:39 +00:00
resources [CMake] Revised LLDB.framework builds 2019-01-04 12:46:50 +00:00
scripts modify-python-lldb: Remove \a-removing code 2019-04-23 10:04:22 +00:00
source Move postfix expression code out of the NativePDB plugin 2019-04-23 11:50:07 +00:00
test [CMake] Make lldb-test-deps a dependency of check-lldb 2019-02-13 20:51:13 +00:00
third_party/Python/module [lldb/thirdparty] Remove unneeded files, asked by Jonas. 2019-03-12 20:41:36 +00:00
tools [tools] Only build lldb-test when needed. 2019-04-16 21:56:07 +00:00
unittests [EditLineTest] Not always TERM is available, e.g. on some bots. 2019-04-22 20:27:10 +00:00
utils [lldb-dotest] Print dotest.py invocation. 2019-04-03 01:26:38 +00:00
www Don't abort() in lldb_assert and document why. 2019-03-29 16:12:27 +00:00
.arcconfig
.clang-format
.gitignore Add .noindex to the gitignore 2019-04-05 17:57:42 +00:00
CMakeLists.txt [Cmake] Add missing dependency for running tests. 2019-04-17 23:43:01 +00:00
CODE_OWNERS.txt Fix/unify the spelling of Objective-C. 2018-06-13 16:21:24 +00:00
INSTALL.txt Changed builld-llvm.py to use .json files 2017-02-23 02:21:34 +00:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
use_lldb_suite_root.py