retdec
|
Base class for all nodes in AST. More...
#include <node.h>
Public Types | |
enum class | Kind { KFunction , KFunctionType , KName , KNestedName , KNodeArray , KNodeString , KTypeNode , KBuiltInType , KPointerType , KIntegralType , KCharType , KFloatType , KParentheses , KReferenceType , KRReferenceType , KNamedType , KTemplateNode , KArrayNode , KConversionOperator } |
Public Member Functions | |
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 | printLeft (std::ostream &s) const =0 |
virtual void | printRight (std::ostream &s) const |
Some nodes need special trailing characters. More... | |
bool | hasRight () |
Protected Attributes | |
Kind | _kind |
bool | _has_right |
Base class for all nodes in AST.
|
strong |
|
explicit |
Abstract constructor for base node.
kind | Kind of node. |
has_right_side |
|
virtualdefault |
bool retdec::demangler::borland::Node::hasRight | ( | ) |
Node::Kind retdec::demangler::borland::Node::kind | ( | ) | const |
void retdec::demangler::borland::Node::print | ( | std::ostream & | s | ) | const |
Prints left side of node.
s | output stream |
|
pure virtual |
Implemented in retdec::demangler::borland::TemplateNode, retdec::demangler::borland::RReferenceTypeNode, retdec::demangler::borland::ReferenceTypeNode, retdec::demangler::borland::PointerTypeNode, retdec::demangler::borland::ParenthesesNode, retdec::demangler::borland::NodeString, retdec::demangler::borland::NodeArray, retdec::demangler::borland::NamedTypeNode, retdec::demangler::borland::NestedNameNode, retdec::demangler::borland::NameNode, retdec::demangler::borland::IntegralTypeNode, retdec::demangler::borland::FunctionTypeNode, retdec::demangler::borland::FunctionNode, retdec::demangler::borland::ConversionOperatorNode, retdec::demangler::borland::CharTypeNode, retdec::demangler::borland::BuiltInTypeNode, and retdec::demangler::borland::ArrayNode.
|
virtual |
Some nodes need special trailing characters.
s | output stream. |
Reimplemented in retdec::demangler::borland::RReferenceTypeNode, retdec::demangler::borland::ReferenceTypeNode, retdec::demangler::borland::PointerTypeNode, retdec::demangler::borland::FunctionTypeNode, and retdec::demangler::borland::ArrayNode.
std::string retdec::demangler::borland::Node::str | ( | ) | const |
|
protected |
|
protected |