Revision 879201

Go back to digest for 9th November 2008

Features in Development Tools

David Nolden committed changes in /trunk/KDE/kdevplatform/language:

- Allow statically overriding the TopDUContext-features needed for a specific url, in ParseJob.
- Add a central function to ParsingEnvironment that determines whether the context needs to be updated due to not satisfied features of an import.

Enable intelligent use-searching that includes updating the duchain when required:
In the uses-widget: Collect all potential places where the use of a declaration can happen using the duchain include-structure, compute all files that need to be built/updated with complete use-information, and query an update of those files.
Once the update is ready, add the uses to the widget.

This only requires the simple processing enabled by "Full project parsing" to enable quite reliable use-computation across all loaded projects now. This btw. has nothing in common with a simple "grep", but is based on semantic language understanding.

Warning: This is quite slow when you use it on a very central declaration like QDialog..

File Changes

Modified 13 files
  • /trunk/KDE/kdevplatform/language
  •   /backgroundparser/parsejob.cpp
  •   /backgroundparser/parsejob.h
  •   /duchain/duchain.cpp
  •   /duchain/duchainutils.cpp
  •   /duchain/duchainutils.h
  •   /duchain/parsingenvironment.cpp
  •   /duchain/parsingenvironment.h
  •   /duchain/topducontext.cpp
  •   /duchain/topducontext.h
  •   /editor/modificationrevision.cpp
  •   /duchain/builders/abstractcontextbuilder.h
  •   /duchain/navigation/useswidget.cpp
  •   /duchain/navigation/useswidget.h
13 files changed in total