diff --git a/language/duchain/ducontext.cpp b/language/duchain/ducontext.cpp index 33f9a91..8dbb3d4 100644 --- a/language/duchain/ducontext.cpp +++ b/language/duchain/ducontext.cpp @@ -456,6 +456,16 @@ bool DUContextDynamicData::removeChildContext( DUContext* context ) { void DUContextDynamicData::addImportedChildContext( DUContext * context ) { // ENSURE_CAN_WRITE + if(arrayContains(m_context->d_func_dynamic()->m_importersList(), IndexedDUContext(context))) + { + int type = context->type(); + kDebug() << "already contained (type " << type << ")"; + kDebug() << "in chain " << context->inDUChain(); + kDebug() << "url:" << context->url().str(); + SimpleRange r = context->range(); + kDebug() << "range" << r.start.column << " " << r.start.line << " " << r.end.column << " " << r.end.line; + kDebug() << "context " << (void*) context; + } Q_ASSERT(!arrayContains(m_context->d_func_dynamic()->m_importersList(), IndexedDUContext(context))); m_context->d_func_dynamic()->m_importersList().append(context);