LLVM
8.0.1
llvm
itanium_demangle
ManglingParser
List of all members
llvm::itanium_demangle::ManglingParser< Alloc > Struct Template Reference
#include "
llvm/Demangle/ItaniumDemangle.h
"
Inheritance diagram for llvm::itanium_demangle::ManglingParser< Alloc >:
[
legend
]
Collaboration diagram for llvm::itanium_demangle::ManglingParser< Alloc >:
[
legend
]
Additional Inherited Members
Public Member Functions inherited from
llvm::itanium_demangle::AbstractManglingParser< ManglingParser< Alloc >, Alloc >
AbstractManglingParser
(
const
char
*First_,
const
char
*Last_)
ManglingParser
< Alloc > &
getDerived
()
void
reset
(
const
char
*First_,
const
char
*Last_)
Node
*
make
(Args &&... args)
NodeArray
makeNodeArray
(It begin, It end)
NodeArray
popTrailingNodeArray
(
size_t
FromPosition)
bool
consumeIf
(
StringView
S)
bool
consumeIf
(
char
C
)
char
consume
()
char
look
(
unsigned
Lookahead=0)
size_t
numLeft
()
const
StringView
parseNumber
(
bool
AllowNegative=
false
)
Qualifiers
parseCVQualifiers
()
bool
parsePositiveInteger
(
size_t
*Out)
StringView
parseBareSourceName
()
bool
parseSeqId
(
size_t
*Out)
Node
*
parseSubstitution
()
Node
*
parseTemplateParam
()
Node
*
parseTemplateArgs
(
bool
TagTemplates=
false
)
Node
*
parseTemplateArg
()
Node
*
parseExpr
()
Parse the <expr> production.
More...
Node
*
parsePrefixExpr
(
StringView
Kind
)
Node
*
parseBinaryExpr
(
StringView
Kind
)
Node
*
parseIntegerLiteral
(
StringView
Lit)
Node
*
parseExprPrimary
()
Node
*
parseFloatingLiteral
()
Node
*
parseFunctionParam
()
Node
*
parseNewExpr
()
Node
*
parseConversionExpr
()
Node
*
parseBracedExpr
()
Node
*
parseFoldExpr
()
Node
*
parseType
()
Parse the <type> production.
More...
Node
*
parseFunctionType
()
Node
*
parseVectorType
()
Node
*
parseDecltype
()
Node
*
parseArrayType
()
Node
*
parsePointerToMemberType
()
Node
*
parseClassEnumType
()
Node
*
parseQualifiedType
()
Node
*
parseEncoding
()
bool
parseCallOffset
()
Node
*
parseSpecialName
()
bool
resolveForwardTemplateRefs
(NameState &State)
Node
*
parseName
(NameState *State=nullptr)
Parse the <name> production>
More...
Node
*
parseLocalName
(NameState *State)
Node
*
parseOperatorName
(NameState *State)
Node
*
parseUnqualifiedName
(NameState *State)
Node
*
parseUnnamedTypeName
(NameState *State)
Node
*
parseSourceName
(NameState *State)
Node
*
parseUnscopedName
(NameState *State)
Node
*
parseNestedName
(NameState *State)
Node
*
parseCtorDtorName
(
Node
*&SoFar, NameState *State)
Node
*
parseAbiTags
(
Node
*
N
)
Node
*
parseUnresolvedName
()
Parse the <unresolved-name> production.
More...
Node
*
parseSimpleId
()
Node
*
parseBaseUnresolvedName
()
Node
*
parseUnresolvedType
()
Node
*
parseDestructorName
()
Node
*
parse
()
Top-level entry point into the parser.
More...
Public Attributes inherited from
llvm::itanium_demangle::AbstractManglingParser< ManglingParser< Alloc >, Alloc >
const
char
*
First
const
char
*
Last
PODSmallVector
<
Node
*, 32 >
Names
PODSmallVector
<
Node
*, 32 >
Subs
PODSmallVector
<
Node
*, 8 >
TemplateParams
PODSmallVector
<
ForwardTemplateReference
*, 4 >
ForwardTemplateRefs
bool
TryToParseTemplateArgs
bool
PermitForwardTemplateReferences
bool
ParsingLambdaParams
Alloc
ASTAllocator
Detailed Description
template<typename Alloc>
struct llvm::itanium_demangle::ManglingParser< Alloc >
Definition at line
5176
of file
ItaniumDemangle.h
.
The documentation for this struct was generated from the following file:
include/llvm/Demangle/
ItaniumDemangle.h
Generated on Sun Dec 20 2020 14:14:49 for LLVM by
1.8.13