retdec
template_node.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_TEMPLATE_NODE_H
8 #define RETDEC_TEMPLATE_NODE_H
9 
11 
12 namespace retdec {
13 namespace demangler {
14 namespace borland {
15 
16 /*
17  * @brief Representation of templates in borland AST.
18  */
19 class TemplateNode : public Node
20 {
21 public:
22  static std::shared_ptr<TemplateNode> create(
23  std::shared_ptr<Node> name,
24  std::shared_ptr<Node> params);
25 
26  void printLeft(std::ostream &s) const override;
27 
28 private:
30  std::shared_ptr<Node> name,
31  std::shared_ptr<Node> params);
32 
33 private:
34  std::shared_ptr<Node> _name;
35  std::shared_ptr<Node> _params;
36 };
37 
38 } // borland
39 } // demangler
40 } // retdec
41 
42 #endif //RETDEC_TEMPLATE_NODE_H
Base class for all nodes in AST.
Definition: node.h:22
Definition: template_node.h:20
std::shared_ptr< Node > _name
Definition: template_node.h:34
TemplateNode(std::shared_ptr< Node > name, std::shared_ptr< Node > params)
Definition: template_node.cpp:20
static std::shared_ptr< TemplateNode > create(std::shared_ptr< Node > name, std::shared_ptr< Node > params)
Creates shared pointer to template node.
Definition: template_node.cpp:32
void printLeft(std::ostream &s) const override
Prints text representation of template.
Definition: template_node.cpp:44
std::shared_ptr< Node > _params
Definition: template_node.h:35
Definition: archive_wrapper.h:19
Base class for all nodes in borland AST.