retdec
built_in_type.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_BUILT_IN_TYPE_H
8 #define RETDEC_BUILT_IN_TYPE_H
9 
12 
13 namespace retdec {
14 namespace demangler {
15 namespace borland {
16 
21 class BuiltInTypeNode : public TypeNode
22 {
23 public:
24  static std::shared_ptr<BuiltInTypeNode> create(
25  Context &context,
26  const std::string &typeName,
27  const Qualifiers &quals);
28 
29  virtual std::string typeName() const;
30 
31  void printLeft(std::ostream &s) const override;
32 
33 protected:
35  const std::string &typeName,
36  const Qualifiers &quals);
37 
38 protected:
39  std::string _typeName;
40 };
41 
42 } // borland
43 } // demangler
44 } // retdec
45 
46 #endif //RETDEC_BUILT_IN_TYPE_H
Node for representation of built-in types. Used for types: void, bool, char16_t, char32_t and wchar_t...
Definition: built_in_type.h:22
virtual std::string typeName() const
Definition: built_in_type.cpp:51
BuiltInTypeNode(const std::string &typeName, const Qualifiers &quals)
Private constructor for built-in type nodes. Use create().
Definition: built_in_type.cpp:20
void printLeft(std::ostream &s) const override
Prints text representation of type with qualifiers to output stream.
Definition: built_in_type.cpp:59
std::string _typeName
Definition: built_in_type.h:39
static std::shared_ptr< BuiltInTypeNode > create(Context &context, const std::string &typeName, const Qualifiers &quals)
Creates unique pointer to built-in type nodes.
Definition: built_in_type.cpp:33
Storage for functions, types and names. Used for cacheing.
Definition: context.h:38
Definition: qualifiers.h:20
Base class for all type nodes.
Definition: type_node.h:21
Qualifiers quals()
Definition: type_node.cpp:23
Storage for all created nodes in borland AST.
Definition: archive_wrapper.h:19
Base class for all types in borland AST.