Revision 827885

Go back to digest for 6th July 2008

Features in Development Tools

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

Tadaa: A completely functional disk-compatible unique type-repository.

The type-repository only contains the data of what we've known as types before, and those types are only used temporarily now for accessing that data with all the C++ comfort.
This also means that as soon as these types get out of scope, they are deleted.

For that reason, we have to be very careful now when handling them.
In order to catch errors, I have renamed the data() member to dataUnsafe().
When porting your code to this change, make sure that whenever you use dataUnsafe(), you're sure that the extracted pointer is kept alive by a reference-counting pointer for the time you use it.

Special rules have to be followed now when implementing own types.

File Changes

Added 2 files
  • /trunk/KDE/kdevplatform/language/duchain
  •   /typeregister.cpp
  •   /typeregister.h
Deleted 2 files
  • /trunk/KDE/kdevplatform/language/duchain/repositories
  •   /ityperepository.cpp
  •   /ityperepository.h
Modified 17 files
  • /trunk/KDE/kdevplatform/language
  •   /CMakeLists.txt
  •   /duchain/abstracttypebuilder.h
  •   /duchain/appendedlist.h
  •   /duchain/classfunctiondeclaration.cpp
  •   /duchain/declaration.cpp
  •   /duchain/declaration.h
  •   /duchain/declaration_p.h
  •   /duchain/declarationid.cpp
  •   /duchain/forwarddeclaration.cpp
  •   /duchain/functiondeclaration.cpp
  •   /duchain/topducontext.cpp
  •   /duchain/typepointer.h
  •   /duchain/typesystem.cpp
  •   /duchain/typesystem.h
  •   /duchain/typesystemdata.h
  •   /duchain/repositories/itemrepository.h
  •   /duchain/repositories/typerepository.cpp
21 files changed in total