data: remove NodeType::NODE_TEMPLATE_PARAMETER
This commit is contained in:
committed by
Eberhard Graether
parent
b72d3531c0
commit
42cb917490
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 ¯os;
|
||||
case NodeType::NODE_TEMPLATE_PARAMETER:
|
||||
return &templateParameterTypes;
|
||||
case NodeType::NODE_TYPE_PARAMETER:
|
||||
return &typeParameters;
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user