class Node

Declaration

class Node { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:155

Member Variables

private llvm::itanium_demangle::Node::Kind K
private llvm::itanium_demangle::Node::Prec Precedence
public llvm::itanium_demangle::Node::Cache RHSComponentCache
Tracks if this node has a component on its right side, in which case we need to call printRight.
public llvm::itanium_demangle::Node::Cache ArrayCache
Track if this node is a (possibly qualified) array type. This can affect how we format the output string.
public llvm::itanium_demangle::Node::Cache FunctionCache
Track if this node is a (possibly qualified) function type. This can affect how we format the output string.

Method Overview

  • public Node(llvm::itanium_demangle::Node::Kind K_, llvm::itanium_demangle::Node::Cache RHSComponentCache_, llvm::itanium_demangle::Node::Cache ArrayCache_ = Cache::No, llvm::itanium_demangle::Node::Cache FunctionCache_ = Cache::No)
  • public Node(llvm::itanium_demangle::Node::Kind K_, llvm::itanium_demangle::Node::Prec Precedence_ = Prec::Primary, llvm::itanium_demangle::Node::Cache RHSComponentCache_ = Cache::No, llvm::itanium_demangle::Node::Cache ArrayCache_ = Cache::No, llvm::itanium_demangle::Node::Cache FunctionCache_ = Cache::No)
  • public void dump() const
  • public virtual llvm::itanium_demangle::StringView getBaseName() const
  • public llvm::itanium_demangle::Node::Kind getKind() const
  • public llvm::itanium_demangle::Node::Prec getPrecedence() const
  • public virtual const llvm::itanium_demangle::Node * getSyntaxNode(llvm::itanium_demangle::OutputBuffer &) const
  • public bool hasArray(llvm::itanium_demangle::OutputBuffer & OB) const
  • public virtual bool hasArraySlow(llvm::itanium_demangle::OutputBuffer &) const
  • public bool hasFunction(llvm::itanium_demangle::OutputBuffer & OB) const
  • public virtual bool hasFunctionSlow(llvm::itanium_demangle::OutputBuffer &) const
  • public bool hasRHSComponent(llvm::itanium_demangle::OutputBuffer & OB) const
  • public virtual bool hasRHSComponentSlow(llvm::itanium_demangle::OutputBuffer &) const
  • public void print(llvm::itanium_demangle::OutputBuffer & OB) const
  • public void printAsOperand(llvm::itanium_demangle::OutputBuffer & OB, llvm::itanium_demangle::Node::Prec P = Prec::Default, bool StrictlyWorse = false) const
  • public virtual void printLeft(llvm::itanium_demangle::OutputBuffer &) const
  • public virtual void printRight(llvm::itanium_demangle::OutputBuffer &) const
  • public template <typename Fn>void visit(Fn F) const
  • public virtual ~Node()

Methods

Node(llvm::itanium_demangle::Node::Kind K_,
     llvm::itanium_demangle::Node::Cache
         RHSComponentCache_,
     llvm::itanium_demangle::Node::Cache
         ArrayCache_ = Cache::No,
     llvm::itanium_demangle::Node::Cache
         FunctionCache_ = Cache::No)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:216

Parameters

llvm::itanium_demangle::Node::Kind K_
llvm::itanium_demangle::Node::Cache RHSComponentCache_
llvm::itanium_demangle::Node::Cache ArrayCache_ = Cache::No
llvm::itanium_demangle::Node::Cache FunctionCache_ = Cache::No

Node(llvm::itanium_demangle::Node::Kind K_,
     llvm::itanium_demangle::Node::Prec
         Precedence_ = Prec::Primary,
     llvm::itanium_demangle::Node::Cache
         RHSComponentCache_ = Cache::No,
     llvm::itanium_demangle::Node::Cache
         ArrayCache_ = Cache::No,
     llvm::itanium_demangle::Node::Cache
         FunctionCache_ = Cache::No)

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:211

Parameters

llvm::itanium_demangle::Node::Kind K_
llvm::itanium_demangle::Node::Prec Precedence_ = Prec::Primary
llvm::itanium_demangle::Node::Cache RHSComponentCache_ = Cache::No
llvm::itanium_demangle::Node::Cache ArrayCache_ = Cache::No
llvm::itanium_demangle::Node::Cache FunctionCache_ = Cache::No

void dump() const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:294

virtual llvm::itanium_demangle::StringView
getBaseName() const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:288

llvm::itanium_demangle::Node::Kind getKind() const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:248

llvm::itanium_demangle::Node::Prec getPrecedence()
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:250

virtual const llvm::itanium_demangle::Node*
getSyntaxNode(
    llvm::itanium_demangle::OutputBuffer&) const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:258

Parameters

llvm::itanium_demangle::OutputBuffer&

bool hasArray(
    llvm::itanium_demangle::OutputBuffer& OB)
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:236

Parameters

llvm::itanium_demangle::OutputBuffer& OB

virtual bool hasArraySlow(
    llvm::itanium_demangle::OutputBuffer&) const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:253

Parameters

llvm::itanium_demangle::OutputBuffer&

bool hasFunction(
    llvm::itanium_demangle::OutputBuffer& OB)
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:242

Parameters

llvm::itanium_demangle::OutputBuffer& OB

virtual bool hasFunctionSlow(
    llvm::itanium_demangle::OutputBuffer&) const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:254

Parameters

llvm::itanium_demangle::OutputBuffer&

bool hasRHSComponent(
    llvm::itanium_demangle::OutputBuffer& OB)
    const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:230

Parameters

llvm::itanium_demangle::OutputBuffer& OB

virtual bool hasRHSComponentSlow(
    llvm::itanium_demangle::OutputBuffer&) const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:252

Parameters

llvm::itanium_demangle::OutputBuffer&

void print(llvm::itanium_demangle::OutputBuffer&
               OB) const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:273

Parameters

llvm::itanium_demangle::OutputBuffer& OB

void printAsOperand(
    llvm::itanium_demangle::OutputBuffer& OB,
    llvm::itanium_demangle::Node::Prec P =
        Prec::Default,
    bool StrictlyWorse = false) const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:262

Parameters

llvm::itanium_demangle::OutputBuffer& OB
llvm::itanium_demangle::Node::Prec P = Prec::Default
bool StrictlyWorse = false

virtual void printLeft(
    llvm::itanium_demangle::OutputBuffer&) const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:280

Parameters

llvm::itanium_demangle::OutputBuffer&

virtual void printRight(
    llvm::itanium_demangle::OutputBuffer&) const

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:286

Parameters

llvm::itanium_demangle::OutputBuffer&

template <typename Fn>
void visit(Fn F) const

Description

Visit the most-derived object corresponding to this object.

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:222

Templates

Fn

Parameters

Fn F

virtual ~Node()

Declared at: llvm/include/llvm/Demangle/ItaniumDemangle.h:291