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

Representation of array types. More...

#include <array_type.h>

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

Public Member Functions

std::shared_ptr< Nodepointee ()
 
unsigned size ()
 
void printLeft (std::ostream &s) const override
 
void printRight (std::ostream &s) const override
 
- 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
 
bool hasRight ()
 

Static Public Member Functions

static std::shared_ptr< ArrayNodecreate (Context &context, std::shared_ptr< Node > pointee, unsigned size, const Qualifiers &quals)
 Function for creating array types. If type the same type was already created, then that instance is returned. More...
 

Private Member Functions

 ArrayNode (std::shared_ptr< Node > pointee, unsigned size, const Qualifiers &quals)
 

Private Attributes

std::shared_ptr< Node_pointee
 
unsigned _size
 

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 array types.

Constructor & Destructor Documentation

◆ ArrayNode()

retdec::demangler::borland::ArrayNode::ArrayNode ( std::shared_ptr< Node pointee,
unsigned  size,
const Qualifiers quals 
)
private

Private constructor for array types. Use create().

Member Function Documentation

◆ create()

std::shared_ptr< ArrayNode > retdec::demangler::borland::ArrayNode::create ( Context context,
std::shared_ptr< Node pointee,
unsigned  size,
const Qualifiers quals 
)
static

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

Parameters
contextStorage for types.
pointeeType of array.
size
quals
Returns
Node representing array type.

◆ pointee()

std::shared_ptr< Node > retdec::demangler::borland::ArrayNode::pointee ( )

◆ printLeft()

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

Prints left side of array type to output stream.

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

◆ printRight()

void retdec::demangler::borland::ArrayNode::printRight ( std::ostream &  s) const
overridevirtual

Prints right side of array type to output stream.

Reimplemented from retdec::demangler::borland::Node.

◆ size()

unsigned retdec::demangler::borland::ArrayNode::size ( )

Member Data Documentation

◆ _pointee

std::shared_ptr<Node> retdec::demangler::borland::ArrayNode::_pointee
private

◆ _size

unsigned retdec::demangler::borland::ArrayNode::_size
private

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