LLVM 22.0.0git
|
#include "llvm/Demangle/ItaniumDemangle.h"
Classes | |
struct | NameState |
Holds some extra information about a <name> that is being parsed. More... | |
struct | OperatorInfo |
class | SaveTemplateParams |
class | ScopedTemplateParamList |
Public Types | |
using | TemplateParamList = PODSmallVector<Node *, 8> |
Public Attributes | |
const char * | First |
const char * | Last |
PODSmallVector< Node *, 32 > | Names |
PODSmallVector< Node *, 32 > | Subs |
TemplateParamList | OuterTemplateParams |
PODSmallVector< TemplateParamList *, 4 > | TemplateParams |
PODSmallVector< ForwardTemplateReference *, 4 > | ForwardTemplateRefs |
bool | TryToParseTemplateArgs = true |
bool | PermitForwardTemplateReferences = false |
bool | HasIncompleteTemplateParameterTracking = false |
size_t | ParsingLambdaParamsAtLevel = (size_t)-1 |
unsigned | NumSyntheticTemplateParameters [3] = {} |
Alloc | ASTAllocator |
Static Public Attributes | |
static const OperatorInfo | Ops [] |
static const size_t | NumOps |
Definition at line 2744 of file ItaniumDemangle.h.
using AbstractManglingParser< Derived, Alloc >::TemplateParamList = PODSmallVector<Node *, 8> |
Definition at line 2760 of file ItaniumDemangle.h.
|
inline |
Definition at line 2824 of file ItaniumDemangle.h.
Referenced by AbstractManglingParser< Derived, Alloc >::NameState::NameState(), AbstractManglingParser< Derived, Alloc >::SaveTemplateParams::SaveTemplateParams(), and AbstractManglingParser< Derived, Alloc >::ScopedTemplateParamList::ScopedTemplateParamList().
|
inline |
Definition at line 2879 of file ItaniumDemangle.h.
|
inline |
Definition at line 2871 of file ItaniumDemangle.h.
|
inline |
Definition at line 2863 of file ItaniumDemangle.h.
References First, Last, and starts_with().
Referenced by parse(), parseAbiTags(), parseArrayType(), parseBaseUnresolvedName(), parseCallOffset(), parseClassEnumType(), parseConversionExpr(), parseCtorDtorName(), parseCVQualifiers(), parseDecltype(), parseEncoding(), parseExpr(), parseExprPrimary(), parseFloatingLiteral(), parseFoldExpr(), parseFunctionParam(), parseFunctionType(), parseIntegerLiteral(), parseLocalName(), parseModuleNameOpt(), parseNestedName(), parseNumber(), parseOperatorName(), parsePointerToMemberConversionExpr(), parsePointerToMemberType(), parseQualifiedType(), parseRequiresExpr(), parseSpecialName(), parseSubobjectExpr(), parseSubstitution(), parseTemplateArg(), parseTemplateArgs(), parseTemplateParam(), parseTemplateParamDecl(), parseType(), parseUnnamedTypeName(), parseUnqualifiedName(), parseUnresolvedName(), parseUnscopedName(), and parseVectorType().
|
inline |
Definition at line 2827 of file ItaniumDemangle.h.
Referenced by parse(), parseArrayType(), parseBaseUnresolvedName(), parseBinaryExpr(), parseBracedExpr(), parseClassEnumType(), parseConstraintExpr(), parseConversionExpr(), parseCtorDtorName(), parseDecltype(), parseDestructorName(), parseEncoding(), parseExpr(), parseExprPrimary(), parseFoldExpr(), parseFunctionType(), parseLocalName(), parseModuleNameOpt(), parseName(), parseNestedName(), parseOperatorName(), parsePointerToMemberConversionExpr(), parsePointerToMemberType(), parsePrefixExpr(), parseQualifiedType(), parseRequiresExpr(), parseSimpleId(), parseSpecialName(), parseSubobjectExpr(), parseSubstitution(), parseTemplateArg(), parseTemplateArgs(), parseTemplateParamDecl(), parseType(), parseUnnamedTypeName(), parseUnqualifiedName(), parseUnresolvedName(), parseUnresolvedType(), parseUnscopedName(), and parseVectorType().
|
inline |
Definition at line 2901 of file ItaniumDemangle.h.
References look().
Referenced by parseTemplateArg(), and parseUnnamedTypeName().
|
inline |
Definition at line 2881 of file ItaniumDemangle.h.
Referenced by isTemplateParamDecl(), parse(), parseArrayType(), parseBaseUnresolvedName(), parseBracedExpr(), parseCtorDtorName(), parseDestructorName(), parseEncoding(), parseExpr(), parseExprPrimary(), parseFoldExpr(), parseName(), parseNestedName(), parseOperatorName(), parsePositiveInteger(), parseQualifiedType(), parseSeqId(), parseSimpleId(), parseSpecialName(), parseSubstitution(), parseTemplateArg(), parseType(), parseUnnamedTypeName(), parseUnqualifiedName(), parseUnresolvedName(), parseUnresolvedType(), parseUnscopedName(), and parseVectorType().
|
inline |
Definition at line 2843 of file ItaniumDemangle.h.
References args, ASTAllocator, and T.
Referenced by parse(), parseAbiTags(), parseArrayType(), parseBaseUnresolvedName(), parseBinaryExpr(), parseBracedExpr(), parseClassEnumType(), parseConversionExpr(), parseCtorDtorName(), parseDecltype(), parseDestructorName(), parseEncoding(), parseExpr(), parseExprPrimary(), parseFloatingLiteral(), parseFoldExpr(), parseFunctionParam(), parseFunctionType(), parseIntegerLiteral(), parseLocalName(), parseModuleNameOpt(), parseName(), parseNestedName(), parseOperatorName(), parsePointerToMemberConversionExpr(), parsePointerToMemberType(), parsePrefixExpr(), parseQualifiedType(), parseRequiresExpr(), parseSimpleId(), parseSourceName(), parseSpecialName(), parseSubobjectExpr(), parseSubstitution(), parseTemplateArg(), parseTemplateArgs(), parseTemplateParam(), parseTemplateParamDecl(), parseType(), parseUnnamedTypeName(), parseUnqualifiedName(), parseUnresolvedName(), parseUnscopedName(), and parseVectorType().
|
inline |
Definition at line 2847 of file ItaniumDemangle.h.
References ASTAllocator, and data.
Referenced by parseConversionExpr(), and popTrailingNodeArray().
|
inline |
Definition at line 2887 of file ItaniumDemangle.h.
Referenced by parse(), parseBareSourceName(), parseEncoding(), parseExpr(), parseFloatingLiteral(), parseNumber(), parseOperatorEncoding(), and parseSourceName().
Node * AbstractManglingParser< Derived, Alloc >::parse | ( | bool | ParseParams = true | ) |
Top-level entry point into the parser.
Definition at line 6159 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), Last, look(), make(), numLeft(), and parseNumber().
Node * AbstractManglingParser< Derived, Alloc >::parseAbiTags | ( | Node * | N | ) |
Definition at line 3884 of file ItaniumDemangle.h.
References consumeIf(), make(), N, and parseBareSourceName().
Node * AbstractManglingParser< Derived, Alloc >::parseArrayType | ( | ) |
Definition at line 4065 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), look(), make(), and parseNumber().
std::string_view AbstractManglingParser< Alloc, Derived >::parseBareSourceName | ( | ) |
Definition at line 3924 of file ItaniumDemangle.h.
References First, Int, numLeft(), and parsePositiveInteger().
Referenced by parseAbiTags(), parseQualifiedType(), and parseType().
Node * AbstractManglingParser< Derived, Alloc >::parseBaseUnresolvedName | ( | ) |
Definition at line 3762 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), look(), and make().
Node * AbstractManglingParser< Derived, Alloc >::parseBinaryExpr | ( | std::string_view | Kind, |
Node::Prec | Prec ) |
Definition at line 4694 of file ItaniumDemangle.h.
References getDerived(), LHS, make(), and RHS.
Node * AbstractManglingParser< Derived, Alloc >::parseBracedExpr | ( | ) |
Definition at line 4918 of file ItaniumDemangle.h.
References First, getDerived(), look(), and make().
bool AbstractManglingParser< Alloc, Derived >::parseCallOffset | ( | ) |
Definition at line 5472 of file ItaniumDemangle.h.
References consumeIf(), and parseNumber().
Referenced by parseSpecialName().
Node * AbstractManglingParser< Derived, Alloc >::parseClassEnumType | ( | ) |
Definition at line 4111 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
Node * AbstractManglingParser< Derived, Alloc >::parseConstraintExpr | ( | ) |
Definition at line 5060 of file ItaniumDemangle.h.
References getDerived(), and HasIncompleteTemplateParameterTracking.
Node * AbstractManglingParser< Derived, Alloc >::parseConversionExpr | ( | ) |
Definition at line 4760 of file ItaniumDemangle.h.
References consumeIf(), E(), getDerived(), make(), makeNodeArray(), Names, popTrailingNodeArray(), and TryToParseTemplateArgs.
Node * AbstractManglingParser< Derived, Alloc >::parseCtorDtorName | ( | Node *& | SoFar, |
NameState * | State ) |
Definition at line 3546 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), Node::getKind(), look(), make(), and parseName().
Qualifiers AbstractManglingParser< Alloc, Derived >::parseCVQualifiers | ( | ) |
Definition at line 4716 of file ItaniumDemangle.h.
References consumeIf(), QualConst, QualNone, QualRestrict, and QualVolatile.
Referenced by parseFunctionParam(), parseFunctionType(), parseNestedName(), and parseQualifiedType().
Node * AbstractManglingParser< Derived, Alloc >::parseDecltype | ( | ) |
Definition at line 4049 of file ItaniumDemangle.h.
References consumeIf(), E(), getDerived(), and make().
Node * AbstractManglingParser< Derived, Alloc >::parseDestructorName | ( | ) |
Definition at line 3721 of file ItaniumDemangle.h.
References getDerived(), look(), and make().
Node * AbstractManglingParser< Derived, Alloc >::parseEncoding | ( | bool | ParseParams = true | ) |
Definition at line 5650 of file ItaniumDemangle.h.
References consume(), consumeIf(), AbstractManglingParser< Derived, Alloc >::NameState::CtorDtorConversion, AbstractManglingParser< Derived, Alloc >::NameState::CVQualifiers, AbstractManglingParser< Derived, Alloc >::NameState::EndsWithTemplateArgs, getDerived(), AbstractManglingParser< Derived, Alloc >::NameState::HasExplicitObjectParameter, look(), make(), Names, numLeft(), popTrailingNodeArray(), AbstractManglingParser< Derived, Alloc >::NameState::ReferenceQualifier, and resolveForwardTemplateRefs().
Node * AbstractManglingParser< Derived, Alloc >::parseExpr | ( | ) |
Parse the <expression> production.
Definition at line 5175 of file ItaniumDemangle.h.
References AbstractManglingParser< Derived, Alloc >::OperatorInfo::Array, AbstractManglingParser< Derived, Alloc >::OperatorInfo::Binary, AbstractManglingParser< Derived, Alloc >::OperatorInfo::Call, AbstractManglingParser< Derived, Alloc >::OperatorInfo::CCast, Cond, AbstractManglingParser< Derived, Alloc >::OperatorInfo::Conditional, consumeIf(), AbstractManglingParser< Derived, Alloc >::OperatorInfo::Del, DEMANGLE_UNREACHABLE, E(), FP, getDerived(), LHS, look(), make(), AbstractManglingParser< Derived, Alloc >::OperatorInfo::Member, AbstractManglingParser< Derived, Alloc >::OperatorInfo::NamedCast, AbstractManglingParser< Derived, Alloc >::OperatorInfo::NameOnly, Names, AbstractManglingParser< Derived, Alloc >::OperatorInfo::New, numLeft(), AbstractManglingParser< Derived, Alloc >::OperatorInfo::OfIdOp, parseOperatorEncoding(), parsePointerToMemberConversionExpr(), parseRequiresExpr(), parseSubobjectExpr(), popTrailingNodeArray(), AbstractManglingParser< Derived, Alloc >::OperatorInfo::Postfix, Node::Postfix, AbstractManglingParser< Derived, Alloc >::OperatorInfo::Prefix, RHS, NodeArray::size(), TryToParseTemplateArgs, and Node::Unary.
Node * AbstractManglingParser< Derived, Alloc >::parseExprPrimary | ( | ) |
Definition at line 4798 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), look(), make(), N, parseFloatingLiteral(), parseNumber(), parseUnnamedTypeName(), and T.
Node * AbstractManglingParser< Alloc, Derived >::parseFloatingLiteral | ( | ) |
Definition at line 5783 of file ItaniumDemangle.h.
References C(), consumeIf(), First, make(), N, and numLeft().
Referenced by parseExprPrimary().
Node * AbstractManglingParser< Derived, Alloc >::parseFoldExpr | ( | ) |
Definition at line 4965 of file ItaniumDemangle.h.
References AbstractManglingParser< Derived, Alloc >::OperatorInfo::Binary, consumeIf(), First, getDerived(), look(), make(), AbstractManglingParser< Derived, Alloc >::OperatorInfo::Member, parseOperatorEncoding(), and std::swap().
Node * AbstractManglingParser< Derived, Alloc >::parseFunctionParam | ( | ) |
Definition at line 4733 of file ItaniumDemangle.h.
References consumeIf(), make(), parseCVQualifiers(), and parseNumber().
Node * AbstractManglingParser< Derived, Alloc >::parseFunctionType | ( | ) |
Definition at line 3942 of file ItaniumDemangle.h.
References consumeIf(), E(), FrefQualLValue, FrefQualNone, FrefQualRValue, getDerived(), make(), Names, parseCVQualifiers(), popTrailingNodeArray(), and T.
Node * AbstractManglingParser< Derived, Alloc >::parseIntegerLiteral | ( | std::string_view | Lit | ) |
Definition at line 4706 of file ItaniumDemangle.h.
References consumeIf(), make(), and parseNumber().
Node * AbstractManglingParser< Derived, Alloc >::parseLocalName | ( | NameState * | State | ) |
Definition at line 3099 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), Last, make(), N, parse_discriminator(), and parseNumber().
bool AbstractManglingParser< Derived, Alloc >::parseModuleNameOpt | ( | ModuleName *& | Module | ) |
Definition at line 3231 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), make(), Module, and Subs.
Referenced by parseSpecialName(), and parseUnqualifiedName().
Node * AbstractManglingParser< Derived, Alloc >::parseName | ( | NameState * | State = nullptr | ) |
Parse the <name> production>
Definition at line 3063 of file ItaniumDemangle.h.
References getDerived(), look(), make(), and Subs.
Referenced by parseCtorDtorName().
Node * AbstractManglingParser< Derived, Alloc >::parseNestedName | ( | NameState * | State | ) |
Definition at line 3603 of file ItaniumDemangle.h.
References consumeIf(), First, FrefQualLValue, FrefQualNone, FrefQualRValue, getDerived(), Node::getKind(), look(), make(), Module, parseCVQualifiers(), and Subs.
std::string_view AbstractManglingParser< Alloc, Derived >::parseNumber | ( | bool | AllowNegative = false | ) |
Definition at line 3899 of file ItaniumDemangle.h.
References consumeIf(), First, and numLeft().
Referenced by parse(), parseArrayType(), parseCallOffset(), parseExprPrimary(), parseFunctionParam(), parseIntegerLiteral(), parseLocalName(), parseSpecialName(), parseSubobjectExpr(), parseType(), parseUnnamedTypeName(), and parseVectorType().
const AbstractManglingParser< Derived, Alloc >::OperatorInfo * AbstractManglingParser< Derived, Alloc >::parseOperatorEncoding | ( | ) |
Definition at line 3457 of file ItaniumDemangle.h.
References First, numLeft(), NumOps, and Ops.
Referenced by parseExpr(), parseFoldExpr(), and parseOperatorName().
Node * AbstractManglingParser< Derived, Alloc >::parseOperatorName | ( | NameState * | State | ) |
Definition at line 3483 of file ItaniumDemangle.h.
References AbstractManglingParser< Derived, Alloc >::OperatorInfo::CCast, consumeIf(), First, getDerived(), look(), make(), AbstractManglingParser< Derived, Alloc >::OperatorInfo::Member, parseOperatorEncoding(), PermitForwardTemplateReferences, TryToParseTemplateArgs, and AbstractManglingParser< Derived, Alloc >::OperatorInfo::Unnameable.
Node * AbstractManglingParser< Derived, Alloc >::parsePointerToMemberConversionExpr | ( | Node::Prec | Prec | ) |
Definition at line 5018 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
Referenced by parseExpr().
Node * AbstractManglingParser< Derived, Alloc >::parsePointerToMemberType | ( | ) |
Definition at line 4094 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
bool AbstractManglingParser< Alloc, Derived >::parsePositiveInteger | ( | size_t * | Out | ) |
Definition at line 3912 of file ItaniumDemangle.h.
References consume(), and look().
Referenced by parseBareSourceName(), parseSourceName(), and parseTemplateParam().
Node * AbstractManglingParser< Derived, Alloc >::parsePrefixExpr | ( | std::string_view | Kind, |
Node::Prec | Prec ) |
Definition at line 4684 of file ItaniumDemangle.h.
References E(), getDerived(), and make().
Node * AbstractManglingParser< Derived, Alloc >::parseQualifiedType | ( | ) |
Definition at line 4134 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), Last, look(), make(), parseBareSourceName(), parseCVQualifiers(), QualNone, and starts_with().
Node * AbstractManglingParser< Derived, Alloc >::parseRequiresExpr | ( | ) |
Definition at line 5069 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), make(), Names, popTrailingNodeArray(), and Type.
Referenced by parseExpr().
bool AbstractManglingParser< Alloc, Derived >::parseSeqId | ( | size_t * | Out | ) |
Definition at line 5799 of file ItaniumDemangle.h.
Referenced by parseSpecialName(), and parseSubstitution().
Node * AbstractManglingParser< Derived, Alloc >::parseSimpleId | ( | ) |
Definition at line 3705 of file ItaniumDemangle.h.
References getDerived(), look(), and make().
Node * AbstractManglingParser< Derived, Alloc >::parseSourceName | ( | NameState * | State | ) |
Definition at line 3351 of file ItaniumDemangle.h.
References First, make(), numLeft(), parsePositiveInteger(), and starts_with().
Node * AbstractManglingParser< Derived, Alloc >::parseSpecialName | ( | ) |
Definition at line 5505 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), look(), make(), Module, parseCallOffset(), parseModuleNameOpt(), parseNumber(), and parseSeqId().
Node * AbstractManglingParser< Derived, Alloc >::parseSubobjectExpr | ( | ) |
Definition at line 5037 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), make(), Names, parseNumber(), and popTrailingNodeArray().
Referenced by parseExpr().
Node * AbstractManglingParser< Derived, Alloc >::parseSubstitution | ( | ) |
Definition at line 5832 of file ItaniumDemangle.h.
References allocator, basic_string, consumeIf(), First, getDerived(), iostream, istream, look(), make(), ostream, parseSeqId(), string, and Subs.
Node * AbstractManglingParser< Derived, Alloc >::parseTemplateArg | ( | ) |
Definition at line 6051 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), isTemplateParamDecl(), look(), make(), Names, and popTrailingNodeArray().
Node * AbstractManglingParser< Derived, Alloc >::parseTemplateArgs | ( | bool | TagTemplates = false | ) |
Definition at line 6105 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), Node::getKind(), make(), Names, OuterTemplateParams, popTrailingNodeArray(), and TemplateParams.
Node * AbstractManglingParser< Derived, Alloc >::parseTemplateParam | ( | ) |
Definition at line 5898 of file ItaniumDemangle.h.
References consumeIf(), DEMANGLE_ASSERT, First, ForwardTemplateRefs, Node::getKind(), HasIncompleteTemplateParameterTracking, make(), parsePositiveInteger(), ParsingLambdaParamsAtLevel, PermitForwardTemplateReferences, and TemplateParams.
Node * AbstractManglingParser< Derived, Alloc >::parseTemplateParamDecl | ( | TemplateParamList * | Params | ) |
Definition at line 5968 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), HasIncompleteTemplateParameterTracking, make(), N, Names, NonType, NumSyntheticTemplateParameters, P, AbstractManglingParser< Derived, Alloc >::ScopedTemplateParamList::params(), parseTemplateParamDecl(), parseType(), popTrailingNodeArray(), PODSmallVector< T, N >::push_back(), Template, and Type.
Referenced by parseTemplateParamDecl().
Node * AbstractManglingParser< Derived, Alloc >::parseType | ( | ) |
Parse the <type> production.
Definition at line 4201 of file ItaniumDemangle.h.
References consumeIf(), DEMANGLE_FALLTHROUGH, First, getDerived(), look(), LValue, make(), P, parseBareSourceName(), parseNumber(), parseType(), Ptr, RValue, Signed, Size, Subs, and TryToParseTemplateArgs.
Referenced by parseTemplateParamDecl(), and parseType().
Node * AbstractManglingParser< Derived, Alloc >::parseUnnamedTypeName | ( | NameState * | State | ) |
Definition at line 3255 of file ItaniumDemangle.h.
References consumeIf(), NodeArray::empty(), getDerived(), isTemplateParamDecl(), look(), make(), Names, P, AbstractManglingParser< Derived, Alloc >::ScopedTemplateParamList::params(), parseNumber(), ParsingLambdaParamsAtLevel, popTrailingNodeArray(), T, and TemplateParams.
Referenced by parseExprPrimary().
Node * AbstractManglingParser< Derived, Alloc >::parseUnqualifiedName | ( | NameState * | State, |
Node * | Scope, | ||
ModuleName * | Module ) |
Definition at line 3180 of file ItaniumDemangle.h.
References Binding, consumeIf(), getDerived(), look(), make(), Module, Names, parseModuleNameOpt(), and popTrailingNodeArray().
Node * AbstractManglingParser< Derived, Alloc >::parseUnresolvedName | ( | bool | Global | ) |
Parse the <unresolved-name> production.
Definition at line 3796 of file ItaniumDemangle.h.
References consumeIf(), DEMANGLE_ASSERT, getDerived(), look(), and make().
Node * AbstractManglingParser< Derived, Alloc >::parseUnresolvedType | ( | ) |
Definition at line 3736 of file ItaniumDemangle.h.
References getDerived(), look(), and Subs.
Node * AbstractManglingParser< Derived, Alloc >::parseUnscopedName | ( | NameState * | State, |
bool * | isSubstName ) |
Definition at line 3140 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), Node::getKind(), look(), make(), and Module.
Node * AbstractManglingParser< Derived, Alloc >::parseVectorType | ( | ) |
Definition at line 4012 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), look(), make(), and parseNumber().
|
inline |
Definition at line 2855 of file ItaniumDemangle.h.
References DEMANGLE_ASSERT, makeNodeArray(), and Names.
Referenced by parseConversionExpr(), parseEncoding(), parseExpr(), parseFunctionType(), parseRequiresExpr(), parseSubobjectExpr(), parseTemplateArg(), parseTemplateArgs(), parseTemplateParamDecl(), parseUnnamedTypeName(), and parseUnqualifiedName().
|
inline |
Definition at line 2829 of file ItaniumDemangle.h.
References ASTAllocator, First, I, Last, Names, NumSyntheticTemplateParameters, ParsingLambdaParamsAtLevel, PermitForwardTemplateReferences, Subs, TemplateParams, and TryToParseTemplateArgs.
|
inline |
Definition at line 2950 of file ItaniumDemangle.h.
References E(), ForwardTemplateRefs, I, and TemplateParams.
Referenced by parseEncoding().
Alloc AbstractManglingParser< Derived, Alloc >::ASTAllocator |
Definition at line 2822 of file ItaniumDemangle.h.
Referenced by make(), makeNodeArray(), and reset().
const char* AbstractManglingParser< Derived, Alloc >::First |
Definition at line 2745 of file ItaniumDemangle.h.
Referenced by AbstractManglingParser(), consume(), consumeIf(), consumeIf(), look(), numLeft(), parse(), parseBareSourceName(), parseBracedExpr(), parseCtorDtorName(), parseExprPrimary(), parseFloatingLiteral(), parseFoldExpr(), parseLocalName(), parseNestedName(), parseNumber(), parseOperatorEncoding(), parseOperatorName(), parseQualifiedType(), parseSeqId(), parseSourceName(), parseSpecialName(), parseSubstitution(), parseTemplateArg(), parseTemplateParam(), parseType(), and reset().
PODSmallVector<ForwardTemplateReference *, 4> AbstractManglingParser< Derived, Alloc >::ForwardTemplateRefs |
Definition at line 2813 of file ItaniumDemangle.h.
Referenced by AbstractManglingParser< Derived, Alloc >::NameState::NameState(), parseTemplateParam(), and resolveForwardTemplateRefs().
bool AbstractManglingParser< Derived, Alloc >::HasIncompleteTemplateParameterTracking = false |
Definition at line 2817 of file ItaniumDemangle.h.
Referenced by parseConstraintExpr(), parseTemplateParam(), and parseTemplateParamDecl().
const char* AbstractManglingParser< Derived, Alloc >::Last |
Definition at line 2746 of file ItaniumDemangle.h.
Referenced by AbstractManglingParser(), consume(), consumeIf(), consumeIf(), look(), numLeft(), parse(), parseLocalName(), parseQualifiedType(), and reset().
PODSmallVector<Node *, 32> AbstractManglingParser< Derived, Alloc >::Names |
Definition at line 2751 of file ItaniumDemangle.h.
Referenced by parseConversionExpr(), parseEncoding(), parseExpr(), parseFunctionType(), parseRequiresExpr(), parseSubobjectExpr(), parseTemplateArg(), parseTemplateArgs(), parseTemplateParamDecl(), parseUnnamedTypeName(), parseUnqualifiedName(), popTrailingNodeArray(), and reset().
|
static |
Definition at line 3038 of file ItaniumDemangle.h.
Referenced by parseOperatorEncoding().
unsigned AbstractManglingParser< Derived, Alloc >::NumSyntheticTemplateParameters[3] = {} |
Definition at line 2820 of file ItaniumDemangle.h.
Referenced by parseTemplateParamDecl(), and reset().
|
static |
Definition at line 3037 of file ItaniumDemangle.h.
Referenced by parseOperatorEncoding().
TemplateParamList AbstractManglingParser< Derived, Alloc >::OuterTemplateParams |
Definition at line 2784 of file ItaniumDemangle.h.
Referenced by parseTemplateArgs().
size_t AbstractManglingParser< Derived, Alloc >::ParsingLambdaParamsAtLevel = (size_t)-1 |
Definition at line 2818 of file ItaniumDemangle.h.
Referenced by parseTemplateParam(), parseUnnamedTypeName(), and reset().
bool AbstractManglingParser< Derived, Alloc >::PermitForwardTemplateReferences = false |
Definition at line 2816 of file ItaniumDemangle.h.
Referenced by parseOperatorName(), parseTemplateParam(), and reset().
PODSmallVector<Node *, 32> AbstractManglingParser< Derived, Alloc >::Subs |
Definition at line 2756 of file ItaniumDemangle.h.
Referenced by parseModuleNameOpt(), parseName(), parseNestedName(), parseSubstitution(), parseType(), parseUnresolvedType(), and reset().
PODSmallVector<TemplateParamList *, 4> AbstractManglingParser< Derived, Alloc >::TemplateParams |
Definition at line 2791 of file ItaniumDemangle.h.
Referenced by parseTemplateArgs(), parseTemplateParam(), parseUnnamedTypeName(), reset(), resolveForwardTemplateRefs(), and AbstractManglingParser< Derived, Alloc >::ScopedTemplateParamList::ScopedTemplateParamList().
bool AbstractManglingParser< Derived, Alloc >::TryToParseTemplateArgs = true |
Definition at line 2815 of file ItaniumDemangle.h.
Referenced by parseConversionExpr(), parseExpr(), parseOperatorName(), parseType(), and reset().