7 #ifndef RETDEC_NAME_NODE_H
8 #define RETDEC_NAME_NODE_H
23 static std::shared_ptr<NameNode>
create(
25 const std::string &name);
27 void printLeft(std::ostream &s)
const override;
30 explicit NameNode(
const std::string &name);
42 static std::shared_ptr<NestedNameNode>
create(
44 std::shared_ptr<Node>
super,
45 std::shared_ptr<Node>
name);
47 void printLeft(std::ostream &s)
const override;
49 std::shared_ptr<Node>
super();
51 std::shared_ptr<Node>
name();
55 std::shared_ptr<Node>
super,
56 std::shared_ptr<Node>
name);
Storage for functions, types and names. Used for cacheing.
Definition: context.h:38
Node for representation of names.
Definition: name_node.h:21
std::string _name
Definition: name_node.h:33
static std::shared_ptr< NameNode > create(Context &context, const std::string &name)
Definition: name_node.cpp:26
NameNode(const std::string &name)
Constructor for NameNode.
Definition: name_node.cpp:19
void printLeft(std::ostream &s) const override
Prints string represention of node.
Definition: name_node.cpp:42
Node for representation of nested names.
Definition: name_node.h:40
void printLeft(std::ostream &s) const override
Prints left side of node represention.
Definition: name_node.cpp:80
std::shared_ptr< Node > super()
Definition: name_node.cpp:90
std::shared_ptr< Node > _name
Definition: name_node.h:60
std::shared_ptr< Node > _super
Definition: name_node.h:59
static std::shared_ptr< NestedNameNode > create(Context &context, std::shared_ptr< Node > super, std::shared_ptr< Node > name)
Definition: name_node.cpp:63
NestedNameNode(std::shared_ptr< Node > super, std::shared_ptr< Node > name)
Definition: name_node.cpp:52
std::shared_ptr< Node > name()
Definition: name_node.cpp:98
Base class for all nodes in AST.
Definition: node.h:22
Storage for all created nodes in borland AST.
Definition: archive_wrapper.h:19
Base class for all nodes in borland AST.