From 114a878c64ce6f8223cfd22d76a20eb16d177e5e Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdevelop@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- languages/cpp/codeinformationrepository.h | 58 +++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 languages/cpp/codeinformationrepository.h (limited to 'languages/cpp/codeinformationrepository.h') diff --git a/languages/cpp/codeinformationrepository.h b/languages/cpp/codeinformationrepository.h new file mode 100644 index 00000000..f7fa712a --- /dev/null +++ b/languages/cpp/codeinformationrepository.h @@ -0,0 +1,58 @@ +/*************************************************************************** +* Copyright (C) 2003 by Roberto Raggi * +* roberto@kdevelop.org * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +***************************************************************************/ + +#ifndef CODEINFORMATIONREPOSITORY_H +#define CODEINFORMATIONREPOSITORY_H + +#include "catalog.h" +#include "cppcodecompletion.h" +#include + +#include + +struct TypeProcessor { + virtual QString processType( const QString& type ) = 0; + virtual QString parentType() = 0; +}; + +class KDevCodeRepository; + +class CodeInformationRepository +{ +public: + CodeInformationRepository( KDevCodeRepository* rep ); + virtual ~CodeInformationRepository(); + + static QValueList toEntryList( const QValueList& tags, + CppCodeCompletion::CompletionMode mode = CppCodeCompletion::NormalCompletion ); + static KTextEditor::CompletionEntry toEntry( Tag& tag, CppCodeCompletion::CompletionMode mode = CppCodeCompletion::NormalCompletion, TypeProcessor* proc = 0 ); + QValueList getEntriesInScope( const QStringList& scope, bool isInstance, bool recompute = false ); + + QValueList query( const QValueList& args ); + QValueList getTagsInScope( const QStringList& scope, bool isInstance ); + QValueList getTagsInScope( const QString& name, const QStringList& scope ); + + QValueList getTagsInFile( const QString& fileName ); + QValueList getBaseClassList( const QString& className ); + QValueList getClassOrNamespaceList( const QStringList& scope ); + +private: + QValueList m_globalEntries; + KDevCodeRepository* m_rep; + +private: + CodeInformationRepository( const CodeInformationRepository& source ); + void operator = ( const CodeInformationRepository& source ); +}; + +#endif +// kate: indent-mode csands; tab-width 4; + -- cgit v1.2.1