Appended lists / DUChain item repository problem
david.nolden.kdevelop at art-master.de
Mon Jul 23 23:57:43 UTC 2012
Sorry, I've been very busy recently.
Did you take a look at KDevelop::UnsureType? UnsureTypeData has
exactly the same internal structure as your IndexedContainerData,
except that it works. :-)
initializeAppendedLists needs to be given an initialization parameter
which tells it whether the internal data structures representing
appended lists are to be in shared memory together with the internal
type data (eg. _not_ dynamic), or whether the data is to be stored in
the changeable dynamic member hash. After loading, the data is static,
since it's in a memory-mapped region within the duchain data store.
I think, all you need to do to fix your issue is calling
"initializeAppendedLists(m_dynamic)", as UnsureType does.
For DUChain data inheriting within the Declaration hierarchy this
doesn't need to be done, because there this info comes implicitly from
DUChainBaseData::appendedListDynamicDefault(), this is indeed a bit
confusing. The best way to go is always following the examples. A good
example for the type hierarchy is UnsureType, a good example for the
declaration hierarchy is ClassFunctionDeclaration.
More information about the KDevelop-devel