data: NameHierarchy class
* replaced vector of strings as name hierarchy by a new NameHierarchy class. * Adjusted code in ASTVisitor, Storage and various test cases.
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
#include "data/name/NameHierarchy.h"
|
||||
|
||||
NameHierarchy::NameHierarchy()
|
||||
{
|
||||
}
|
||||
|
||||
NameHierarchy::~NameHierarchy()
|
||||
{
|
||||
}
|
||||
|
||||
void NameHierarchy::push(std::shared_ptr<NameElement> element)
|
||||
{
|
||||
m_elements.push_back(element);
|
||||
}
|
||||
|
||||
void NameHierarchy::pop()
|
||||
{
|
||||
m_elements.pop_back();
|
||||
}
|
||||
|
||||
std::shared_ptr<NameElement> NameHierarchy::back()
|
||||
{
|
||||
return m_elements.back();
|
||||
}
|
||||
|
||||
std::shared_ptr<NameElement> NameHierarchy::operator[](size_t pos) const
|
||||
{
|
||||
return m_elements[pos];
|
||||
}
|
||||
|
||||
size_t NameHierarchy::size() const
|
||||
{
|
||||
return m_elements.size();
|
||||
}
|
||||
|
||||
std::string NameHierarchy::getFullName() const
|
||||
{
|
||||
std::string name;
|
||||
for (int i = 0; i < m_elements.size(); i++)
|
||||
{
|
||||
name += m_elements[i]->getFullName();
|
||||
if (i < m_elements.size() - 1)
|
||||
{
|
||||
name += "::";
|
||||
}
|
||||
}
|
||||
return name;
|
||||
}
|
||||
Reference in New Issue
Block a user