CompletionItem::CompletionItem(KDevelop::DeclarationPointer decl, QExplicitlySharedDataPointer< KDevelop::CodeCompletionContext > context, int inheritanceDepth): NormalDeclarationCompletionItem(decl, QExplicitlySharedDataPointer<KDevelop::CodeCompletionContext>(), 0), m_prefix("") { DUChainReadLocker lock; if(!decl) return; //NormalDeclarationCompletionItem fails to get a meaningful prefix in these cases if(decl->abstractType() && decl->abstractType()->whichType() == KDevelop::AbstractType::TypeFunction) m_prefix = decl->abstractType()->toString(); if(decl->kind() == KDevelop::Declaration::Import || decl->kind() == KDevelop::Declaration::NamespaceAlias) m_prefix = "namespace"; }
QString NormalDeclarationCompletionItem::shortenedTypeString(KDevelop::DeclarationPointer decl, int desiredTypeLength) const { Q_UNUSED(desiredTypeLength); return decl->abstractType()->toString(); }