mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 17:05:26 +02:00
Mirror of https://github.com/eclipse-cdt/cdt
![]() The existing PDOMBinding and PDOMName implementations do not allow references between linkages. This feature is needed so that the new Qt linkage can reference elements in the C++ linkage. It will also allow the C++ implementation for extern "C" to be cleaned up (see PDOM.getCrossLanguageBindings). Prior to this change, a PDOMBinding held three lists of names. One for each of declarations, definitions, and references. This change adds a fourth list for external references. External references are stored as a linked list of nodes. Each node holds: - The linkage id. - A pointer to the next node (or 0 for end-of-list). - A pointer to the record of first name in the list. The linkage id is held separately because a PDOMName does not have any field of it's own for linkage. By grouping elements in this way, we can reuse most of the existing list-related code. External references are accessed through a new PDOMIterator class. This is needed so that we can advance to the next linkage node when we get to the end of one node's list of names. This also adds a unit test for the new API. Change-Id: Ie2b14848db7409905beda0cec752080d5f42eec8 Signed-off-by: Andrew Eidsness <eclipse@jfront.com> Reviewed-on: https://git.eclipse.org/r/18979 Tested-by: Hudson CI Reviewed-by: Doug Schaefer <dschaefer@qnx.com> IP-Clean: Doug Schaefer <dschaefer@qnx.com> |
||
---|---|---|
build | ||
codan | ||
core | ||
cross | ||
debug | ||
doc | ||
dsf | ||
dsf-gdb | ||
jtag | ||
launch/org.eclipse.cdt.launch | ||
llvm | ||
lrparser | ||
memory | ||
p2 | ||
qt | ||
releng | ||
testsrunner | ||
upc | ||
util | ||
visualizer | ||
windows | ||
xlc | ||
.gitignore | ||
pom.xml |