From e42ca194c53b8286447c7750feb8c7497c88e698 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Mon, 7 Jun 2010 13:06:21 +0200 Subject: Introduced token caching to prevent repetetive tokenizing. Also removed TokenUnderCursor as it's functionality is in the token cache. Reviewed-by: ckamm --- src/libs/cplusplus/TokenUnderCursor.cpp | 67 --------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 src/libs/cplusplus/TokenUnderCursor.cpp (limited to 'src/libs/cplusplus/TokenUnderCursor.cpp') diff --git a/src/libs/cplusplus/TokenUnderCursor.cpp b/src/libs/cplusplus/TokenUnderCursor.cpp deleted file mode 100644 index 5cbcdfc7a2..0000000000 --- a/src/libs/cplusplus/TokenUnderCursor.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** Commercial Usage -** -** Licensees holding valid Qt Commercial licenses may use this file in -** accordance with the Qt Commercial License Agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Nokia. -** -** GNU Lesser General Public License Usage -** -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at http://qt.nokia.com/contact. -** -**************************************************************************/ - -#include "TokenUnderCursor.h" -#include "BackwardsScanner.h" -#include - -#include -#include -#include - -using namespace CPlusPlus; - -TokenUnderCursor::TokenUnderCursor() -{ } - -TokenUnderCursor::~TokenUnderCursor() -{ } - -SimpleToken TokenUnderCursor::operator()(const QTextCursor &cursor, QTextBlock *b) -{ - SimpleLexer tokenize; - tokenize.setObjCEnabled(true); - tokenize.setSkipComments(false); - - QTextBlock block = cursor.block(); - int column = cursor.position() - cursor.block().position(); - - _text = block.text(); - _tokens = tokenize(_text, BackwardsScanner::previousBlockState(block)); - for (int index = _tokens.size() - 1; index != -1; --index) { - const SimpleToken &tk = _tokens.at(index); - if (tk.position() < column) { - if (b) - *b = block; - return tk; - } - } - - return SimpleToken(); -} -- cgit v1.2.1