retdec
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
retdec::demangler::borland::BuiltInTypeNode Class Reference

Node for representation of built-in types. Used for types: void, bool, char16_t, char32_t and wchar_t. More...

#include <built_in_type.h>

Inheritance diagram for retdec::demangler::borland::BuiltInTypeNode:
Inheritance graph
[legend]
Collaboration diagram for retdec::demangler::borland::BuiltInTypeNode:
Collaboration graph
[legend]

Public Member Functions

virtual std::string typeName () const
 
void printLeft (std::ostream &s) const override
 Prints text representation of type with qualifiers to output stream. More...
 
- Public Member Functions inherited from retdec::demangler::borland::TypeNode
Qualifiers quals ()
 
- Public Member Functions inherited from retdec::demangler::borland::Node
 Node (Kind kind, bool has_right_side=false)
 Abstract constructor for base node. More...
 
virtual ~Node ()=default
 
void print (std::ostream &s) const
 Prints left side of node. More...
 
std::string str () const
 
Kind kind () const
 
virtual void printRight (std::ostream &s) const
 Some nodes need special trailing characters. More...
 
bool hasRight ()
 

Static Public Member Functions

static std::shared_ptr< BuiltInTypeNodecreate (Context &context, const std::string &typeName, const Qualifiers &quals)
 Creates unique pointer to built-in type nodes. More...
 

Protected Member Functions

 BuiltInTypeNode (const std::string &typeName, const Qualifiers &quals)
 Private constructor for built-in type nodes. Use create(). More...
 
- Protected Member Functions inherited from retdec::demangler::borland::TypeNode
 TypeNode (const Qualifiers &quals)
 

Protected Attributes

std::string _typeName
 
- Protected Attributes inherited from retdec::demangler::borland::TypeNode
Qualifiers _quals
 
- Protected Attributes inherited from retdec::demangler::borland::Node
Kind _kind
 
bool _has_right
 

Additional Inherited Members

- Public Types inherited from retdec::demangler::borland::Node
enum class  Kind {
  KFunction , KFunctionType , KName , KNestedName ,
  KNodeArray , KNodeString , KTypeNode , KBuiltInType ,
  KPointerType , KIntegralType , KCharType , KFloatType ,
  KParentheses , KReferenceType , KRReferenceType , KNamedType ,
  KTemplateNode , KArrayNode , KConversionOperator
}
 

Detailed Description

Node for representation of built-in types. Used for types: void, bool, char16_t, char32_t and wchar_t.

Constructor & Destructor Documentation

◆ BuiltInTypeNode()

retdec::demangler::borland::BuiltInTypeNode::BuiltInTypeNode ( const std::string &  typeName,
const Qualifiers quals 
)
protected

Private constructor for built-in type nodes. Use create().

Parameters
typeNameRepresentation of type name.
quals

Member Function Documentation

◆ create()

std::shared_ptr< BuiltInTypeNode > retdec::demangler::borland::BuiltInTypeNode::create ( Context context,
const std::string &  typeName,
const Qualifiers quals 
)
static

Creates unique pointer to built-in type nodes.

Parameters
context
typeNameRepresentation of type name.
quals
Returns
Unique pointer to built-in type nodes.

◆ printLeft()

void retdec::demangler::borland::BuiltInTypeNode::printLeft ( std::ostream &  s) const
overridevirtual

Prints text representation of type with qualifiers to output stream.

Implements retdec::demangler::borland::Node.

Reimplemented in retdec::demangler::borland::IntegralTypeNode, and retdec::demangler::borland::CharTypeNode.

◆ typeName()

std::string retdec::demangler::borland::BuiltInTypeNode::typeName ( ) const
virtual
Returns
String representation of type name.

Reimplemented in retdec::demangler::borland::IntegralTypeNode, and retdec::demangler::borland::CharTypeNode.

Member Data Documentation

◆ _typeName

std::string retdec::demangler::borland::BuiltInTypeNode::_typeName
protected

The documentation for this class was generated from the following files: