[Lldb-commits] [PATCH] D56126: [NativePDB] Add basic support of methods recostruction in AST

Aleksandr Urakov via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Dec 28 04:23:47 PST 2018


aleksandr.urakov created this revision.
aleksandr.urakov added reviewers: zturner, labath, lemo, stella.stamenova.
aleksandr.urakov added a project: LLDB.
Herald added subscribers: lldb-commits, teemperor, abidh.

This patch adds the basic support of methods reconstruction by native PDB plugin. It contains only most obvious changes (it processes `LF_ONEMETHOD` and `LF_METHOD` records), some things still remain unsolved:

- mangled names retrieving;
- support of template methods (they are not presented as `LF_ONEMETHOD` records at all).

This info is contained in the `Symbols` stream, not in the `TPI` stream. As far as I understand, we can't find in a simple way the link between a `LF_ONEMETHOD` record and a corresponding `S_GPROC32` record. I think it's the place, where we need to use the approach similar to D54053 <https://reviews.llvm.org/D54053> (to parse mangled names and to build some part of AST based on this info). That's what I'm planning to implement next. Do you have any objections on this? Or may be there's a better way to solve this?


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D56126

Files:
  lit/SymbolFile/NativePDB/Inputs/ast-methods.lldbinit
  lit/SymbolFile/NativePDB/ast-methods.cpp
  source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
  source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
  source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
  source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56126.179619.patch
Type: text/x-patch
Size: 7318 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20181228/fe643ad2/attachment-0001.bin>


More information about the lldb-commits mailing list