File indexing completed on 2024-05-12 04:38:03

0001 /*
0002     SPDX-FileCopyrightText: 2007 David Nolden <david.nolden.kdevelop@art-master.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-only
0005 */
0006 
0007 #include "indexedtopducontext.h"
0008 
0009 #include "duchain.h"
0010 
0011 using namespace KDevelop;
0012 
0013 IndexedTopDUContext::IndexedTopDUContext(TopDUContext* context)
0014 {
0015     if (context)
0016         m_index = context->ownIndex();
0017     else
0018         m_index = DummyMask;
0019 }
0020 
0021 bool IndexedTopDUContext::isLoaded() const
0022 {
0023     if (index())
0024         return DUChain::self()->isInMemory(index());
0025     else
0026         return false;
0027 }
0028 
0029 IndexedString IndexedTopDUContext::url() const
0030 {
0031     if (index())
0032         return DUChain::self()->urlForIndex(index());
0033     else
0034         return IndexedString();
0035 }
0036 
0037 TopDUContext* IndexedTopDUContext::data() const
0038 {
0039 //   ENSURE_CHAIN_READ_LOCKED
0040     if (index())
0041         return DUChain::self()->chainForIndex(index());
0042     else
0043         return nullptr;
0044 }