data: lambda handling

* implemented handling lambdas as functions
* functions can have child nodes now
* NameElements in NameHierarchy can have signatures now.
* fixed crash that occurred when message listener was used while being half way through its destruction process.
This commit is contained in:
malte_langkabel
2015-12-10 18:00:54 +01:00
parent 2b03215ea4
commit 01bcf7266b
22 changed files with 238 additions and 568 deletions
+12
View File
@@ -2,6 +2,13 @@
NameElement::NameElement(const std::string& name)
: m_name(name)
, m_signature("")
{
}
NameElement::NameElement(const std::string& name, const std::string& signature)
: m_name(name)
, m_signature(signature)
{
}
@@ -13,3 +20,8 @@ std::string NameElement::getFullName() const
{
return m_name;
}
std::string NameElement::getFullSignature() const
{
return m_signature;
}
+3
View File
@@ -7,12 +7,15 @@ class NameElement
{
public:
NameElement(const std::string& name);
NameElement(const std::string& name, const std::string& signature);
~NameElement();
std::string getFullName() const;
std::string getFullSignature() const;
private:
std::string m_name;
std::string m_signature;
};
#endif // NAME_ELEMENT_H
+1 -1
View File
@@ -23,7 +23,7 @@ void NameHierarchy::pop()
m_elements.pop_back();
}
std::shared_ptr<NameElement> NameHierarchy::back()
std::shared_ptr<NameElement> NameHierarchy::back() const
{
return m_elements.back();
}
+1 -1
View File
@@ -16,7 +16,7 @@ public:
void push(std::shared_ptr<NameElement> element);
void pop();
std::shared_ptr<NameElement> back();
std::shared_ptr<NameElement> back() const;
std::shared_ptr<NameElement> operator[](size_t pos) const;
size_t size() const;