summaryrefslogtreecommitdiffstats
path: root/languages/cpp/codeinformationrepository.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit114a878c64ce6f8223cfd22d76a20eb16d177e5e (patch)
treeacaf47eb0fa12142d3896416a69e74cbf5a72242 /languages/cpp/codeinformationrepository.h
downloadtdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.tar.gz
tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.zip
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
Diffstat (limited to 'languages/cpp/codeinformationrepository.h')
-rw-r--r--languages/cpp/codeinformationrepository.h58
1 files changed, 58 insertions, 0 deletions
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 <qmap.h>
+
+#include <ktexteditor/codecompletioninterface.h>
+
+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<KTextEditor::CompletionEntry> toEntryList( const QValueList<Tag>& tags,
+ CppCodeCompletion::CompletionMode mode = CppCodeCompletion::NormalCompletion );
+ static KTextEditor::CompletionEntry toEntry( Tag& tag, CppCodeCompletion::CompletionMode mode = CppCodeCompletion::NormalCompletion, TypeProcessor* proc = 0 );
+ QValueList<KTextEditor::CompletionEntry> getEntriesInScope( const QStringList& scope, bool isInstance, bool recompute = false );
+
+ QValueList<Tag> query( const QValueList<Catalog::QueryArgument>& args );
+ QValueList<Tag> getTagsInScope( const QStringList& scope, bool isInstance );
+ QValueList<Tag> getTagsInScope( const QString& name, const QStringList& scope );
+
+ QValueList<Tag> getTagsInFile( const QString& fileName );
+ QValueList<Tag> getBaseClassList( const QString& className );
+ QValueList<Tag> getClassOrNamespaceList( const QStringList& scope );
+
+private:
+ QValueList<KTextEditor::CompletionEntry> m_globalEntries;
+ KDevCodeRepository* m_rep;
+
+private:
+ CodeInformationRepository( const CodeInformationRepository& source );
+ void operator = ( const CodeInformationRepository& source );
+};
+
+#endif
+// kate: indent-mode csands; tab-width 4;
+