|
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 2746 of file ItaniumDemangle.h.
| using AbstractManglingParser< Derived, Alloc >::TemplateParamList = PODSmallVector<Node *, 8> |
Definition at line 2762 of file ItaniumDemangle.h.
|
inline |
Definition at line 2826 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 2881 of file ItaniumDemangle.h.
|
inline |
Definition at line 2873 of file ItaniumDemangle.h.
|
inline |
Definition at line 2865 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 2829 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 2903 of file ItaniumDemangle.h.
References look().
Referenced by parseTemplateArg(), and parseUnnamedTypeName().
|
inline |
Definition at line 2883 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 2845 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 2849 of file ItaniumDemangle.h.
References ASTAllocator, and data.
Referenced by parseConversionExpr(), and popTrailingNodeArray().
|
inline |
Definition at line 2889 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 6161 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), Last, look(), make(), numLeft(), and parseNumber().
| Node * AbstractManglingParser< Derived, Alloc >::parseAbiTags | ( | Node * | N | ) |
Definition at line 3886 of file ItaniumDemangle.h.
References consumeIf(), make(), N, and parseBareSourceName().
| Node * AbstractManglingParser< Derived, Alloc >::parseArrayType | ( | ) |
Definition at line 4067 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), look(), make(), and parseNumber().
| std::string_view AbstractManglingParser< Alloc, Derived >::parseBareSourceName | ( | ) |
Definition at line 3926 of file ItaniumDemangle.h.
References First, Int, numLeft(), and parsePositiveInteger().
Referenced by parseAbiTags(), parseQualifiedType(), and parseType().
| Node * AbstractManglingParser< Derived, Alloc >::parseBaseUnresolvedName | ( | ) |
Definition at line 3764 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 4696 of file ItaniumDemangle.h.
References getDerived(), LHS, make(), and RHS.
| Node * AbstractManglingParser< Derived, Alloc >::parseBracedExpr | ( | ) |
Definition at line 4920 of file ItaniumDemangle.h.
References First, getDerived(), look(), and make().
| bool AbstractManglingParser< Alloc, Derived >::parseCallOffset | ( | ) |
Definition at line 5474 of file ItaniumDemangle.h.
References consumeIf(), and parseNumber().
Referenced by parseSpecialName().
| Node * AbstractManglingParser< Derived, Alloc >::parseClassEnumType | ( | ) |
Definition at line 4113 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseConstraintExpr | ( | ) |
Definition at line 5062 of file ItaniumDemangle.h.
References getDerived(), and HasIncompleteTemplateParameterTracking.
| Node * AbstractManglingParser< Derived, Alloc >::parseConversionExpr | ( | ) |
Definition at line 4762 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 3548 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), Node::getKind(), look(), make(), and parseName().
| Qualifiers AbstractManglingParser< Alloc, Derived >::parseCVQualifiers | ( | ) |
Definition at line 4718 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 4051 of file ItaniumDemangle.h.
References consumeIf(), E(), getDerived(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseDestructorName | ( | ) |
Definition at line 3723 of file ItaniumDemangle.h.
References getDerived(), look(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseEncoding | ( | bool | ParseParams = true | ) |
Definition at line 5652 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 5177 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 4800 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), look(), make(), N, parseFloatingLiteral(), parseNumber(), parseUnnamedTypeName(), and T.
| Node * AbstractManglingParser< Alloc, Derived >::parseFloatingLiteral | ( | ) |
Definition at line 5785 of file ItaniumDemangle.h.
References C(), consumeIf(), First, make(), N, and numLeft().
Referenced by parseExprPrimary().
| Node * AbstractManglingParser< Derived, Alloc >::parseFoldExpr | ( | ) |
Definition at line 4967 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 4735 of file ItaniumDemangle.h.
References consumeIf(), make(), parseCVQualifiers(), and parseNumber().
| Node * AbstractManglingParser< Derived, Alloc >::parseFunctionType | ( | ) |
Definition at line 3944 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 4708 of file ItaniumDemangle.h.
References consumeIf(), make(), and parseNumber().
| Node * AbstractManglingParser< Derived, Alloc >::parseLocalName | ( | NameState * | State | ) |
Definition at line 3101 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 3233 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 3065 of file ItaniumDemangle.h.
References getDerived(), look(), make(), and Subs.
Referenced by parseCtorDtorName().
| Node * AbstractManglingParser< Derived, Alloc >::parseNestedName | ( | NameState * | State | ) |
Definition at line 3605 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 3901 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 3459 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 3485 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 5020 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
Referenced by parseExpr().
| Node * AbstractManglingParser< Derived, Alloc >::parsePointerToMemberType | ( | ) |
Definition at line 4096 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), and make().
| bool AbstractManglingParser< Alloc, Derived >::parsePositiveInteger | ( | size_t * | Out | ) |
Definition at line 3914 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 4686 of file ItaniumDemangle.h.
References E(), getDerived(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseQualifiedType | ( | ) |
Definition at line 4136 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 5071 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 5801 of file ItaniumDemangle.h.
Referenced by parseSpecialName(), and parseSubstitution().
| Node * AbstractManglingParser< Derived, Alloc >::parseSimpleId | ( | ) |
Definition at line 3707 of file ItaniumDemangle.h.
References getDerived(), look(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseSourceName | ( | NameState * | State | ) |
Definition at line 3353 of file ItaniumDemangle.h.
References First, make(), numLeft(), parsePositiveInteger(), and starts_with().
| Node * AbstractManglingParser< Derived, Alloc >::parseSpecialName | ( | ) |
Definition at line 5507 of file ItaniumDemangle.h.
References consumeIf(), First, getDerived(), look(), make(), Module, parseCallOffset(), parseModuleNameOpt(), parseNumber(), and parseSeqId().
| Node * AbstractManglingParser< Derived, Alloc >::parseSubobjectExpr | ( | ) |
Definition at line 5039 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), make(), Names, parseNumber(), and popTrailingNodeArray().
Referenced by parseExpr().
| Node * AbstractManglingParser< Derived, Alloc >::parseSubstitution | ( | ) |
Definition at line 5834 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 6053 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 6107 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), Node::getKind(), make(), Names, OuterTemplateParams, popTrailingNodeArray(), and TemplateParams.
| Node * AbstractManglingParser< Derived, Alloc >::parseTemplateParam | ( | ) |
Definition at line 5900 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 5970 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 4203 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 3257 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 3182 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 3798 of file ItaniumDemangle.h.
References consumeIf(), DEMANGLE_ASSERT, getDerived(), look(), and make().
| Node * AbstractManglingParser< Derived, Alloc >::parseUnresolvedType | ( | ) |
Definition at line 3738 of file ItaniumDemangle.h.
References getDerived(), look(), and Subs.
| Node * AbstractManglingParser< Derived, Alloc >::parseUnscopedName | ( | NameState * | State, |
| bool * | isSubstName ) |
Definition at line 3142 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), Node::getKind(), look(), make(), and Module.
| Node * AbstractManglingParser< Derived, Alloc >::parseVectorType | ( | ) |
Definition at line 4014 of file ItaniumDemangle.h.
References consumeIf(), getDerived(), look(), make(), and parseNumber().
|
inline |
Definition at line 2857 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 2831 of file ItaniumDemangle.h.
References ASTAllocator, First, I, Last, Names, NumSyntheticTemplateParameters, ParsingLambdaParamsAtLevel, PermitForwardTemplateReferences, Subs, TemplateParams, and TryToParseTemplateArgs.
|
inline |
Definition at line 2952 of file ItaniumDemangle.h.
References E(), ForwardTemplateRefs, I, and TemplateParams.
Referenced by parseEncoding().
| Alloc AbstractManglingParser< Derived, Alloc >::ASTAllocator |
Definition at line 2824 of file ItaniumDemangle.h.
Referenced by make(), makeNodeArray(), and reset().
| const char* AbstractManglingParser< Derived, Alloc >::First |
Definition at line 2747 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 2815 of file ItaniumDemangle.h.
Referenced by AbstractManglingParser< Derived, Alloc >::NameState::NameState(), parseTemplateParam(), and resolveForwardTemplateRefs().
| bool AbstractManglingParser< Derived, Alloc >::HasIncompleteTemplateParameterTracking = false |
Definition at line 2819 of file ItaniumDemangle.h.
Referenced by parseConstraintExpr(), parseTemplateParam(), and parseTemplateParamDecl().
| const char* AbstractManglingParser< Derived, Alloc >::Last |
Definition at line 2748 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 2753 of file ItaniumDemangle.h.
Referenced by parseConversionExpr(), parseEncoding(), parseExpr(), parseFunctionType(), parseRequiresExpr(), parseSubobjectExpr(), parseTemplateArg(), parseTemplateArgs(), parseTemplateParamDecl(), parseUnnamedTypeName(), parseUnqualifiedName(), popTrailingNodeArray(), and reset().
|
static |
Definition at line 3040 of file ItaniumDemangle.h.
Referenced by parseOperatorEncoding().
| unsigned AbstractManglingParser< Derived, Alloc >::NumSyntheticTemplateParameters[3] = {} |
Definition at line 2822 of file ItaniumDemangle.h.
Referenced by parseTemplateParamDecl(), and reset().
|
static |
Definition at line 3039 of file ItaniumDemangle.h.
Referenced by parseOperatorEncoding().
| TemplateParamList AbstractManglingParser< Derived, Alloc >::OuterTemplateParams |
Definition at line 2786 of file ItaniumDemangle.h.
Referenced by parseTemplateArgs().
| size_t AbstractManglingParser< Derived, Alloc >::ParsingLambdaParamsAtLevel = (size_t)-1 |
Definition at line 2820 of file ItaniumDemangle.h.
Referenced by parseTemplateParam(), parseUnnamedTypeName(), and reset().
| bool AbstractManglingParser< Derived, Alloc >::PermitForwardTemplateReferences = false |
Definition at line 2818 of file ItaniumDemangle.h.
Referenced by parseOperatorName(), parseTemplateParam(), and reset().
| PODSmallVector<Node *, 32> AbstractManglingParser< Derived, Alloc >::Subs |
Definition at line 2758 of file ItaniumDemangle.h.
Referenced by parseModuleNameOpt(), parseName(), parseNestedName(), parseSubstitution(), parseType(), parseUnresolvedType(), and reset().
| PODSmallVector<TemplateParamList *, 4> AbstractManglingParser< Derived, Alloc >::TemplateParams |
Definition at line 2793 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 2817 of file ItaniumDemangle.h.
Referenced by parseConversionExpr(), parseExpr(), parseOperatorName(), parseType(), and reset().