Generalized ExpressionUnderCursor and got rid of duplicate code.

Done-with: Roberto Raggi
This commit is contained in:
Erik Verbruggen
2010-01-27 12:40:02 +01:00
parent bbb63c44d4
commit 8ecc80ec4c
6 changed files with 135 additions and 361 deletions

View File

@@ -809,23 +809,14 @@ TextEditor::BaseTextEditor::Link QmlJSTextEditor::findLinkAt(const QTextCursor &
}
QmlExpressionUnderCursor expressionUnderCursor;
expressionUnderCursor(expressionCursor, doc);
QmlLookupContext context(expressionUnderCursor.expressionScopes(), doc, snapshot, m_typeSystem);
QmlResolveExpression resolver(context);
Symbol *symbol = resolver.typeOf(expressionUnderCursor.expressionNode());
if (!symbol)
return link;
if (const SymbolFromFile *target = symbol->asSymbolFromFile()) {
if (expressionUnderCursor(expressionCursor)) {
link.pos = expressionUnderCursor.expressionOffset();
link.length = expressionUnderCursor.expressionLength();
link.fileName = target->fileName();
link.line = target->line();
link.column = target->column();
if (link.column > 0)
--link.column;
// link.fileName = target->fileName();
// link.line = target->line();
// link.column = target->column();
// if (link.column > 0)
// --link.column;
}
return link;