LLVM
8.0.1
|
A forward-reference to a template argument that was not known at the point where the template parameter name was parsed in a mangling. More...
#include "llvm/Demangle/ItaniumDemangle.h"
Public Attributes | |
size_t | Index |
Node * | Ref = nullptr |
bool | Printing = false |
Public Attributes inherited from 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. More... | |
Cache | ArrayCache |
Track if this node is a (possibly qualified) array type. More... | |
Cache | FunctionCache |
Track if this node is a (possibly qualified) function type. More... | |
Additional Inherited Members | |
Public Types inherited from llvm::itanium_demangle::Node | |
enum | Kind : unsigned char |
enum | Cache : unsigned char { Cache::Yes, Cache::No, Cache::Unknown } |
Three-way bool to track a cached value. More... | |
A forward-reference to a template argument that was not known at the point where the template parameter name was parsed in a mangling.
This is created when demangling the name of a specialization of a conversion function template:
When demangling a specialization of the conversion function template, we encounter the name of the template (including the T
) before we reach the template argument list, so we cannot substitute the parameter name for the corresponding argument while parsing. Instead, we create a ForwardTemplateReference
node that is resolved after we parse the template arguments.
Definition at line 1139 of file ItaniumDemangle.h.
|
inline |
Definition at line 1149 of file ItaniumDemangle.h.
References F(), and llvm::PatternMatch::match().
|
inlineoverridevirtual |
Reimplemented from llvm::itanium_demangle::Node.
Definition at line 1177 of file ItaniumDemangle.h.
References llvm::itanium_demangle::Node::getSyntaxNode().
|
inlineoverridevirtual |
Reimplemented from llvm::itanium_demangle::Node.
Definition at line 1165 of file ItaniumDemangle.h.
References llvm::itanium_demangle::Node::hasArray().
|
inlineoverridevirtual |
Reimplemented from llvm::itanium_demangle::Node.
Definition at line 1171 of file ItaniumDemangle.h.
References llvm::itanium_demangle::Node::hasFunction().
|
inlineoverridevirtual |
Reimplemented from llvm::itanium_demangle::Node.
Definition at line 1159 of file ItaniumDemangle.h.
References llvm::itanium_demangle::Node::hasRHSComponent().
|
delete |
|
inlineoverridevirtual |
Implements llvm::itanium_demangle::Node.
Definition at line 1184 of file ItaniumDemangle.h.
References llvm::itanium_demangle::Node::printLeft().
|
inlineoverridevirtual |
Reimplemented from llvm::itanium_demangle::Node.
Definition at line 1190 of file ItaniumDemangle.h.
References llvm::itanium_demangle::Node::printRight().
size_t llvm::itanium_demangle::ForwardTemplateReference::Index |
Definition at line 1140 of file ItaniumDemangle.h.
Referenced by llvm::itanium_demangle::parse_discriminator().
Definition at line 1147 of file ItaniumDemangle.h.
Referenced by llvm::itanium_demangle::parse_discriminator().
Node* llvm::itanium_demangle::ForwardTemplateReference::Ref = nullptr |
Definition at line 1141 of file ItaniumDemangle.h.
Referenced by llvm::itanium_demangle::parse_discriminator().