C++: IndexItem cleanup: remove a bit of clutter.

Change-Id: I758980009df4f7ef86fa2b5e3f4d44ccf3fc3fe3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
Erik Verbruggen
2014-09-01 11:18:21 +02:00
parent b0eab0b799
commit b01a6a4663
4 changed files with 65 additions and 63 deletions

View File

@@ -33,6 +33,63 @@
using namespace CppTools;
IndexItem::Ptr IndexItem::create(const QString &symbolName, const QString &symbolType,
const QString &symbolScope, IndexItem::ItemType type,
const QString &fileName, int line, int column, const QIcon &icon)
{
Ptr ptr(new IndexItem);
ptr->m_symbolName = symbolName;
ptr->m_symbolType = symbolType;
ptr->m_symbolScope = symbolScope;
ptr->m_type = type;
ptr->m_fileName = fileName;
ptr->m_line = line;
ptr->m_column = column;
ptr->m_icon = icon;
return ptr;
}
IndexItem::Ptr IndexItem::create(const QString &fileName, int sizeHint)
{
Ptr ptr(new IndexItem);
ptr->m_fileName = fileName;
ptr->m_type = Declaration;
ptr->m_line = 0;
ptr->m_column = 0;
ptr->m_children.reserve(sizeHint);
return ptr;
}
bool IndexItem::unqualifiedNameAndScope(const QString &defaultName, QString *name,
QString *scope) const
{
*name = defaultName;
*scope = m_symbolScope;
const QString qualifiedName = scopedSymbolName();
const int colonColonPosition = qualifiedName.lastIndexOf(QLatin1String("::"));
if (colonColonPosition != -1) {
*name = qualifiedName.mid(colonColonPosition + 2);
*scope = qualifiedName.left(colonColonPosition);
return true;
}
return false;
}
QString IndexItem::representDeclaration() const
{
if (m_symbolType.isEmpty())
return QString();
const QString padding = m_symbolType.endsWith(QLatin1Char('*'))
? QString()
: QString(QLatin1Char(' '));
return m_symbolType + padding + m_symbolName;
}
QString IndexItem::shortNativeFilePath() const
{
return Utils::FileUtils::shortNativePath(Utils::FileName::fromString(m_fileName));