|
LLVM 24.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 2768 of file ItaniumDemangle.h.
| using AbstractManglingParser< Derived, Alloc >::TemplateParamList = PODSmallVector<Node *, 8> |
Definition at line 2784 of file ItaniumDemangle.h.
|
inline |
Definition at line 2848 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 2903 of file ItaniumDemangle.h.
|
inline |
Definition at line 2895 of file ItaniumDemangle.h.
|
inline |
Definition at line 2887 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 2851 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 2925 of file ItaniumDemangle.h.
References look().
Referenced by parseTemplateArg(), and parseUnnamedTypeName().
|
inline |
Definition at line 2905 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 2867 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 2871 of file ItaniumDemangle.h.
References ASTAllocator, and data.
Referenced by parseConversionExpr(), and popTrailingNodeArray().
|
inline |
Definition at line 2911 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 6207 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), Last, look(), make(), numLeft(), parseNumber(), and Saved.
| Node * AbstractManglingParser< Derived, Alloc >::parseAbiTags | ( | Node * | N | ) |
Definition at line 3908 of file ItaniumDemangle.h.
References consumeIf(), make(), N, and parseBareSourceName().
| Node * AbstractManglingParser< Derived, Alloc >::parseArrayType | ( | ) |
Definition at line 4089 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), look(), make(), and parseNumber().
| std::string_view AbstractManglingParser< Alloc, Derived >::parseBareSourceName | ( | ) |
Definition at line 3948 of file ItaniumDemangle.h.
References First, Int, numLeft(), and parsePositiveInteger().
Referenced by parseAbiTags(), parseQualifiedType(), and parseType().
| Node * AbstractManglingParser< Derived, Alloc >::parseBaseUnresolvedName | ( | ) |
Definition at line 3786 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 4730 of file ItaniumDemangle.h.
References getDerived(), LHS, make(), and RHS.
| Node * AbstractManglingParser< Derived, Alloc >::parseBracedExpr | ( | ) |
Definition at line 4954 of file ItaniumDemangle.h.
References First, getDerived(), look(), and make().
| bool AbstractManglingParser< Alloc, Derived >::parseCallOffset | ( | ) |
Definition at line 5518 of file ItaniumDemangle.h.
References consumeIf(), and parseNumber().
Referenced by parseSpecialName().
| Node * AbstractManglingParser< Derived, Alloc >::parseClassEnumType | ( | ) |
Definition at line 4135 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseConstraintExpr | ( | ) |
Definition at line 5096 of file ItaniumDemangle.h.
References getDerived(), and HasIncompleteTemplateParameterTracking.
| Node * AbstractManglingParser< Derived, Alloc >::parseConversionExpr | ( | ) |
Definition at line 4796 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 3570 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), Node::getKind(), look(), make(), and parseName().
| Qualifiers AbstractManglingParser< Alloc, Derived >::parseCVQualifiers | ( | ) |
Definition at line 4752 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 4073 of file ItaniumDemangle.h.
References consumeIf(), E(), getDerived(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseDestructorName | ( | ) |
Definition at line 3745 of file ItaniumDemangle.h.
References getDerived(), look(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseEncoding | ( | bool | ParseParams = true | ) |
Definition at line 5696 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 5211 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 4834 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), look(), make(), N, parseFloatingLiteral(), parseNumber(), parseUnnamedTypeName(), and T.
| Node * AbstractManglingParser< Alloc, Derived >::parseFloatingLiteral | ( | ) |
Definition at line 5829 of file ItaniumDemangle.h.
References C(), consumeIf(), First, make(), N, and numLeft().
Referenced by parseExprPrimary().
| Node * AbstractManglingParser< Derived, Alloc >::parseFoldExpr | ( | ) |
Definition at line 5001 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 4769 of file ItaniumDemangle.h.
References consumeIf(), make(), parseCVQualifiers(), and parseNumber().
| Node * AbstractManglingParser< Derived, Alloc >::parseFunctionType | ( | ) |
Definition at line 3966 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 4742 of file ItaniumDemangle.h.
References consumeIf(), make(), and parseNumber().
| Node * AbstractManglingParser< Derived, Alloc >::parseLocalName | ( | NameState * | State | ) |
Definition at line 3123 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 3255 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 3087 of file ItaniumDemangle.h.
References getDerived(), look(), make(), and Subs.
Referenced by parseCtorDtorName().
| Node * AbstractManglingParser< Derived, Alloc >::parseNestedName | ( | NameState * | State | ) |
Definition at line 3627 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 3923 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 3481 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 3507 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 5054 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
Referenced by parseExpr().
| Node * AbstractManglingParser< Derived, Alloc >::parsePointerToMemberType | ( | ) |
Definition at line 4118 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
| bool AbstractManglingParser< Alloc, Derived >::parsePositiveInteger | ( | size_t * | Out | ) |
Definition at line 3936 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 4720 of file ItaniumDemangle.h.
References E(), getDerived(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseQualifiedType | ( | ) |
Definition at line 4158 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 5105 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 5845 of file ItaniumDemangle.h.
Referenced by parseSpecialName(), and parseSubstitution().
| Node * AbstractManglingParser< Derived, Alloc >::parseSimpleId | ( | ) |
Definition at line 3729 of file ItaniumDemangle.h.
References getDerived(), look(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseSourceName | ( | NameState * | State | ) |
Definition at line 3375 of file ItaniumDemangle.h.
References First, make(), numLeft(), parsePositiveInteger(), and starts_with().
| Node * AbstractManglingParser< Derived, Alloc >::parseSpecialName | ( | ) |
Definition at line 5551 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), look(), make(), Module, parseCallOffset(), parseModuleNameOpt(), parseNumber(), and parseSeqId().
| Node * AbstractManglingParser< Derived, Alloc >::parseSubobjectExpr | ( | ) |
Definition at line 5073 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), make(), Names, parseNumber(), and popTrailingNodeArray().
Referenced by parseExpr().
| Node * AbstractManglingParser< Derived, Alloc >::parseSubstitution | ( | ) |
Definition at line 5878 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 6097 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 6151 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), Node::getKind(), make(), Names, OuterTemplateParams, popTrailingNodeArray(), and TemplateParams.
| Node * AbstractManglingParser< Derived, Alloc >::parseTemplateParam | ( | ) |
Definition at line 5944 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 6014 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 4225 of file ItaniumDemangle.h.
References consumeIf(), DEMANGLE_FALLTHROUGH, First, getDerived(), look(), LValue, make(), P, parseBareSourceName(), parseNumber(), parseType(), RValue, Signed, Size, Subs, and TryToParseTemplateArgs.
Referenced by parseTemplateParamDecl(), and parseType().
| Node * AbstractManglingParser< Derived, Alloc >::parseUnnamedTypeName | ( | NameState * | State | ) |
Definition at line 3279 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 3204 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 3820 of file ItaniumDemangle.h.
References consumeIf(), DEMANGLE_ASSERT, getDerived(), look(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseUnresolvedType | ( | ) |
Definition at line 3760 of file ItaniumDemangle.h.
References getDerived(), look(), and Subs.
| Node * AbstractManglingParser< Derived, Alloc >::parseUnscopedName | ( | NameState * | State, |
| bool * | isSubstName ) |
Definition at line 3164 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), Node::getKind(), look(), make(), and Module.
| Node * AbstractManglingParser< Derived, Alloc >::parseVectorType | ( | ) |
Definition at line 4036 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), look(), make(), and parseNumber().
|
inline |
Definition at line 2879 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 2853 of file ItaniumDemangle.h.
References ASTAllocator, First, Last, Names, NumSyntheticTemplateParameters, ParsingLambdaParamsAtLevel, PermitForwardTemplateReferences, Subs, TemplateParams, and TryToParseTemplateArgs.
|
inline |
Definition at line 2974 of file ItaniumDemangle.h.
References E(), ForwardTemplateRefs, I, and TemplateParams.
Referenced by parseEncoding().
| Alloc AbstractManglingParser< Derived, Alloc >::ASTAllocator |
Definition at line 2846 of file ItaniumDemangle.h.
Referenced by make(), makeNodeArray(), and reset().
| const char* AbstractManglingParser< Derived, Alloc >::First |
Definition at line 2769 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 2837 of file ItaniumDemangle.h.
Referenced by AbstractManglingParser< Derived, Alloc >::NameState::NameState(), parseTemplateParam(), and resolveForwardTemplateRefs().
| bool AbstractManglingParser< Derived, Alloc >::HasIncompleteTemplateParameterTracking = false |
Definition at line 2841 of file ItaniumDemangle.h.
Referenced by parseConstraintExpr(), parseTemplateParam(), and parseTemplateParamDecl().
| const char* AbstractManglingParser< Derived, Alloc >::Last |
Definition at line 2770 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 2775 of file ItaniumDemangle.h.
Referenced by parseConversionExpr(), parseEncoding(), parseExpr(), parseFunctionType(), parseRequiresExpr(), parseSubobjectExpr(), parseTemplateArg(), parseTemplateArgs(), parseTemplateParamDecl(), parseUnnamedTypeName(), parseUnqualifiedName(), popTrailingNodeArray(), and reset().
|
static |
Definition at line 3062 of file ItaniumDemangle.h.
Referenced by parseOperatorEncoding().
| unsigned AbstractManglingParser< Derived, Alloc >::NumSyntheticTemplateParameters[3] = {} |
Definition at line 2844 of file ItaniumDemangle.h.
Referenced by parseTemplateParamDecl(), and reset().
|
static |
Definition at line 3061 of file ItaniumDemangle.h.
Referenced by parseOperatorEncoding().
| TemplateParamList AbstractManglingParser< Derived, Alloc >::OuterTemplateParams |
Definition at line 2808 of file ItaniumDemangle.h.
Referenced by parseTemplateArgs().
| size_t AbstractManglingParser< Derived, Alloc >::ParsingLambdaParamsAtLevel = (size_t)-1 |
Definition at line 2842 of file ItaniumDemangle.h.
Referenced by parseTemplateParam(), parseUnnamedTypeName(), and reset().
| bool AbstractManglingParser< Derived, Alloc >::PermitForwardTemplateReferences = false |
Definition at line 2840 of file ItaniumDemangle.h.
Referenced by parseOperatorName(), parseTemplateParam(), and reset().
| PODSmallVector<Node *, 32> AbstractManglingParser< Derived, Alloc >::Subs |
Definition at line 2780 of file ItaniumDemangle.h.
Referenced by parseModuleNameOpt(), parseName(), parseNestedName(), parseSubstitution(), parseType(), parseUnresolvedType(), and reset().
| PODSmallVector<TemplateParamList *, 4> AbstractManglingParser< Derived, Alloc >::TemplateParams |
Definition at line 2815 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 2839 of file ItaniumDemangle.h.
Referenced by parseConversionExpr(), parseExpr(), parseOperatorName(), parseType(), and reset().