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

Representation of named types (classes, templates). More...

#include <named_type.h>

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

Public Member Functions

std::shared_ptr< Nodename ()
 
void printLeft (std::ostream &s) const override
 Prints text representation of named 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< NamedTypeNodecreate (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 returned. More...
 

Private Member Functions

 NamedTypeNode (std::shared_ptr< Node > typeName, const Qualifiers &quals)
 

Private Attributes

std::shared_ptr< Node_typeName
 

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
}
 
- Protected Member Functions inherited from retdec::demangler::borland::TypeNode
 TypeNode (const Qualifiers &quals)
 
- Protected Attributes inherited from retdec::demangler::borland::TypeNode
Qualifiers _quals
 
- Protected Attributes inherited from retdec::demangler::borland::Node
Kind _kind
 
bool _has_right
 

Detailed Description

Representation of named types (classes, templates).

Constructor & Destructor Documentation

◆ NamedTypeNode()

retdec::demangler::borland::NamedTypeNode::NamedTypeNode ( std::shared_ptr< Node typeName,
const Qualifiers quals 
)
private

Private constructor for named types. Use create().

Member Function Documentation

◆ create()

std::shared_ptr< NamedTypeNode > retdec::demangler::borland::NamedTypeNode::create ( std::shared_ptr< Node typeName,
const Qualifiers quals 
)
static

Function for creating named types. If type the same type was already created, then that instance is returned.

Parameters
typeNameName of integral type to create.
qualsSee BuiltInTypeNode quals.
Returns
Node representing named type.

◆ name()

std::shared_ptr< Node > retdec::demangler::borland::NamedTypeNode::name ( )
Returns
Node representing name.

◆ printLeft()

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

Prints text representation of named type with qualifiers to output stream.

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

Member Data Documentation

◆ _typeName

std::shared_ptr<Node> retdec::demangler::borland::NamedTypeNode::_typeName
private

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