Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search


< CDT‎ | designs‎ | PDOM

At cdt.core startup time, the PDOM manager registers itself as a listener for CElement change events.

Each project has a PDOM. The actual PDOM database object is created when first referenced. If the database file doesn't exist, that is also created and initialized. A reference to the PDOM object is stored in a session property on the project. A utility method is provided to get access to it. The PDOM stays open until the project is closed or the workbench exits. (Q: What happens when it crashes?)

Each PDOM has an indexer. The indexer is called by the PDOM manager whenever it detects a possible change for the given project. This can be either through a change event, or a UI action. In the future, we may also add audits that run through the index checking for integrity and doing any "garbage collection" when the workbench is idle.

When the PDOM manager gets a change event, it visits the delta and farms off sub-trees to the appropriate indexers in the appropriate pdoms for the appropriate projects.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.