Clang: Don't show template type parameters in Class View and Current Document filter

They do not bring any value.

Task-number: QTCREATORBUG-20716
Change-Id: I2876f0e1e3918cb33d133b4a65ccaefd9bd30ac8
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-07-06 11:38:55 +02:00
parent 42754374b0
commit 91cbbd39ac
5 changed files with 19 additions and 2 deletions

View File

@@ -104,7 +104,9 @@ enum class HighlightingType : quint8
ObjectiveCInterface, ObjectiveCInterface,
ObjectiveCImplementation, ObjectiveCImplementation,
ObjectiveCProperty, ObjectiveCProperty,
ObjectiveCMethod ObjectiveCMethod,
TemplateTypeParameter,
TemplateTemplateParameter
}; };
enum class StorageClass : quint8 enum class StorageClass : quint8

View File

@@ -70,6 +70,8 @@ static const char *highlightingTypeToCStringLiteral(HighlightingType type)
RETURN_TEXT_FOR_CASE(ObjectiveCMethod); RETURN_TEXT_FOR_CASE(ObjectiveCMethod);
RETURN_TEXT_FOR_CASE(PrimitiveType); RETURN_TEXT_FOR_CASE(PrimitiveType);
RETURN_TEXT_FOR_CASE(Declaration); RETURN_TEXT_FOR_CASE(Declaration);
RETURN_TEXT_FOR_CASE(TemplateTypeParameter);
RETURN_TEXT_FOR_CASE(TemplateTemplateParameter);
default: return "UnhandledHighlightingType"; default: return "UnhandledHighlightingType";
} }
} }

View File

@@ -129,6 +129,13 @@ public:
bool isGlobalDeclaration() const bool isGlobalDeclaration() const
{ {
if (types.mixinHighlightingTypes.contains(
ClangBackEnd::HighlightingType::TemplateTypeParameter)
|| types.mixinHighlightingTypes.contains(
ClangBackEnd::HighlightingType::TemplateTemplateParameter)) {
return false;
}
return extraInfo.declaration return extraInfo.declaration
&& types.mainHighlightingType != HighlightingType::LocalVariable && types.mainHighlightingType != HighlightingType::LocalVariable
&& ((types.mainHighlightingType == HighlightingType::Operator) && ((types.mainHighlightingType == HighlightingType::Operator)

View File

@@ -108,6 +108,8 @@ bool ignore(ClangBackEnd::HighlightingType type)
case HighlightingType::ObjectiveCImplementation: case HighlightingType::ObjectiveCImplementation:
case HighlightingType::ObjectiveCProperty: case HighlightingType::ObjectiveCProperty:
case HighlightingType::ObjectiveCMethod: case HighlightingType::ObjectiveCMethod:
case HighlightingType::TemplateTypeParameter:
case HighlightingType::TemplateTemplateParameter:
return true; return true;
} }

View File

@@ -341,9 +341,13 @@ void TokenInfo::typeKind(const Cursor &cursor)
case CXCursor_ObjCCategoryImplDecl: case CXCursor_ObjCCategoryImplDecl:
m_types.mixinHighlightingTypes.push_back(HighlightingType::ObjectiveCCategory); m_types.mixinHighlightingTypes.push_back(HighlightingType::ObjectiveCCategory);
return; return;
case CXCursor_ObjCSuperClassRef:
case CXCursor_TemplateTypeParameter: case CXCursor_TemplateTypeParameter:
m_types.mixinHighlightingTypes.push_back(HighlightingType::TemplateTypeParameter);
return;
case CXCursor_TemplateTemplateParameter: case CXCursor_TemplateTemplateParameter:
m_types.mixinHighlightingTypes.push_back(HighlightingType::TemplateTemplateParameter);
return;
case CXCursor_ObjCSuperClassRef:
case CXCursor_CXXStaticCastExpr: case CXCursor_CXXStaticCastExpr:
case CXCursor_CXXReinterpretCastExpr: case CXCursor_CXXReinterpretCastExpr:
break; break;