data: saving NameHierarchy directly to Node without TokenComponentName
This commit is contained in:
@@ -113,8 +113,6 @@ add_files(
|
||||
data/graph/token_component/TokenComponentConst.h
|
||||
data/graph/token_component/TokenComponentFilePath.cpp
|
||||
data/graph/token_component/TokenComponentFilePath.h
|
||||
data/graph/token_component/TokenComponentName.cpp
|
||||
data/graph/token_component/TokenComponentName.h
|
||||
data/graph/token_component/TokenComponentStatic.cpp
|
||||
data/graph/token_component/TokenComponentStatic.h
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include "utility/utilityString.h"
|
||||
|
||||
#include "data/graph/token_component/TokenComponentAggregation.h"
|
||||
#include "data/graph/token_component/TokenComponentName.h"
|
||||
#include "data/graph/Graph.h"
|
||||
#include "data/location/TokenLocation.h"
|
||||
#include "data/location/TokenLocationFile.h"
|
||||
@@ -1442,7 +1441,7 @@ Node* Storage::addNodeToGraph(const Id nodeId, Graph* graph) const
|
||||
node = graph->createNode(
|
||||
storageNode.id,
|
||||
Node::intToType(storageNode.type),
|
||||
std::make_shared<TokenComponentNameCached>(m_tokenIndex.getNameHierarchyForTokenId(nodeId))
|
||||
m_tokenIndex.getNameHierarchyForTokenId(nodeId)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ void Graph::forEachToken(std::function<void(Token*)> func) const
|
||||
forEachEdge(func);
|
||||
}
|
||||
|
||||
Node* Graph::createNode(Id id, Node::NodeType type, std::shared_ptr<TokenComponentName> nameComponent)
|
||||
Node* Graph::createNode(Id id, Node::NodeType type, NameHierarchy nameHierarchy)
|
||||
{
|
||||
Node* n = getNodeById(id);
|
||||
if (n)
|
||||
@@ -48,7 +48,7 @@ Node* Graph::createNode(Id id, Node::NodeType type, std::shared_ptr<TokenCompone
|
||||
return n;
|
||||
}
|
||||
|
||||
std::shared_ptr<Node> node = std::make_shared<Node>(id, type, nameComponent);
|
||||
std::shared_ptr<Node> node = std::make_shared<Node>(id, type, nameHierarchy);
|
||||
m_nodes.emplace(node->getId(), node);
|
||||
return node.get();
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
void forEachEdge(std::function<void(Edge*)> func) const;
|
||||
void forEachToken(std::function<void(Token*)> func) const;
|
||||
|
||||
Node* createNode(Id id, Node::NodeType type, std::shared_ptr<TokenComponentName> nameComponent);
|
||||
Node* createNode(Id id, Node::NodeType type, NameHierarchy nameHierarchy);
|
||||
Edge* createEdge(Id id, Edge::EdgeType type, Node* from, Node* to);
|
||||
|
||||
size_t getNodeCount() const;
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
#include "data/graph/token_component/TokenComponentAbstraction.h"
|
||||
#include "data/graph/token_component/TokenComponentConst.h"
|
||||
#include "data/graph/token_component/TokenComponentName.h"
|
||||
#include "data/graph/token_component/TokenComponentStatic.h"
|
||||
#include "data/graph/token_component/TokenComponentFilePath.h"
|
||||
|
||||
@@ -97,17 +96,17 @@ Node::NodeType Node::intToType(int value)
|
||||
return NODE_UNDEFINED;
|
||||
}
|
||||
|
||||
Node::Node(Id id, NodeType type, std::shared_ptr<TokenComponentName> nameComponent)
|
||||
Node::Node(Id id, NodeType type, NameHierarchy nameHierarchy)
|
||||
: Token(id)
|
||||
, m_type(type)
|
||||
, m_nameComponent(nameComponent)
|
||||
, m_nameHierarchy(nameHierarchy)
|
||||
{
|
||||
}
|
||||
|
||||
Node::Node(const Node& other)
|
||||
: Token(other)
|
||||
, m_type(other.m_type)
|
||||
, m_nameComponent(other.m_nameComponent->copyComponentName())
|
||||
, m_nameHierarchy(other.m_nameHierarchy)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -139,22 +138,12 @@ bool Node::isType(NodeTypeMask mask) const
|
||||
|
||||
std::string Node::getName() const
|
||||
{
|
||||
return m_nameComponent->getName();
|
||||
return m_nameHierarchy.getName();
|
||||
}
|
||||
|
||||
std::string Node::getFullName() const
|
||||
{
|
||||
return m_nameComponent->getFullName();
|
||||
}
|
||||
|
||||
const TokenComponentName* Node::getTokenComponentName() const
|
||||
{
|
||||
if (m_nameComponent)
|
||||
{
|
||||
return m_nameComponent.get();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
return m_nameHierarchy.getFullName();
|
||||
}
|
||||
|
||||
const std::vector<Edge*>& Node::getEdges() const
|
||||
|
||||
@@ -8,12 +8,11 @@
|
||||
|
||||
#include "data/graph/Edge.h"
|
||||
#include "data/graph/Token.h"
|
||||
#include "data/name/NameHierarchy.h"
|
||||
|
||||
class TokenComponentAbstraction;
|
||||
class TokenComponentConst;
|
||||
class TokenComponentName;
|
||||
class TokenComponentStatic;
|
||||
class TokenComponentSignature;
|
||||
class TokenComponentFilePath;
|
||||
|
||||
class Node
|
||||
@@ -50,7 +49,7 @@ public:
|
||||
|
||||
static const NodeTypeMask NODE_NOT_VISIBLE;
|
||||
|
||||
Node(Id id, NodeType type, std::shared_ptr<TokenComponentName> nameComponent);
|
||||
Node(Id id, NodeType type, NameHierarchy nameHierarchy);
|
||||
Node(const Node& other);
|
||||
virtual ~Node();
|
||||
|
||||
@@ -60,7 +59,6 @@ public:
|
||||
|
||||
std::string getName() const;
|
||||
std::string getFullName() const;
|
||||
const TokenComponentName* getTokenComponentName() const;
|
||||
|
||||
const std::vector<Edge*>& getEdges() const;
|
||||
|
||||
@@ -90,7 +88,6 @@ public:
|
||||
void addComponentAbstraction(std::shared_ptr<TokenComponentAbstraction> component);
|
||||
void addComponentConst(std::shared_ptr<TokenComponentConst> component);
|
||||
void addComponentStatic(std::shared_ptr<TokenComponentStatic> component);
|
||||
void addComponentSignature(std::shared_ptr<TokenComponentSignature> component);
|
||||
void addComponentFilePath(std::shared_ptr<TokenComponentFilePath> component);
|
||||
|
||||
// Logging.
|
||||
@@ -103,7 +100,7 @@ private:
|
||||
std::vector<Edge*> m_edges;
|
||||
|
||||
NodeType m_type;
|
||||
std::shared_ptr<TokenComponentName> m_nameComponent;
|
||||
NameHierarchy m_nameHierarchy;
|
||||
};
|
||||
|
||||
std::ostream& operator<<(std::ostream& ostream, const Node& node);
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
#include "data/graph/token_component/TokenComponentName.h"
|
||||
|
||||
#include "utility/utilityString.h"
|
||||
|
||||
#include "data/search/SearchIndex.h"
|
||||
|
||||
TokenComponentName::TokenComponentName()
|
||||
{
|
||||
}
|
||||
|
||||
TokenComponentName::~TokenComponentName()
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<TokenComponentName> TokenComponentName::copyComponentName() const
|
||||
{
|
||||
return std::dynamic_pointer_cast<TokenComponentName>(copy());
|
||||
}
|
||||
|
||||
|
||||
TokenComponentNameReferenced::TokenComponentNameReferenced(const SearchNode* searchNode)
|
||||
: m_searchNode(searchNode)
|
||||
{
|
||||
}
|
||||
|
||||
TokenComponentNameReferenced::~TokenComponentNameReferenced()
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<TokenComponent> TokenComponentNameReferenced::copy() const
|
||||
{
|
||||
return std::make_shared<TokenComponentNameCached>(m_searchNode->getNameHierarchy());
|
||||
}
|
||||
|
||||
std::string TokenComponentNameReferenced::getName() const
|
||||
{
|
||||
return m_searchNode->getName();
|
||||
}
|
||||
|
||||
std::string TokenComponentNameReferenced::getFullName() const
|
||||
{
|
||||
return m_searchNode->getFullName();
|
||||
}
|
||||
|
||||
const SearchNode* TokenComponentNameReferenced::getSearchNode() const
|
||||
{
|
||||
return m_searchNode;
|
||||
}
|
||||
|
||||
TokenComponentNameCached::TokenComponentNameCached(const std::vector<std::string>& nameHierarchy)
|
||||
: m_nameHierarchy(nameHierarchy)
|
||||
{
|
||||
}
|
||||
|
||||
TokenComponentNameCached::TokenComponentNameCached(const NameHierarchy& nameHierarchy)
|
||||
{
|
||||
for (size_t i = 0; i < nameHierarchy.size(); i++)
|
||||
{
|
||||
m_nameHierarchy.push_back(nameHierarchy[i]->getFullName());
|
||||
}
|
||||
}
|
||||
|
||||
TokenComponentNameCached::~TokenComponentNameCached()
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<TokenComponent> TokenComponentNameCached::copy() const
|
||||
{
|
||||
return std::make_shared<TokenComponentNameCached>(m_nameHierarchy);
|
||||
}
|
||||
|
||||
std::string TokenComponentNameCached::getName() const
|
||||
{
|
||||
return m_nameHierarchy.back();
|
||||
}
|
||||
|
||||
std::string TokenComponentNameCached::getFullName() const
|
||||
{
|
||||
return utility::join(m_nameHierarchy, "::");
|
||||
}
|
||||
|
||||
const SearchNode* TokenComponentNameCached::getSearchNode() const
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
#ifndef TOKEN_COMPONENT_NAME_H
|
||||
#define TOKEN_COMPONENT_NAME_H
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "data/graph/token_component/TokenComponent.h"
|
||||
#include "data/name/NameHierarchy.h"
|
||||
#include "data/search/SearchNode.h"
|
||||
|
||||
class TokenComponentName
|
||||
: public TokenComponent
|
||||
{
|
||||
public:
|
||||
TokenComponentName();
|
||||
virtual ~TokenComponentName();
|
||||
|
||||
std::shared_ptr<TokenComponentName> copyComponentName() const;
|
||||
|
||||
virtual std::string getName() const = 0;
|
||||
virtual std::string getFullName() const = 0;
|
||||
|
||||
virtual const SearchNode* getSearchNode() const = 0;
|
||||
};
|
||||
|
||||
|
||||
class TokenComponentNameReferenced
|
||||
: public TokenComponentName
|
||||
{
|
||||
public:
|
||||
TokenComponentNameReferenced(const SearchNode* searchNode);
|
||||
virtual ~TokenComponentNameReferenced();
|
||||
|
||||
virtual std::shared_ptr<TokenComponent> copy() const;
|
||||
|
||||
virtual std::string getName() const;
|
||||
virtual std::string getFullName() const;
|
||||
|
||||
virtual const SearchNode* getSearchNode() const;
|
||||
|
||||
private:
|
||||
const SearchNode* m_searchNode;
|
||||
};
|
||||
|
||||
|
||||
class TokenComponentNameCached
|
||||
: public TokenComponentName
|
||||
{
|
||||
public:
|
||||
TokenComponentNameCached(const std::vector<std::string>& nameHierarchy);
|
||||
TokenComponentNameCached(const NameHierarchy& nameHierarchy);
|
||||
virtual ~TokenComponentNameCached();
|
||||
|
||||
virtual std::shared_ptr<TokenComponent> copy() const;
|
||||
|
||||
virtual std::string getName() const;
|
||||
virtual std::string getFullName() const;
|
||||
|
||||
virtual const SearchNode* getSearchNode() const;
|
||||
|
||||
private:
|
||||
std::vector<std::string> m_nameHierarchy; // TODO: use const NameHierarchy here
|
||||
};
|
||||
|
||||
#endif // TOKEN_COMPONENT_NAME_H
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "data/name/NameElement.h"
|
||||
|
||||
NameElement::NameElement(std::string name)
|
||||
NameElement::NameElement(const std::string& name)
|
||||
: m_name(name)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
class NameElement
|
||||
{
|
||||
public:
|
||||
NameElement(std::string name);
|
||||
NameElement(const std::string& name);
|
||||
~NameElement();
|
||||
|
||||
std::string getFullName() const;
|
||||
|
||||
@@ -4,6 +4,11 @@ NameHierarchy::NameHierarchy()
|
||||
{
|
||||
}
|
||||
|
||||
NameHierarchy::NameHierarchy(const std::string& name)
|
||||
{
|
||||
push(std::make_shared<NameElement>(name));
|
||||
}
|
||||
|
||||
NameHierarchy::~NameHierarchy()
|
||||
{
|
||||
}
|
||||
@@ -46,3 +51,13 @@ std::string NameHierarchy::getFullName() const
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
std::string NameHierarchy::getName() const
|
||||
{
|
||||
if (m_elements.size())
|
||||
{
|
||||
return m_elements.back()->getFullName();
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ class NameHierarchy
|
||||
{
|
||||
public:
|
||||
NameHierarchy();
|
||||
NameHierarchy(const std::string& name);
|
||||
~NameHierarchy();
|
||||
|
||||
void push(std::shared_ptr<NameElement> element);
|
||||
@@ -20,6 +21,7 @@ public:
|
||||
size_t size() const;
|
||||
|
||||
std::string getFullName() const;
|
||||
std::string getName() const;
|
||||
|
||||
private:
|
||||
std::vector<std::shared_ptr<NameElement>> m_elements;
|
||||
|
||||
+38
-39
@@ -3,7 +3,6 @@
|
||||
#include "utility/utilityString.h"
|
||||
|
||||
#include "data/graph/Graph.h"
|
||||
#include "data/graph/token_component/TokenComponentName.h"
|
||||
|
||||
class GraphTestSuite : public CxxTest::TestSuite
|
||||
{
|
||||
@@ -93,7 +92,7 @@ public:
|
||||
|
||||
void test_nodes_are_nodes()
|
||||
{
|
||||
Node a(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node a(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
|
||||
TS_ASSERT(a.isNode());
|
||||
TS_ASSERT(!a.isEdge());
|
||||
@@ -101,8 +100,8 @@ public:
|
||||
|
||||
void test_edges_are_edges()
|
||||
{
|
||||
Node a(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node b(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node a(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
Node b(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
Edge e(3, Edge::EDGE_TYPE_OF, &a, &b);
|
||||
|
||||
TS_ASSERT(!e.isNode());
|
||||
@@ -111,27 +110,27 @@ public:
|
||||
|
||||
void test_set_type_of_node_from_constructor()
|
||||
{
|
||||
Node n(1, Node::NODE_FUNCTION, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node n(1, Node::NODE_FUNCTION, NameHierarchy("A"));
|
||||
TS_ASSERT_EQUALS(Node::NODE_FUNCTION, n.getType());
|
||||
}
|
||||
|
||||
void test_set_type_of_node_from_undefined()
|
||||
{
|
||||
Node n(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node n(2, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
n.setType(Node::NODE_CLASS);
|
||||
TS_ASSERT_EQUALS(Node::NODE_CLASS, n.getType());
|
||||
}
|
||||
|
||||
void test_can_not_change_type_of_node_after_it_was_set()
|
||||
{
|
||||
Node n(3, Node::NODE_NAMESPACE, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node n(3, Node::NODE_NAMESPACE, NameHierarchy("A"));
|
||||
n.setType(Node::NODE_CLASS);
|
||||
TS_ASSERT_DIFFERS(Node::NODE_CLASS, n.getType());
|
||||
}
|
||||
|
||||
void test_node_can_be_copied_and_keeps_same_id()
|
||||
{
|
||||
Node n(4, Node::NODE_NAMESPACE, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node n(4, Node::NODE_NAMESPACE, NameHierarchy("A"));
|
||||
Node n2(n);
|
||||
|
||||
TS_ASSERT_DIFFERS(&n, &n2);
|
||||
@@ -142,15 +141,15 @@ public:
|
||||
|
||||
void test_node_type_bit_masking()
|
||||
{
|
||||
Node n(1, Node::NODE_NAMESPACE, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node n(1, Node::NODE_NAMESPACE, NameHierarchy("A"));
|
||||
TS_ASSERT(n.isType(Node::NODE_FUNCTION | Node::NODE_NAMESPACE | Node::NODE_CLASS));
|
||||
TS_ASSERT(!n.isType(Node::NODE_FUNCTION | Node::NODE_METHOD | Node::NODE_CLASS));
|
||||
}
|
||||
|
||||
void test_get_type_of_edges()
|
||||
{
|
||||
Node a(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node b(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node a(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
Node b(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
Edge e(3, Edge::EDGE_TYPE_OF, &a, &b);
|
||||
|
||||
TS_ASSERT_EQUALS(Edge::EDGE_TYPE_OF, e.getType());
|
||||
@@ -158,8 +157,8 @@ public:
|
||||
|
||||
void test_edge_can_be_copied_and_keeps_same_id()
|
||||
{
|
||||
Node a(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node b(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node a(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
Node b(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
Edge e(3, Edge::EDGE_TYPE_OF, &a, &b);
|
||||
Edge e2(e, &a, &b);
|
||||
|
||||
@@ -170,8 +169,8 @@ public:
|
||||
|
||||
void test_edge_type_bit_masking()
|
||||
{
|
||||
Node a(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node b(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node a(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
Node b(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
Edge e(3, Edge::EDGE_TYPE_OF, &a, &b);
|
||||
|
||||
TS_ASSERT(e.isType(Edge::EDGE_MEMBER | Edge::EDGE_CALL | Edge::EDGE_TYPE_OF));
|
||||
@@ -180,9 +179,9 @@ public:
|
||||
|
||||
void test_node_finds_child_node()
|
||||
{
|
||||
Node a(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node b(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node c(3, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("C", "::")));
|
||||
Node a(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
Node b(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
Node c(3, Node::NODE_UNDEFINED, NameHierarchy("C"));
|
||||
Edge e(4, Edge::EDGE_MEMBER, &a, &b);
|
||||
Edge e2(5, Edge::EDGE_MEMBER, &a, &c);
|
||||
|
||||
@@ -199,9 +198,9 @@ public:
|
||||
|
||||
void test_node_can_not_find_child_node()
|
||||
{
|
||||
Node a(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node b(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node c(3, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("C", "::")));
|
||||
Node a(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
Node b(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
Node c(3, Node::NODE_UNDEFINED, NameHierarchy("C"));
|
||||
Edge e(4, Edge::EDGE_MEMBER, &a, &b);
|
||||
Edge e2(5, Edge::EDGE_MEMBER, &a, &c);
|
||||
|
||||
@@ -217,9 +216,9 @@ public:
|
||||
|
||||
void test_node_visits_child_nodes()
|
||||
{
|
||||
Node a(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node b(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node c(3, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("C", "::")));
|
||||
Node a(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
Node b(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
Node c(3, Node::NODE_UNDEFINED, NameHierarchy("C"));
|
||||
Edge e(4, Edge::EDGE_MEMBER, &a, &b);
|
||||
Edge e2(5, Edge::EDGE_MEMBER, &a, &c);
|
||||
|
||||
@@ -238,10 +237,10 @@ public:
|
||||
|
||||
void test_node_has_references()
|
||||
{
|
||||
Node a(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node b(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node c(3, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("C", "::")));
|
||||
Node d(4, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("D", "::")));
|
||||
Node a(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
Node b(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
Node c(3, Node::NODE_UNDEFINED, NameHierarchy("C"));
|
||||
Node d(4, Node::NODE_UNDEFINED, NameHierarchy("D"));
|
||||
Edge e(5, Edge::EDGE_MEMBER, &a, &b);
|
||||
Edge e2(6, Edge::EDGE_MEMBER, &a, &c);
|
||||
Edge e3(7, Edge::EDGE_USAGE, &c, &d);
|
||||
@@ -254,8 +253,8 @@ public:
|
||||
void test_graph_saves_nodes()
|
||||
{
|
||||
Graph graph;
|
||||
Node* a = graph.createNode(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node* b = graph.createNode(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node* a = graph.createNode(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
Node* b = graph.createNode(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
|
||||
TS_ASSERT_EQUALS(2, graph.getNodeCount());
|
||||
TS_ASSERT_EQUALS(0, graph.getEdgeCount());
|
||||
@@ -273,8 +272,8 @@ public:
|
||||
{
|
||||
Graph graph;
|
||||
|
||||
Node* a = graph.createNode(1, Node::NODE_FUNCTION, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node* b = graph.createNode(2, Node::NODE_FUNCTION, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node* a = graph.createNode(1, Node::NODE_FUNCTION, NameHierarchy("A"));
|
||||
Node* b = graph.createNode(2, Node::NODE_FUNCTION, NameHierarchy("B"));
|
||||
|
||||
Edge* e = graph.createEdge(3, Edge::EDGE_CALL, a, b);
|
||||
|
||||
@@ -289,8 +288,8 @@ public:
|
||||
{
|
||||
Graph graph;
|
||||
|
||||
Node* a = graph.createNode(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
graph.createNode(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node* a = graph.createNode(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
graph.createNode(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
|
||||
TS_ASSERT_EQUALS(2, graph.getNodeCount());
|
||||
TS_ASSERT_EQUALS(0, graph.getEdgeCount());
|
||||
@@ -304,11 +303,11 @@ public:
|
||||
{
|
||||
Graph graph;
|
||||
|
||||
Node* a = graph.createNode(1, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("A", "::")));
|
||||
Node* b = graph.createNode(2, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("B", "::")));
|
||||
Node* c = graph.createNode(3, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("C", "::")));
|
||||
Node* d = graph.createNode(4, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("D", "::")));
|
||||
Node* e = graph.createNode(5, Node::NODE_UNDEFINED, std::make_shared<TokenComponentNameCached>(utility::splitToVector("E", "::")));
|
||||
Node* a = graph.createNode(1, Node::NODE_UNDEFINED, NameHierarchy("A"));
|
||||
Node* b = graph.createNode(2, Node::NODE_UNDEFINED, NameHierarchy("B"));
|
||||
Node* c = graph.createNode(3, Node::NODE_UNDEFINED, NameHierarchy("C"));
|
||||
Node* d = graph.createNode(4, Node::NODE_UNDEFINED, NameHierarchy("D"));
|
||||
Node* e = graph.createNode(5, Node::NODE_UNDEFINED, NameHierarchy("E"));
|
||||
|
||||
graph.createEdge(6, Edge::EDGE_MEMBER, a, b);
|
||||
graph.createEdge(7, Edge::EDGE_MEMBER, a, c);
|
||||
|
||||
Reference in New Issue
Block a user