From 8389aa144a88a2f5ff6de244920316101a99017c Mon Sep 17 00:00:00 2001 From: Ivan Donchevskii Date: Thu, 8 Feb 2018 13:31:22 +0100 Subject: Clang: Use more generic methods in OverviewModel Do not return Document or Symbol. Instead use Link or LineColumn directly as return values. Change-Id: I1863d7c3b4985ffe2ae5454622227075ebdc2de7 Reviewed-by: Nikolai Kosjar --- src/plugins/cpptools/cppoverviewmodel.cpp | 41 +++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 13 deletions(-) (limited to 'src/plugins/cpptools/cppoverviewmodel.cpp') diff --git a/src/plugins/cpptools/cppoverviewmodel.cpp b/src/plugins/cpptools/cppoverviewmodel.cpp index 7fe118f68c..1cf10b4b9f 100644 --- a/src/plugins/cpptools/cppoverviewmodel.cpp +++ b/src/plugins/cpptools/cppoverviewmodel.cpp @@ -31,28 +31,17 @@ #include #include -#include +#include +#include using namespace CPlusPlus; namespace CppTools { -OverviewModel::OverviewModel(QObject *parent) - : AbstractOverviewModel(parent) -{ } - -OverviewModel::~OverviewModel() -{ } - bool OverviewModel::hasDocument() const { return _cppDocument; } -Document::Ptr OverviewModel::document() const -{ - return _cppDocument; -} - unsigned OverviewModel::globalSymbolCount() const { unsigned count = 0; @@ -250,4 +239,30 @@ void OverviewModel::rebuild(Document::Ptr doc) endResetModel(); } +bool OverviewModel::isGenerated(const QModelIndex &sourceIndex) const +{ + CPlusPlus::Symbol *symbol = symbolFromIndex(sourceIndex); + return symbol && symbol->isGenerated(); +} + +Utils::Link OverviewModel::linkFromIndex(const QModelIndex &sourceIndex) const +{ + CPlusPlus::Symbol *symbol = symbolFromIndex(sourceIndex); + if (!symbol) + return {}; + + return symbol->toLink(); +} + +Utils::LineColumn OverviewModel::lineColumnFromIndex(const QModelIndex &sourceIndex) const +{ + Utils::LineColumn lineColumn; + CPlusPlus::Symbol *symbol = symbolFromIndex(sourceIndex); + if (!symbol) + return lineColumn; + lineColumn.line = static_cast(symbol->line()); + lineColumn.column = static_cast(symbol->column()); + return lineColumn; +} + } // namespace CppTools -- cgit v1.2.1