data: remove NodeType::NODE_TEMPLATE_PARAMETER

This commit is contained in:
mlangkabel
2019-10-18 13:05:29 +02:00
committed by Eberhard Graether
parent b72d3531c0
commit 42cb917490
11 changed files with 29 additions and 32 deletions
@@ -2541,13 +2541,7 @@ void GraphController::createLegendGraph()
y += 10;
i += 1;
Node* templateNode = addNode(NodeType::NODE_TYPE, L"TemplateType<typename ParameterType>", Vec2i(x, y + dy * ++i));
Node* templateParameterNode = addNode(NodeType::NODE_TEMPLATE_PARAMETER, L"ParameterType", Vec2i());
addMember(templateNode, templateParameterNode, ACCESS_TEMPLATE_PARAMETER);
y += 5;
i += 2;
Node* genericNode = addNode(NodeType::NODE_TYPE, L"GenericType<ParameterType>", Vec2i(x, y + dy * ++i));
Node* genericNode = addNode(NodeType::NODE_TYPE, L"JavaGenericType<ParameterType>", Vec2i(x, y + dy * ++i));
Node* genericParameterNode = addNode(NodeType::NODE_TYPE_PARAMETER, L"ParameterType", Vec2i());
addMember(genericNode, genericParameterNode, ACCESS_TYPE_PARAMETER);
i += 2;
-5
View File
@@ -65,8 +65,6 @@ NodeType::Type NodeType::intToType(int value)
return NodeType::NODE_ENUM_CONSTANT;
case NodeType::NODE_TYPEDEF:
return NodeType::NODE_TYPEDEF;
case NodeType::NODE_TEMPLATE_PARAMETER:
return NodeType::NODE_TEMPLATE_PARAMETER;
case NodeType::NODE_TYPE_PARAMETER:
return NodeType::NODE_TYPE_PARAMETER;
case NodeType::NODE_FILE:
@@ -118,8 +116,6 @@ std::string NodeType::getReadableTypeString(NodeType::Type type)
return "enum constant";
case NodeType::NODE_TYPEDEF:
return "typedef";
case NodeType::NODE_TEMPLATE_PARAMETER:
return "template parameter";
case NodeType::NODE_TYPE_PARAMETER:
return "type parameter";
case NodeType::NODE_FILE:
@@ -424,7 +420,6 @@ NodeType::StyleType NodeType::getNodeStyle() const
case NodeType::NODE_ANNOTATION:
case NodeType::NODE_ENUM:
case NodeType::NODE_TYPEDEF:
case NodeType::NODE_TEMPLATE_PARAMETER:
case NodeType::NODE_TYPE_PARAMETER:
case NodeType::NODE_FILE:
case NodeType::NODE_MACRO:
-1
View File
@@ -35,7 +35,6 @@ public:
NODE_ENUM = 1 << 14,
NODE_ENUM_CONSTANT = 1 << 15,
NODE_TYPEDEF = 1 << 16,
NODE_TEMPLATE_PARAMETER = 1 << 17,
NODE_TYPE_PARAMETER = 1 << 18,
NODE_FILE = 1 << 19,
-1
View File
@@ -188,7 +188,6 @@ const std::vector<NodeType> NodeTypeSet::s_allNodeTypes = {
NodeType(NodeType::NODE_ENUM),
NodeType(NodeType::NODE_ENUM_CONSTANT),
NodeType(NodeType::NODE_TYPEDEF),
NodeType(NodeType::NODE_TEMPLATE_PARAMETER),
NodeType(NodeType::NODE_TYPE_PARAMETER),
NodeType(NodeType::NODE_FILE),
NodeType(NodeType::NODE_MACRO),
-2
View File
@@ -141,8 +141,6 @@ NodeType ParserClientImpl::symbolKindToNodeType(SymbolKind symbolKind) const
return NodeType::NODE_PACKAGE;
case SYMBOL_STRUCT:
return NodeType::NODE_STRUCT;
case SYMBOL_TEMPLATE_PARAMETER:
return NodeType::NODE_TEMPLATE_PARAMETER;
case SYMBOL_TYPEDEF:
return NodeType::NODE_TYPEDEF;
case SYMBOL_TYPE_PARAMETER:
-2
View File
@@ -34,8 +34,6 @@ SymbolKind intToSymbolKind(int v)
return SYMBOL_PACKAGE;
case SYMBOL_STRUCT:
return SYMBOL_STRUCT;
case SYMBOL_TEMPLATE_PARAMETER:
return SYMBOL_TEMPLATE_PARAMETER;
case SYMBOL_TYPEDEF:
return SYMBOL_TYPEDEF;
case SYMBOL_TYPE_PARAMETER:
-1
View File
@@ -18,7 +18,6 @@ enum SymbolKind
SYMBOL_NAMESPACE = 13,
SYMBOL_PACKAGE = 14,
SYMBOL_STRUCT = 15,
SYMBOL_TEMPLATE_PARAMETER = 16,
SYMBOL_TYPEDEF = 17,
SYMBOL_TYPE_PARAMETER = 18,
SYMBOL_UNION = 19,
@@ -42,9 +42,10 @@ std::vector<std::wstring> CxxDeclNameResolver::getTemplateParameterStringsOfPart
for (int i = 0; i < templateArgumentList.size(); i++)
{
const clang::TemplateArgument& templateArgument = templateArgumentList.get(i);
const clang::TemplateArgument::ArgKind argKind = templateArgument.getKind();
if (templateArgument.isDependent())
{
if (templateArgument.getKind() == clang::TemplateArgument::Type && !templateArgument.getAsType().isNull())
if (argKind == clang::TemplateArgument::Type && !templateArgument.getAsType().isNull())
{
const clang::Type* argumentType = templateArgument.getAsType().getTypePtr();
if (const clang::TemplateTypeParmType* ttpt = clang::dyn_cast<clang::TemplateTypeParmType>(argumentType))
@@ -64,7 +65,7 @@ std::vector<std::wstring> CxxDeclNameResolver::getTemplateParameterStringsOfPart
templateParameterNames.push_back(std::move(CxxTypeName::makeUnsolvedIfNull(CxxTypeNameResolver(this).getName(argumentType))->toString()));
}
}
else if (templateArgument.getKind() == clang::TemplateArgument::Template && !templateArgument.getAsTemplate().isNull())
else if (argKind == clang::TemplateArgument::Template && !templateArgument.getAsTemplate().isNull())
{
const clang::TemplateTemplateParmDecl* decl = clang::dyn_cast<clang::TemplateTemplateParmDecl>(templateArgument.getAsTemplate().getAsTemplateDecl());
if (decl)
@@ -202,7 +202,6 @@ QtCustomTrailView::QtCustomTrailView(ViewLayout* viewLayout)
NodeType::NODE_UNION,
NodeType::NODE_INTERFACE,
NodeType::NODE_TYPEDEF,
NodeType::NODE_TEMPLATE_PARAMETER,
NodeType::NODE_TYPE_PARAMETER,
NodeType::NODE_ENUM,
NodeType::NODE_ENUM_CONSTANT,
+25 -5
View File
@@ -1079,6 +1079,26 @@ public:
));
}
//void _test_foofoo()
//{
// std::shared_ptr<TestIntermediateStorage> client = parseCode(
// "template <typename T1, typename T2>\n"
// "class vector { };\n"
// "\n"
// "template<class T>\n"
// "struct Alloc { };\n"
// "\n"
// "template<class T>\n"
// "using Vec = vector<T, Alloc<T>>;\n"
// "\n"
// "Vec<int> v;\n"
// );
// TS_ASSERT(utility::containsElement<std::wstring>(
// client->typeUses, // TODO: record edge between vector<int, Alloc<int>> and Alloc<int> (this is an issue because we dont have any typeloc for this edge -.-
// ));
//}
void test_cxx_parser_finds_template_template_parameter_of_template_class()
{
std::shared_ptr<TestIntermediateStorage> client = parseCode(
@@ -1163,11 +1183,11 @@ public:
std::shared_ptr<TestIntermediateStorage> client = parseCode(
"template <typename>\n"
"class A\n"
"{\n"
"};\n"
"{\n" // local symbol for brace
"};\n" // local symbol for brace
);
TS_ASSERT_EQUALS(client->templateParameterTypes.size(), 0);
TS_ASSERT_EQUALS(client->localSymbols.size(), 2);
TS_ASSERT(utility::containsElement<std::wstring>(
client->classes, L"A<typename> <1:1 <2:7 2:7> 4:1>"
));
@@ -2924,7 +2944,7 @@ public:
TS_ASSERT(utility::containsElement<std::wstring>(
client->localSymbols, L"input.cc<1:20> <1:20 1:20>"
));
TS_ASSERT(utility::containsElement<std::wstring>( // FIXME: fix FAIL because usage in name qualifier is not recorded
TS_ASSERT(utility::containsElement<std::wstring>( // TODO: fix FAIL because usage in name qualifier is not recorded
client->localSymbols, L"input.cc<5:20> <5:20 5:20>"
));
}
@@ -3684,7 +3704,7 @@ public:
);
TS_ASSERT(utility::containsElement<std::wstring>(
client->typeUses, L"A<&g_p, q> -> P g_p <8:10 8:12>" //FIXME this is completely wrong? should be a normal usage
client->typeUses, L"A<&g_p, q> -> P g_p <8:10 8:12>" // TODO: this is completely wrong? should be a normal usage
));
TS_ASSERT(utility::containsElement<std::wstring>(
client->localSymbols, L"input.cc<7:14> <8:15 8:15>"
@@ -302,7 +302,6 @@ public:
std::vector<std::wstring> modules;
std::vector<std::wstring> structs;
std::vector<std::wstring> macros;
std::vector<std::wstring> templateParameterTypes;
std::vector<std::wstring> typeParameters;
std::vector<std::wstring> localSymbols;
std::set<std::wstring> files;
@@ -356,8 +355,6 @@ private:
return L"SYMBOL_PACKAGE";
case NodeType::NODE_STRUCT:
return L"SYMBOL_STRUCT";
case NodeType::NODE_TEMPLATE_PARAMETER:
return L"SYMBOL_TEMPLATE_PARAMETER";
case NodeType::NODE_TYPEDEF:
return L"SYMBOL_TYPEDEF";
case NodeType::NODE_TYPE_PARAMETER:
@@ -442,8 +439,6 @@ private:
return &structs;
case NodeType::NODE_MACRO:
return &macros;
case NodeType::NODE_TEMPLATE_PARAMETER:
return &templateParameterTypes;
case NodeType::NODE_TYPE_PARAMETER:
return &typeParameters;
default: