logic: index and store Java annotations

* add annotation symbol kind
* add annotation_usage edge kind
* increment storage version
* record java annotation decls
* record java annotation member decls (as fields)
* update expected output of java sample project indexing tests
* add tests for recording annotations
* add annotation icon, annotation colors
* add new annotation node and edge types to legend
This commit is contained in:
mlangkabel
2018-08-14 17:33:00 +02:00
parent abe0248c1e
commit 9813c9873f
116 changed files with 1184 additions and 88 deletions
@@ -2377,6 +2377,7 @@ void GraphController::createLegendGraph()
incompleteFile->addComponent(std::make_shared<TokenComponentFilePath>(FilePath(), false));
addNode(NodeType::NODE_MACRO, L"Macro", Vec2i(x, y + dy * ++i));
addNode(NodeType::NODE_ANNOTATION, L"Annotation", Vec2i(x, y + dy * ++i));
addNode(NodeType::NODE_NAMESPACE, L"namespace", Vec2i(x, y + dy * ++i));
y -= 15;
@@ -2488,6 +2489,13 @@ void GraphController::createLegendGraph()
addEdge(Edge::EDGE_MACRO_USAGE, file, macro);
}
{
addText(L"annotation use", 0, Vec2i(x, y + dy * ++i));
Node* type = addNode(NodeType::NODE_TYPE, L"Type", Vec2i(x, y + dy * ++i));
Node* macro = addNode(NodeType::NODE_ANNOTATION, L"Annotation", Vec2i(x + dx, y + dy * i));
addEdge(Edge::EDGE_ANNOTATION_USAGE, type, macro);
}
{
addText(L"aggregation", 0, Vec2i(x, y + dy * ++i));
Node* typeA = addNode(NodeType::NODE_TYPE, L"Type A", Vec2i(x, y + dy * ++i));