retdec
function_node.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_FUNCTION_NODE_H
8 #define RETDEC_FUNCTION_NODE_H
9 
12 
13 namespace retdec {
14 namespace demangler {
15 namespace borland {
16 
20 class FunctionNode : public Node
21 {
22 public:
23  static std::shared_ptr<FunctionNode> create(
24  std::shared_ptr<Node> name,
25  std::shared_ptr<FunctionTypeNode> funcType);
26 
27  void printLeft(std::ostream &s) const override;
28 
29  std::shared_ptr<Node> name();
30 
31  std::shared_ptr<FunctionTypeNode> funcType();
32 
33 private:
35  std::shared_ptr<Node> name,
36  std::shared_ptr<FunctionTypeNode> funcType);
37 
38 private:
39  std::shared_ptr<Node> _name;
40  std::shared_ptr<FunctionTypeNode> _funcType;
41 };
42 
43 } // borland
44 } // demangler
45 } // retdec
46 
47 #endif //RETDEC_FUNCTION_NODE_H
Definition: function_node.h:21
FunctionNode(std::shared_ptr< Node > name, std::shared_ptr< FunctionTypeNode > funcType)
Private function node constructor. Use create().
Definition: function_node.cpp:18
std::shared_ptr< Node > name()
Definition: function_node.cpp:39
void printLeft(std::ostream &s) const override
Prints text representation of function.
Definition: function_node.cpp:53
std::shared_ptr< FunctionTypeNode > _funcType
Definition: function_node.h:40
static std::shared_ptr< FunctionNode > create(std::shared_ptr< Node > name, std::shared_ptr< FunctionTypeNode > funcType)
Creates shared pointer to function node.
Definition: function_node.cpp:31
std::shared_ptr< FunctionTypeNode > funcType()
Definition: function_node.cpp:44
std::shared_ptr< Node > _name
Definition: function_node.h:39
Base class for all nodes in AST.
Definition: node.h:22
Representation of function types in borland AST.
Definition: archive_wrapper.h:19
Base class for all nodes in borland AST.