kdevplatform/language/duchain
instantiationinformation.cpp
Go to the documentation of this file.
30 QualifiedIdentifier InstantiationInformation::applyToIdentifier(const QualifiedIdentifier& id) const
50 lastId.appendTemplateIdentifier(IndexedTypeIdentifier(templateParameters()[a].abstractType()->toString(),
54 ( uint ) oldTemplateIdentifiers.size() > a ? oldTemplateIdentifiers[a] : IndexedTypeIdentifier());
109 InstantiationInformation& InstantiationInformation::operator=(const InstantiationInformation& rhs)
141 AppendedListItemRequest<InstantiationInformation>>> instantiationInformationRepositoryObject(QStringLiteral(
168 increase(instantiationInformationRepository()->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
172 IndexedInstantiationInformation::IndexedInstantiationInformation(const IndexedInstantiationInformation& rhs) : m_index(
177 increase(instantiationInformationRepository()->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
181 IndexedInstantiationInformation& IndexedInstantiationInformation::operator=(const IndexedInstantiationInformation& rhs)
185 decrease(instantiationInformationRepository()->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
192 increase(instantiationInformationRepository()->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
201 decrease(instantiationInformationRepository()->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
void clearTemplateIdentifiers()
Definition: identifier.cpp:567
void append(const T &value)
QString toString(bool local=false) const
Definition: instantiationinformation.cpp:70
void initInstantiationInformationRepository()
Definition: instantiationinformation.cpp:152
AbstractRepositoryManager * returnTypeRepository()
Definition: instantiationinformation.cpp:132
void appendTemplateIdentifier(const IndexedTypeIdentifier &identifier)
Definition: identifier.cpp:561
#define DEFINE_LIST_MEMBER_HASH(container, member, type)
Definition: appendedlist.h:218
uint templateIdentifiersCount() const
Definition: identifier.cpp:553
static KDevelop::RepositoryManager< KDevelop::ItemRepository< InstantiationInformation, AppendedListItemRequest< InstantiationInformation > > > & instantiationInformationRepository()
Definition: instantiationinformation.cpp:138
uint standardInstantiationInformationIndex()
Definition: instantiationinformation.cpp:146
~InstantiationInformation()
Definition: instantiationinformation.cpp:104
void addTemplateParameter(const AbstractType::Ptr &type)
This must always be used to add new parameters.
Definition: instantiationinformation.cpp:65
uint hash() const
Definition: instantiationinformation.cpp:123
void reserve(int alloc)
InstantiationInformation & operator=(const InstantiationInformation &rhs)
Definition: instantiationinformation.cpp:109
InstantiationInformation()
Definition: instantiationinformation.cpp:90
This is a class that allows you easily putting instances of your class into an ItemRepository as seen...
Definition: appendedlist.h:388
#define FOREACH_FUNCTION(item, container)
Foreach macro that takes a container and a function-name, and will iterate through the vector returne...
Definition: appendedlist.h:213
IndexedInstantiationInformation previousInstantiationInformation
Instantiation-information for the surrounding context(see IndexedInstantiationInformation).
Definition: instantiationinformation.h:125
QString join(const QString &separator) const
IndexedTypeIdentifier templateIdentifier(int num) const
Definition: identifier.cpp:545
void push(const IndexedIdentifier &id)
Append id to this qualified identifier.
Definition: identifier.cpp:995
bool operator==(const InstantiationInformation &rhs) const
Definition: instantiationinformation.cpp:116
Definition: abstractfunctiondeclaration.cpp:27
AbstractRepositoryManager * typeRepositoryManager()
Definition: typerepository.cpp:112
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Wed Mar 3 2021 00:37:28 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2021 The KDE developers.
Generated on Wed Mar 3 2021 00:37:28 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.