retdec
|
Representation of l-value references. More...
#include <reference_type.h>
Public Member Functions | |
std::shared_ptr< Node > | pointee () |
void | printLeft (std::ostream &s) const override |
Prints left side of reference type or whole, depending on pointee. Right side printing is used for arrays and references to function types. More... | |
void | printRight (std::ostream &s) const override |
Prints right side of reference type. Used for array and funtion types. More... | |
![]() | |
Qualifiers | quals () |
![]() | |
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< ReferenceTypeNode > | create (Context &context, std::shared_ptr< Node > pointee) |
Function for creating references. If type the same type was already created, then that instance is returned. More... | |
Private Member Functions | |
ReferenceTypeNode (std::shared_ptr< Node > pointee) | |
Private Attributes | |
std::shared_ptr< Node > | _pointee |
Additional Inherited Members | |
![]() | |
enum class | Kind { KFunction , KFunctionType , KName , KNestedName , KNodeArray , KNodeString , KTypeNode , KBuiltInType , KPointerType , KIntegralType , KCharType , KFloatType , KParentheses , KReferenceType , KRReferenceType , KNamedType , KTemplateNode , KArrayNode , KConversionOperator } |
![]() | |
TypeNode (const Qualifiers &quals) | |
![]() | |
Qualifiers | _quals |
![]() | |
Kind | _kind |
bool | _has_right |
Representation of l-value references.
|
explicitprivate |
Private constructor for references. Use create(). Reference can't be const or volatile.
|
static |
Function for creating references. If type the same type was already created, then that instance is returned.
context | Storage for types. |
pointee | Referenced type. |
std::shared_ptr< Node > retdec::demangler::borland::ReferenceTypeNode::pointee | ( | ) |
|
overridevirtual |
Prints left side of reference type or whole, depending on pointee. Right side printing is used for arrays and references to function types.
Implements retdec::demangler::borland::Node.
|
overridevirtual |
Prints right side of reference type. Used for array and funtion types.
Reimplemented from retdec::demangler::borland::Node.
|
private |