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

#include <function_node.h>

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

Public Member Functions

void printLeft (std::ostream &s) const override
 Prints text representation of function. More...
 
std::shared_ptr< Nodename ()
 
std::shared_ptr< FunctionTypeNodefuncType ()
 
- 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< FunctionNodecreate (std::shared_ptr< Node > name, std::shared_ptr< FunctionTypeNode > funcType)
 Creates shared pointer to function node. More...
 

Private Member Functions

 FunctionNode (std::shared_ptr< Node > name, std::shared_ptr< FunctionTypeNode > funcType)
 Private function node constructor. Use create(). More...
 

Private Attributes

std::shared_ptr< Node_name
 
std::shared_ptr< FunctionTypeNode_funcType
 

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 functions.

Constructor & Destructor Documentation

◆ FunctionNode()

retdec::demangler::borland::FunctionNode::FunctionNode ( std::shared_ptr< Node name,
std::shared_ptr< FunctionTypeNode funcType 
)
private

Private function node constructor. Use create().

Parameters
namePointer to Name or NestedName node.
funcType

Member Function Documentation

◆ create()

std::shared_ptr< FunctionNode > retdec::demangler::borland::FunctionNode::create ( std::shared_ptr< Node name,
std::shared_ptr< FunctionTypeNode funcType 
)
static

Creates shared pointer to function node.

Parameters
namePointer to Name or NestedName node.
funcType
Returns
Unique pointer to constructed FunctionNode.

◆ funcType()

std::shared_ptr< FunctionTypeNode > retdec::demangler::borland::FunctionNode::funcType ( )

◆ name()

std::shared_ptr< Node > retdec::demangler::borland::FunctionNode::name ( )

◆ printLeft()

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

Prints text representation of function.

Parameters
sOutput stream.

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

Member Data Documentation

◆ _funcType

std::shared_ptr<FunctionTypeNode> retdec::demangler::borland::FunctionNode::_funcType
private

◆ _name

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

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