forked from qt-creator/qt-creator
CppEditor: Move CppEditorWidget::linkToSymbol to CppTools
* Cuts direct dependency to CPlusPlus from cppeditor.h, but cppfunctiondecldeflink.h still pulls it in. * Cuts direct dependency to cppeditor.h from cppvirtualfunctionassistprovider.cpp, but it still depends on cppeditorconstants.h. * Cuts direct dependency to cppeditor.h from cppelementevaluator.cpp. The long-term goal is to make the CppEditor independent from concrete code model backends. Change-Id: I291ee0d0da5fc5ed1a839a763fe7be11dcf7a6fb Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
This commit is contained in:
@@ -227,4 +227,26 @@ const Macro *findCanonicalMacro(const QTextCursor &cursor, Document::Ptr documen
|
||||
return 0;
|
||||
}
|
||||
|
||||
TextEditor::TextEditorWidget::Link linkToSymbol(Symbol *symbol)
|
||||
{
|
||||
typedef TextEditor::TextEditorWidget::Link Link;
|
||||
|
||||
if (!symbol)
|
||||
return Link();
|
||||
|
||||
const QString filename = QString::fromUtf8(symbol->fileName(),
|
||||
symbol->fileNameLength());
|
||||
|
||||
unsigned line = symbol->line();
|
||||
unsigned column = symbol->column();
|
||||
|
||||
if (column)
|
||||
--column;
|
||||
|
||||
if (symbol->isGenerated())
|
||||
column = 0;
|
||||
|
||||
return Link(filename, line, column);
|
||||
}
|
||||
|
||||
} // CppTools
|
||||
|
||||
@@ -33,6 +33,8 @@
|
||||
|
||||
#include "cpptools_global.h"
|
||||
|
||||
#include <texteditor/texteditor.h>
|
||||
|
||||
#include <cplusplus/CppDocument.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -59,6 +61,8 @@ bool CPPTOOLS_EXPORT isValidFirstIdentifierChar(const QChar &ch);
|
||||
bool CPPTOOLS_EXPORT isValidIdentifierChar(const QChar &ch);
|
||||
bool CPPTOOLS_EXPORT isValidIdentifier(const QString &s);
|
||||
|
||||
TextEditor::TextEditorWidget::Link CPPTOOLS_EXPORT linkToSymbol(CPlusPlus::Symbol *symbol);
|
||||
|
||||
QString CPPTOOLS_EXPORT identifierUnderCursor(QTextCursor *cursor);
|
||||
|
||||
bool CPPTOOLS_EXPORT isOwnershipRAIIType(CPlusPlus::Symbol *symbol,
|
||||
|
||||
Reference in New Issue
Block a user