1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 17:05:26 +02:00
Find a file
Andrew Eidsness f887c8e671 Bug 422681: Allow references to bindings in other linkages
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>
2013-11-27 19:56:03 -05:00
build Bug 322168: source files with specific settings disable secondary 2013-11-02 16:03:37 -04:00
codan Fixed an NPE during shutdown. 2013-10-09 09:37:03 -07:00
core Bug 422681: Allow references to bindings in other linkages 2013-11-27 19:56:03 -05:00
cross bug 420287: CDT features are scattered around in update manager 2013-10-24 11:11:58 -04:00
debug Updated version of o.e.cdt.debug.core 2013-11-26 14:46:59 -05:00
doc Bug 412380 Documentation for "Skip trivial initializer" flag. 2013-09-27 09:51:23 -04:00
dsf Bug 420604 - Disassembly view tends to scroll upwards on refresh 2013-11-05 15:03:29 +01:00
dsf-gdb Bug 413483 - Protect agains NPE if endianness is not initialized 2013-11-26 13:43:17 -05:00
jtag Update plugin version and @since tag 2013-09-16 14:15:45 -04:00
launch/org.eclipse.cdt.launch Fixed parent pom version to reference 2013-08-27 15:16:24 -04:00
llvm bug 420287: CDT features are scattered around in update manager 2013-10-24 11:11:58 -04:00
lrparser bug 420287: CDT features are scattered around in update manager 2013-10-24 11:11:58 -04:00
memory Bug 416391 - NullPointerException in FPRendering when adding in Mem view 2013-09-06 19:44:22 -04:00
p2 bug 420287: CDT features are scattered around in update manager 2013-10-24 11:11:58 -04:00
qt Fixed parent pom version to reference 2013-08-27 15:16:24 -04:00
releng Updated version of the branding plug-in to match the feature version. 2013-11-25 10:47:59 -08:00
testsrunner Fixed parent pom version to reference 2013-08-27 15:16:24 -04:00
upc Bug 421247 - ASTNode.copy() chaining inconsistent 2013-11-25 21:37:10 -05:00
util bug 420287: CDT features are scattered around in update manager 2013-10-24 11:11:58 -04:00
visualizer bug 420287: CDT features are scattered around in update manager 2013-10-24 11:11:58 -04:00
windows bug 420287: CDT features are scattered around in update manager 2013-10-24 12:50:54 -04:00
xlc Bug 421247 - ASTNode.copy() chaining inconsistent 2013-11-25 21:37:10 -05:00
.gitignore Ignore NFS-created files. 2012-11-08 13:34:54 -08:00
pom.xml Bug 419983: Add a testing update site that contains the testing feature 2013-11-13 09:36:08 -05:00