forked from qt-creator/qt-creator
C++: IndexItem cleanup: remove a bit of clutter.
Change-Id: I758980009df4f7ef86fa2b5e3f4d44ccf3fc3fe3 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
@@ -308,8 +308,7 @@ public:
|
||||
info->unqualifiedNameAndScope(info->symbolName(), &name, &scope);
|
||||
text = name + info->symbolType();
|
||||
} else if (info->type() == IndexItem::Declaration){
|
||||
text = IndexItem::representDeclaration(info->symbolName(),
|
||||
info->symbolType());
|
||||
text = info->representDeclaration();
|
||||
}
|
||||
|
||||
Core::SearchResultItem item;
|
||||
|
||||
@@ -95,8 +95,7 @@ QList<Core::LocatorFilterEntry> CppCurrentDocumentFilter::matchesFor(
|
||||
|
||||
QString matchString = info->symbolName();
|
||||
if (info->type() == IndexItem::Declaration)
|
||||
matchString = IndexItem::representDeclaration(info->symbolName(),
|
||||
info->symbolType());
|
||||
matchString = info->representDeclaration();
|
||||
else if (info->type() == IndexItem::Function)
|
||||
matchString += info->symbolType();
|
||||
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -44,6 +44,8 @@ class CPPTOOLS_EXPORT IndexItem
|
||||
{
|
||||
Q_DISABLE_COPY(IndexItem)
|
||||
|
||||
IndexItem() {}
|
||||
|
||||
public:
|
||||
enum ItemType {
|
||||
Enum = 1 << 0,
|
||||
@@ -54,32 +56,6 @@ public:
|
||||
All = Enum | Class | Function | Declaration
|
||||
};
|
||||
|
||||
private:
|
||||
IndexItem(const QString &symbolName,
|
||||
const QString &symbolType,
|
||||
const QString &symbolScope,
|
||||
ItemType type,
|
||||
const QString &fileName,
|
||||
int line,
|
||||
int column,
|
||||
const QIcon &icon)
|
||||
: m_symbolName(symbolName),
|
||||
m_symbolType(symbolType),
|
||||
m_symbolScope(symbolScope),
|
||||
m_fileName(fileName),
|
||||
m_icon(icon),
|
||||
m_type(type),
|
||||
m_line(line),
|
||||
m_column(column)
|
||||
{}
|
||||
|
||||
IndexItem(const QString &fileName, int sizeHint)
|
||||
: m_fileName(fileName)
|
||||
, m_type(Declaration)
|
||||
, m_line(0)
|
||||
, m_column(0)
|
||||
{ m_children.reserve(sizeHint); }
|
||||
|
||||
public:
|
||||
typedef QSharedPointer<IndexItem> Ptr;
|
||||
static Ptr create(const QString &symbolName,
|
||||
@@ -89,16 +65,8 @@ public:
|
||||
const QString &fileName,
|
||||
int line,
|
||||
int column,
|
||||
const QIcon &icon)
|
||||
{
|
||||
return Ptr(new IndexItem(
|
||||
symbolName, symbolType, symbolScope, type, fileName, line, column, icon));
|
||||
}
|
||||
|
||||
static Ptr create(const QString &fileName, int sizeHint)
|
||||
{
|
||||
return Ptr(new IndexItem(fileName, sizeHint));
|
||||
}
|
||||
const QIcon &icon);
|
||||
static Ptr create(const QString &fileName, int sizeHint);
|
||||
|
||||
QString scopedSymbolName() const
|
||||
{
|
||||
@@ -107,30 +75,9 @@ public:
|
||||
: m_symbolScope + QLatin1String("::") + m_symbolName;
|
||||
}
|
||||
|
||||
bool 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;
|
||||
}
|
||||
bool unqualifiedNameAndScope(const QString &defaultName, QString *name, QString *scope) const;
|
||||
|
||||
static QString representDeclaration(const QString &name, const QString &type)
|
||||
{
|
||||
if (type.isEmpty())
|
||||
return QString();
|
||||
|
||||
const QString padding = type.endsWith(QLatin1Char('*'))
|
||||
? QString()
|
||||
: QString(QLatin1Char(' '));
|
||||
return type + padding + name;
|
||||
}
|
||||
QString representDeclaration() const;
|
||||
|
||||
QString shortNativeFilePath() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user