| Summary: | change PDOM binding records to be constructed from binding objects not the AST | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Andrew Ferguson <andrew.ferguson> | ||||
| Component: | cdt-core | Assignee: | Project Inbox <cdt-core-inbox> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | cdtdoug, mschorn.eclipse | ||||
| Version: | 4.0 | ||||||
| Target Milestone: | 4.0 M5 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 2000 | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Andrew Ferguson
I don't see a problem with that. Created attachment 52729 [details]
have pdom records constructed from bindings, rather than AST information
please find attached a patch for making these changes. I've re-run the unit tests and they are all passing. I've returned the overloadesWithinCommonHeader tests to be non-failing.
This patch is enough to partially address out-of-order name addition to the pdom. You can divide out-of-order name addition in to two parts
(i) out-of-order within a contributing-part of a translation unit (i.e. dividing the final TU into its source and header parts)
(ii) out-of-order between contributing-parts (but in AST occurrence order within the contributing-parts)
This patch fixes (ii). For example, previously when a reference to a resolved function was used as the basis of constructing a PDOMCPPFunction object, since the AST context was not a declaration, parameter information was skipped. This meant that everytime that function was met (as a reference), the search would not find it and a new record was added to the pdom.
Thanks Andrew, I have applied the patch. fixed in 4.0 > 20061027 |