|
LLVM 23.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 2767 of file ItaniumDemangle.h.
| using AbstractManglingParser< Derived, Alloc >::TemplateParamList = PODSmallVector<Node *, 8> |
Definition at line 2783 of file ItaniumDemangle.h.
|
inline |
Definition at line 2847 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 2902 of file ItaniumDemangle.h.
|
inline |
Definition at line 2894 of file ItaniumDemangle.h.
|
inline |
Definition at line 2886 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 2850 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 2924 of file ItaniumDemangle.h.
References look().
Referenced by parseTemplateArg(), and parseUnnamedTypeName().
|
inline |
Definition at line 2904 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 2866 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 2870 of file ItaniumDemangle.h.
References ASTAllocator, and data.
Referenced by parseConversionExpr(), and popTrailingNodeArray().
|
inline |
Definition at line 2910 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 6206 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 3907 of file ItaniumDemangle.h.
References consumeIf(), make(), N, and parseBareSourceName().
| Node * AbstractManglingParser< Derived, Alloc >::parseArrayType | ( | ) |
Definition at line 4088 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), look(), make(), and parseNumber().
| std::string_view AbstractManglingParser< Alloc, Derived >::parseBareSourceName | ( | ) |
Definition at line 3947 of file ItaniumDemangle.h.
References First, Int, numLeft(), and parsePositiveInteger().
Referenced by parseAbiTags(), parseQualifiedType(), and parseType().
| Node * AbstractManglingParser< Derived, Alloc >::parseBaseUnresolvedName | ( | ) |
Definition at line 3785 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 4729 of file ItaniumDemangle.h.
References getDerived(), LHS, make(), and RHS.
| Node * AbstractManglingParser< Derived, Alloc >::parseBracedExpr | ( | ) |
Definition at line 4953 of file ItaniumDemangle.h.
References First, getDerived(), look(), and make().
| bool AbstractManglingParser< Alloc, Derived >::parseCallOffset | ( | ) |
Definition at line 5517 of file ItaniumDemangle.h.
References consumeIf(), and parseNumber().
Referenced by parseSpecialName().
| Node * AbstractManglingParser< Derived, Alloc >::parseClassEnumType | ( | ) |
Definition at line 4134 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseConstraintExpr | ( | ) |
Definition at line 5095 of file ItaniumDemangle.h.
References getDerived(), and HasIncompleteTemplateParameterTracking.
| Node * AbstractManglingParser< Derived, Alloc >::parseConversionExpr | ( | ) |
Definition at line 4795 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 3569 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), Node::getKind(), look(), make(), and parseName().
| Qualifiers AbstractManglingParser< Alloc, Derived >::parseCVQualifiers | ( | ) |
Definition at line 4751 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 4072 of file ItaniumDemangle.h.
References consumeIf(), E(), getDerived(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseDestructorName | ( | ) |
Definition at line 3744 of file ItaniumDemangle.h.
References getDerived(), look(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseEncoding | ( | bool | ParseParams = true | ) |
Definition at line 5695 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 5210 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 4833 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), look(), make(), N, parseFloatingLiteral(), parseNumber(), parseUnnamedTypeName(), and T.
| Node * AbstractManglingParser< Alloc, Derived >::parseFloatingLiteral | ( | ) |
Definition at line 5828 of file ItaniumDemangle.h.
References C(), consumeIf(), First, make(), N, and numLeft().
Referenced by parseExprPrimary().
| Node * AbstractManglingParser< Derived, Alloc >::parseFoldExpr | ( | ) |
Definition at line 5000 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 4768 of file ItaniumDemangle.h.
References consumeIf(), make(), parseCVQualifiers(), and parseNumber().
| Node * AbstractManglingParser< Derived, Alloc >::parseFunctionType | ( | ) |
Definition at line 3965 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 4741 of file ItaniumDemangle.h.
References consumeIf(), make(), and parseNumber().
| Node * AbstractManglingParser< Derived, Alloc >::parseLocalName | ( | NameState * | State | ) |
Definition at line 3122 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 3254 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 3086 of file ItaniumDemangle.h.
References getDerived(), look(), make(), and Subs.
Referenced by parseCtorDtorName().
| Node * AbstractManglingParser< Derived, Alloc >::parseNestedName | ( | NameState * | State | ) |
Definition at line 3626 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 3922 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 3480 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 3506 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 5053 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
Referenced by parseExpr().
| Node * AbstractManglingParser< Derived, Alloc >::parsePointerToMemberType | ( | ) |
Definition at line 4117 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
| bool AbstractManglingParser< Alloc, Derived >::parsePositiveInteger | ( | size_t * | Out | ) |
Definition at line 3935 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 4719 of file ItaniumDemangle.h.
References E(), getDerived(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseQualifiedType | ( | ) |
Definition at line 4157 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 5104 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 5844 of file ItaniumDemangle.h.
Referenced by parseSpecialName(), and parseSubstitution().
| Node * AbstractManglingParser< Derived, Alloc >::parseSimpleId | ( | ) |
Definition at line 3728 of file ItaniumDemangle.h.
References getDerived(), look(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseSourceName | ( | NameState * | State | ) |
Definition at line 3374 of file ItaniumDemangle.h.
References First, make(), numLeft(), parsePositiveInteger(), and starts_with().
| Node * AbstractManglingParser< Derived, Alloc >::parseSpecialName | ( | ) |
Definition at line 5550 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), look(), make(), Module, parseCallOffset(), parseModuleNameOpt(), parseNumber(), and parseSeqId().
| Node * AbstractManglingParser< Derived, Alloc >::parseSubobjectExpr | ( | ) |
Definition at line 5072 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), make(), Names, parseNumber(), and popTrailingNodeArray().
Referenced by parseExpr().
| Node * AbstractManglingParser< Derived, Alloc >::parseSubstitution | ( | ) |
Definition at line 5877 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 6096 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 6150 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), Node::getKind(), make(), Names, OuterTemplateParams, popTrailingNodeArray(), and TemplateParams.
| Node * AbstractManglingParser< Derived, Alloc >::parseTemplateParam | ( | ) |
Definition at line 5943 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 6013 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 4224 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 3278 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 3203 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 3819 of file ItaniumDemangle.h.
References consumeIf(), DEMANGLE_ASSERT, getDerived(), look(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseUnresolvedType | ( | ) |
Definition at line 3759 of file ItaniumDemangle.h.
References getDerived(), look(), and Subs.
| Node * AbstractManglingParser< Derived, Alloc >::parseUnscopedName | ( | NameState * | State, |
| bool * | isSubstName ) |
Definition at line 3163 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), Node::getKind(), look(), make(), and Module.
| Node * AbstractManglingParser< Derived, Alloc >::parseVectorType | ( | ) |
Definition at line 4035 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), look(), make(), and parseNumber().
|
inline |
Definition at line 2878 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 2852 of file ItaniumDemangle.h.
References ASTAllocator, First, I, Last, Names, NumSyntheticTemplateParameters, ParsingLambdaParamsAtLevel, PermitForwardTemplateReferences, Subs, TemplateParams, and TryToParseTemplateArgs.
|
inline |
Definition at line 2973 of file ItaniumDemangle.h.
References E(), ForwardTemplateRefs, I, and TemplateParams.
Referenced by parseEncoding().
| Alloc AbstractManglingParser< Derived, Alloc >::ASTAllocator |
Definition at line 2845 of file ItaniumDemangle.h.
Referenced by make(), makeNodeArray(), and reset().
| const char* AbstractManglingParser< Derived, Alloc >::First |
Definition at line 2768 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 2836 of file ItaniumDemangle.h.
Referenced by AbstractManglingParser< Derived, Alloc >::NameState::NameState(), parseTemplateParam(), and resolveForwardTemplateRefs().
| bool AbstractManglingParser< Derived, Alloc >::HasIncompleteTemplateParameterTracking = false |
Definition at line 2840 of file ItaniumDemangle.h.
Referenced by parseConstraintExpr(), parseTemplateParam(), and parseTemplateParamDecl().
| const char* AbstractManglingParser< Derived, Alloc >::Last |
Definition at line 2769 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 2774 of file ItaniumDemangle.h.
Referenced by parseConversionExpr(), parseEncoding(), parseExpr(), parseFunctionType(), parseRequiresExpr(), parseSubobjectExpr(), parseTemplateArg(), parseTemplateArgs(), parseTemplateParamDecl(), parseUnnamedTypeName(), parseUnqualifiedName(), popTrailingNodeArray(), and reset().
|
static |
Definition at line 3061 of file ItaniumDemangle.h.
Referenced by parseOperatorEncoding().
| unsigned AbstractManglingParser< Derived, Alloc >::NumSyntheticTemplateParameters[3] = {} |
Definition at line 2843 of file ItaniumDemangle.h.
Referenced by parseTemplateParamDecl(), and reset().
|
static |
Definition at line 3060 of file ItaniumDemangle.h.
Referenced by parseOperatorEncoding().
| TemplateParamList AbstractManglingParser< Derived, Alloc >::OuterTemplateParams |
Definition at line 2807 of file ItaniumDemangle.h.
Referenced by parseTemplateArgs().
| size_t AbstractManglingParser< Derived, Alloc >::ParsingLambdaParamsAtLevel = (size_t)-1 |
Definition at line 2841 of file ItaniumDemangle.h.
Referenced by parseTemplateParam(), parseUnnamedTypeName(), and reset().
| bool AbstractManglingParser< Derived, Alloc >::PermitForwardTemplateReferences = false |
Definition at line 2839 of file ItaniumDemangle.h.
Referenced by parseOperatorName(), parseTemplateParam(), and reset().
| PODSmallVector<Node *, 32> AbstractManglingParser< Derived, Alloc >::Subs |
Definition at line 2779 of file ItaniumDemangle.h.
Referenced by parseModuleNameOpt(), parseName(), parseNestedName(), parseSubstitution(), parseType(), parseUnresolvedType(), and reset().
| PODSmallVector<TemplateParamList *, 4> AbstractManglingParser< Derived, Alloc >::TemplateParams |
Definition at line 2814 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 2838 of file ItaniumDemangle.h.
Referenced by parseConversionExpr(), parseExpr(), parseOperatorName(), parseType(), and reset().