forked from qt-creator/qt-creator
Clang: Optimize clang overview model
Build the tree in only one loop. clangbackend generates tokens almost as fast as it did before (about 10% slower in general). Broken documents are more affected and take much more time (about 300%) but it's better to have this time spent on backend side then in QtC itself. Task-number: QTCREATORBUG-20205 Change-Id: I34c58bca30c4494005a029abd82c7e612ecd6fb9 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -36,16 +36,19 @@ namespace Internal {
|
||||
|
||||
class ClangEditorDocumentProcessor;
|
||||
|
||||
struct TokenTreeItem : public ::Utils::TypedTreeItem<TokenTreeItem>
|
||||
class TokenTreeItem : public ::Utils::TypedTreeItem<TokenTreeItem>
|
||||
{
|
||||
TokenTreeItem() = default;
|
||||
public:
|
||||
TokenTreeItem() noexcept
|
||||
: token()
|
||||
{}
|
||||
TokenTreeItem(const ClangBackEnd::TokenInfoContainer &token) noexcept
|
||||
: token(token)
|
||||
{}
|
||||
|
||||
QVariant data(int column, int role) const override;
|
||||
|
||||
ClangBackEnd::TokenInfoContainer token;
|
||||
const ClangBackEnd::TokenInfoContainer token;
|
||||
};
|
||||
|
||||
class OverviewModel : public CppTools::AbstractOverviewModel
|
||||
|
||||
Reference in New Issue
Block a user