More Info

Revision 692092

(Back to digest)
 

Features in Development Tools

David Nolden committed changes in /trunk/KDE/kdevelop:

1. Implement the new type-system operations in all cpp-types
2. While building the du-chain, use DelayedType where necessary to resolve the types once template-information is available.
3. When a template-class is instantiated, a new specialized declaration, specialized contexts, and specialized types are created exactly as needed. This is very close to real C++, and makes the du-chain template-aware as it is, without adding c++ specific hacks on top of it.
4. Add some tests for the template functionality. For example smart-pointers work already.

File Changes

Modified 25 files
/trunk/KDE/kdevelop
 
/languages/cpp/stringhelpers.cpp
 
/languages/cpp/stringhelpers.h
 
/languages/cpp/duchainbuilder/CMakeLists.txt
 
/languages/cpp/duchainbuilder/contextbuilder.cpp
 
/languages/cpp/duchainbuilder/cppducontext.h
 
/languages/cpp/duchainbuilder/cpptypes.cpp
 
/languages/cpp/duchainbuilder/cpptypes.h
 
/languages/cpp/duchainbuilder/declarationbuilder.cpp
 
/languages/cpp/duchainbuilder/dumptypes.cpp
 
/languages/cpp/duchainbuilder/dumptypes.h
 
/languages/cpp/duchainbuilder/hashedstring.cpp
 
/languages/cpp/duchainbuilder/templatedeclaration.cpp
 
/languages/cpp/duchainbuilder/templatedeclaration.h
 
/languages/cpp/duchainbuilder/templateparameterdeclaration.cpp
 
/languages/cpp/duchainbuilder/templateparameterdeclaration.h
 
/languages/cpp/duchainbuilder/typebuilder.cpp
 
/languages/cpp/expressionparser/expressionvisitor.h
 
/languages/cpp/expressionparser/typeconversion.cpp
 
/languages/cpp/parser/name_compiler.cpp
 
/buildtools/managers/cmake/parser/cmakeprojectvisitor.cpp
 
/languages/cpp/duchainbuilder/tests/CMakeLists.txt
 
/languages/cpp/duchainbuilder/tests/test_duchain.cpp
 
/languages/cpp/expressionparser/tests/CMakeLists.txt
 
/languages/cpp/expressionparser/tests/test_expressionparser.cpp
 
/languages/cpp/expressionparser/tests/test_expressionparser.h
25 files changed in total