LLVM 22.0.0git
FunctionEncoding Class Referencefinal

#include "llvm/Demangle/ItaniumDemangle.h"

Inheritance diagram for FunctionEncoding:
[legend]

Public Member Functions

 FunctionEncoding (const Node *Ret_, const Node *Name_, NodeArray Params_, const Node *Attrs_, const Node *Requires_, Qualifiers CVQuals_, FunctionRefQual RefQual_)
template<typename Fn>
void match (Fn F) const
Qualifiers getCVQuals () const
FunctionRefQual getRefQual () const
NodeArray getParams () const
const NodegetReturnType () const
const NodegetAttrs () const
const NodegetRequires () const
bool hasRHSComponentSlow (OutputBuffer &) const override
bool hasFunctionSlow (OutputBuffer &) const override
const NodegetName () const
void printLeft (OutputBuffer &OB) const override
void printRight (OutputBuffer &OB) const override
Public Member Functions inherited from Node
 Node (Kind K_, Prec Precedence_=Prec::Primary, Cache RHSComponentCache_=Cache::No, Cache ArrayCache_=Cache::No, Cache FunctionCache_=Cache::No)
 Node (Kind K_, Cache RHSComponentCache_, Cache ArrayCache_=Cache::No, Cache FunctionCache_=Cache::No)
template<typename Fn>
void visit (Fn F) const
 Visit the most-derived object corresponding to this object.
bool hasRHSComponent (OutputBuffer &OB) const
bool hasArray (OutputBuffer &OB) const
bool hasFunction (OutputBuffer &OB) const
Kind getKind () const
Prec getPrecedence () const
Cache getRHSComponentCache () const
Cache getArrayCache () const
Cache getFunctionCache () const
virtual bool hasArraySlow (OutputBuffer &) const
virtual const NodegetSyntaxNode (OutputBuffer &) const
void printAsOperand (OutputBuffer &OB, Prec P=Prec::Default, bool StrictlyWorse=false) const
void print (OutputBuffer &OB) const
virtual bool printInitListAsType (OutputBuffer &, const NodeArray &) const
virtual std::string_view getBaseName () const
virtual ~Node ()=default
DEMANGLE_DUMP_METHOD void dump () const

Additional Inherited Members

Public Types inherited from Node
enum  Kind : uint8_t
enum class  Cache : uint8_t { Yes , No , Unknown }
 Three-way bool to track a cached value. More...
enum class  Prec : uint8_t {
  Primary , Postfix , Unary , Cast ,
  PtrMem , Multiplicative , Additive , Shift ,
  Spaceship , Relational , Equality , And ,
  Xor , Ior , AndIf , OrIf ,
  Conditional , Assign , Comma , Default
}
 Operator precedence for expression nodes. More...
Protected Attributes inherited from Node
Cache RHSComponentCache: 2
 Tracks if this node has a component on its right side, in which case we need to call printRight.
Cache ArrayCache: 2
 Track if this node is a (possibly qualified) array type.
Cache FunctionCache: 2
 Track if this node is a (possibly qualified) function type.

Detailed Description

Definition at line 952 of file ItaniumDemangle.h.

Constructor & Destructor Documentation

โ—† FunctionEncoding()

FunctionEncoding::FunctionEncoding ( const Node * Ret_,
const Node * Name_,
NodeArray Params_,
const Node * Attrs_,
const Node * Requires_,
Qualifiers CVQuals_,
FunctionRefQual RefQual_ )
inline

Definition at line 962 of file ItaniumDemangle.h.

References Node::No, Node::Node(), and Node::Yes.

Member Function Documentation

โ—† getAttrs()

const Node * FunctionEncoding::getAttrs ( ) const
inline

Definition at line 979 of file ItaniumDemangle.h.

References Node::Node().

โ—† getCVQuals()

Qualifiers FunctionEncoding::getCVQuals ( ) const
inline

โ—† getName()

const Node * FunctionEncoding::getName ( ) const
inline

Definition at line 985 of file ItaniumDemangle.h.

References Node::Node().

โ—† getParams()

NodeArray FunctionEncoding::getParams ( ) const
inline

Definition at line 977 of file ItaniumDemangle.h.

โ—† getRefQual()

FunctionRefQual FunctionEncoding::getRefQual ( ) const
inline

Definition at line 976 of file ItaniumDemangle.h.

โ—† getRequires()

const Node * FunctionEncoding::getRequires ( ) const
inline

Definition at line 980 of file ItaniumDemangle.h.

References Node::Node().

โ—† getReturnType()

const Node * FunctionEncoding::getReturnType ( ) const
inline

Definition at line 978 of file ItaniumDemangle.h.

References Node::Node().

โ—† hasFunctionSlow()

bool FunctionEncoding::hasFunctionSlow ( OutputBuffer & ) const
inlineoverridevirtual

Reimplemented from Node.

Definition at line 983 of file ItaniumDemangle.h.

References Node::OutputBuffer.

โ—† hasRHSComponentSlow()

bool FunctionEncoding::hasRHSComponentSlow ( OutputBuffer & ) const
inlineoverridevirtual

Reimplemented from Node.

Definition at line 982 of file ItaniumDemangle.h.

References Node::OutputBuffer.

โ—† match()

template<typename Fn>
void FunctionEncoding::match ( Fn F) const
inline

Definition at line 971 of file ItaniumDemangle.h.

References F.

โ—† printLeft()

void FunctionEncoding::printLeft ( OutputBuffer & OB) const
inlineoverridevirtual

Implements Node.

Definition at line 987 of file ItaniumDemangle.h.

References Node::OutputBuffer.

โ—† printRight()

void FunctionEncoding::printRight ( OutputBuffer & OB) const
inlineoverridevirtual

Reimplemented from Node.

Definition at line 997 of file ItaniumDemangle.h.

References FrefQualLValue, FrefQualRValue, Node::OutputBuffer, QualConst, QualRestrict, and QualVolatile.


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