retdec
integral_type.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_INTEGRAL_TYPE_H
8 #define RETDEC_INTEGRAL_TYPE_H
9 
11 
12 namespace retdec {
13 namespace demangler {
14 namespace borland {
15 
20 {
21 public:
22  static std::shared_ptr<IntegralTypeNode> create(
23  Context &context,
24  const std::string &typeName,
25  bool isUnsigned,
26  const Qualifiers &quals);
27 
28  bool isUnsigned();
29 
30  std::string typeName() const override;
31 
32  void printLeft(std::ostream &s) const override;
33 
34 private:
36  const std::string &typeName,
37  bool isUnsigned,
38  const Qualifiers &quals);
39 
40 private:
42 };
43 
44 } // borland
45 } // demangler
46 } // retdec
47 
48 #endif //RETDEC_INTEGRAL_TYPE_H
Representation of built-in types in borland AST.
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
Storage for functions, types and names. Used for cacheing.
Definition: context.h:38
Representation of integral types.
Definition: integral_type.h:20
IntegralTypeNode(const std::string &typeName, bool isUnsigned, const Qualifiers &quals)
Private constructor for integral types. Use create().
Definition: integral_type.cpp:18
void printLeft(std::ostream &s) const override
Prints text representation of type with qualifiers to output stream.
Definition: integral_type.cpp:66
bool isUnsigned()
Definition: integral_type.cpp:53
bool _isUnsigned
Definition: integral_type.h:41
std::string typeName() const override
Definition: integral_type.cpp:58
static std::shared_ptr< IntegralTypeNode > create(Context &context, const std::string &typeName, bool isUnsigned, const Qualifiers &quals)
Function for creating integral types. If type the same type was already created, then that instance i...
Definition: integral_type.cpp:34
Definition: qualifiers.h:20
Qualifiers quals()
Definition: type_node.cpp:23
Definition: archive_wrapper.h:19