retdec
named_type.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_NAMED_TYPE_H
8 #define RETDEC_NAMED_TYPE_H
9 
11 
12 namespace retdec {
13 namespace demangler {
14 namespace borland {
15 
19 class NamedTypeNode : public TypeNode
20 {
21 public:
22  static std::shared_ptr<NamedTypeNode> create(
23  std::shared_ptr<Node> typeName,
24  const Qualifiers &quals);
25 
26  std::shared_ptr<Node> name();
27 
28  void printLeft(std::ostream &s) const override;
29 
30 private:
31  NamedTypeNode(std::shared_ptr<Node> typeName, const Qualifiers &quals);
32 
33 private:
34  std::shared_ptr<Node> _typeName;
35 };
36 
37 } // borland
38 } // demangler
39 } // retdec
40 
41 #endif //RETDEC_NAMED_TYPE_H
Representation of named types (classes, templates).
Definition: named_type.h:20
std::shared_ptr< Node > _typeName
Definition: named_type.h:34
void printLeft(std::ostream &s) const override
Prints text representation of named type with qualifiers to output stream.
Definition: named_type.cpp:49
NamedTypeNode(std::shared_ptr< Node > typeName, const Qualifiers &quals)
Definition: named_type.cpp:18
std::shared_ptr< Node > name()
Definition: named_type.cpp:41
static std::shared_ptr< NamedTypeNode > create(std::shared_ptr< Node > typeName, const Qualifiers &quals)
Function for creating named types. If type the same type was already created, then that instance is r...
Definition: named_type.cpp:31
Definition: qualifiers.h:20
Base class for all type nodes.
Definition: type_node.h:21
Qualifiers quals()
Definition: type_node.cpp:23
Definition: archive_wrapper.h:19
Base class for all types in borland AST.