|
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().
1.8.13