[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [KDevPlatform] eb79930: - Add a safety check whether m_declaration
From:       David nolden <david.nolden.kde () art-master ! de>
Date:       2010-11-27 21:00:00
Message-ID: 20101127210000.36432A60A6 () git ! kde ! org
[Download RAW message or body]

commit eb79930f53e5f7880f2a5f1952272ebc562aa9b6
branch master
Author: David nolden <david.nolden.kde@art-master.de>
Date:   Sat Nov 27 21:48:31 2010 +0100

    - Add a safety check whether m_declaration still exists
    - Make several completion constants accessible to subclasses

diff --git a/language/codecompletion/normaldeclarationcompletionitem.cpp \
b/language/codecompletion/normaldeclarationcompletionitem.cpp index 9ff282f..d0456b2 \
                100644
--- a/language/codecompletion/normaldeclarationcompletionitem.cpp
+++ b/language/codecompletion/normaldeclarationcompletionitem.cpp
@@ -33,13 +33,11 @@
 
 namespace KDevelop {
 
-const int normalBestMatchesCount = 5;
-
-///@todo Implement a proper duchain based shortening-scheme, and use it throughout \
the completion +const int NormalDeclarationCompletionItem::normalBestMatchesCount = \
5;  //If this is true, the return-values of argument-hints will be just written as \
                "..." if they are too long
-const bool shortenArgumentHintReturnValues = true;
-const int maximumArgumentHintReturnValueLength = 30;
-const int desiredTypeLength = 20;
+const bool NormalDeclarationCompletionItem::shortenArgumentHintReturnValues = true;
+const int NormalDeclarationCompletionItem::maximumArgumentHintReturnValueLength = \
30; +const int NormalDeclarationCompletionItem::desiredTypeLength = 20;
 
 NormalDeclarationCompletionItem::NormalDeclarationCompletionItem(KDevelop::DeclarationPointer \
decl, KSharedPtr<CodeCompletionContext> context, int inheritanceDepth)  : \
m_completionContext(context), m_declaration(decl), \
m_inheritanceDepth(inheritanceDepth) { @@ -129,6 +127,9 @@ QVariant \
NormalDeclarationCompletionItem::data(const QModelIndex& index, int rol  kDebug(9007) \
<< "Failed to lock the du-chain in time";  return QVariant();
   }
+  
+  if(!m_declaration)
+    return QVariant();
 
   switch (role) {
     case Qt::DisplayRole:
@@ -203,7 +204,6 @@ QVariant NormalDeclarationCompletionItem::data(const QModelIndex& \
index, int rol  }
       break;
     }
-
   }
   return QVariant();
 }
diff --git a/language/codecompletion/normaldeclarationcompletionitem.h \
b/language/codecompletion/normaldeclarationcompletionitem.h index 5bb12be..a1c9d62 \
                100644
--- a/language/codecompletion/normaldeclarationcompletionitem.h
+++ b/language/codecompletion/normaldeclarationcompletionitem.h
@@ -54,6 +54,12 @@ protected:
   KSharedPtr<CodeCompletionContext> m_completionContext;
   KDevelop::DeclarationPointer m_declaration;
   int m_inheritanceDepth; //Inheritance-depth: 0 for local functions(within no \
class), 1 for within local class, 1000+ for global items. +  
+  static const int normalBestMatchesCount;
+  static const bool shortenArgumentHintReturnValues;
+  static const int maximumArgumentHintReturnValueLength;
+  static const int desiredTypeLength;
+  
 };
 
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic