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

Node for representation of nested names. More...

#include <name_node.h>

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

Public Member Functions

void printLeft (std::ostream &s) const override
 Prints left side of node represention. More...
 
std::shared_ptr< Nodesuper ()
 
std::shared_ptr< Nodename ()
 
- 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< NestedNameNodecreate (Context &context, std::shared_ptr< Node > super, std::shared_ptr< Node > name)
 

Private Member Functions

 NestedNameNode (std::shared_ptr< Node > super, std::shared_ptr< Node > name)
 

Private Attributes

std::shared_ptr< Node_super
 
std::shared_ptr< Node_name
 

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 Attributes inherited from retdec::demangler::borland::Node
Kind _kind
 
bool _has_right
 

Detailed Description

Node for representation of nested names.

Constructor & Destructor Documentation

◆ NestedNameNode()

retdec::demangler::borland::NestedNameNode::NestedNameNode ( std::shared_ptr< Node super,
std::shared_ptr< Node name 
)
private

NestedName constructor.

Parameters
superHigher level node.
nameLower level node.

Member Function Documentation

◆ create()

std::shared_ptr< NestedNameNode > retdec::demangler::borland::NestedNameNode::create ( Context context,
std::shared_ptr< Node super,
std::shared_ptr< Node name 
)
static
Parameters
context
superHigher level node.
nameLower level node.
Returns
Unique pointer to new nested name node.

◆ name()

std::shared_ptr< Node > retdec::demangler::borland::NestedNameNode::name ( )
Returns
Lover level node in neste name.

◆ printLeft()

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

Prints left side of node represention.

Parameters
soutput stream

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

◆ super()

std::shared_ptr< Node > retdec::demangler::borland::NestedNameNode::super ( )
Returns
Higher level nodes in nested name.

Member Data Documentation

◆ _name

std::shared_ptr<Node> retdec::demangler::borland::NestedNameNode::_name
private

◆ _super

std::shared_ptr<Node> retdec::demangler::borland::NestedNameNode::_super
private

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