LLVM
20.0.0git
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
y
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
o
p
r
s
t
u
v
w
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
l
m
o
p
q
r
s
t
u
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Examples
List of all members
ManglingParser< Alloc > Struct Template Reference
#include "
llvm/Demangle/ItaniumDemangle.h
"
Inheritance diagram for ManglingParser< Alloc >:
[
legend
]
Additional Inherited Members
Public Types inherited from
AbstractManglingParser< ManglingParser< Alloc >, Alloc >
using
TemplateParamList
=
PODSmallVector
<
Node
*, 8 >
Public Member Functions inherited from
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
(std::string_view S)
bool
consumeIf
(
char
C
)
char
consume
()
char
look
(
unsigned
Lookahead=0)
const
size_t
numLeft
()
const
std::string_view
parseNumber
(
bool
AllowNegative=false)
Qualifiers
parseCVQualifiers
()
bool
parsePositiveInteger
(size_t *Out)
std::string_view
parseBareSourceName
()
bool
parseSeqId
(size_t *Out)
Node
*
parseSubstitution
()
Node
*
parseTemplateParam
()
Node
*
parseTemplateParamDecl
(
TemplateParamList
*Params)
Node
*
parseTemplateArgs
(
bool
TagTemplates=false)
Node
*
parseTemplateArg
()
bool
isTemplateParamDecl
()
Node
*
parseExpr
()
Parse the <expression> production.
Node
*
parsePrefixExpr
(std::string_view Kind,
Node::Prec
Prec)
Node
*
parseBinaryExpr
(std::string_view Kind,
Node::Prec
Prec)
Node
*
parseIntegerLiteral
(std::string_view Lit)
Node
*
parseExprPrimary
()
Node
*
parseFloatingLiteral
()
Node
*
parseFunctionParam
()
Node
*
parseConversionExpr
()
Node
*
parseBracedExpr
()
Node
*
parseFoldExpr
()
Node
*
parsePointerToMemberConversionExpr
(
Node::Prec
Prec)
Node
*
parseSubobjectExpr
()
Node
*
parseConstraintExpr
()
Node
*
parseRequiresExpr
()
Node
*
parseType
()
Parse the <type> production.
Node
*
parseFunctionType
()
Node
*
parseVectorType
()
Node
*
parseDecltype
()
Node
*
parseArrayType
()
Node
*
parsePointerToMemberType
()
Node
*
parseClassEnumType
()
Node
*
parseQualifiedType
()
Node
*
parseEncoding
(
bool
ParseParams=
true
)
bool
parseCallOffset
()
Node
*
parseSpecialName
()
bool
resolveForwardTemplateRefs
(NameState &State)
Node
*
parseName
(NameState *State=nullptr)
Parse the <name> production>
Node
*
parseLocalName
(NameState *State)
Node
*
parseOperatorName
(NameState *State)
bool
parseModuleNameOpt
(
ModuleName
*&
Module
)
Node
*
parseUnqualifiedName
(NameState *State,
Node
*Scope,
ModuleName
*
Module
)
Node
*
parseUnnamedTypeName
(NameState *State)
Node
*
parseSourceName
(NameState *State)
Node
*
parseUnscopedName
(NameState *State,
bool
*isSubstName)
Node
*
parseNestedName
(NameState *State)
Node
*
parseCtorDtorName
(
Node
*&SoFar, NameState *State)
Node
*
parseAbiTags
(
Node
*
N
)
const
OperatorInfo *
parseOperatorEncoding
()
Node
*
parseUnresolvedName
(
bool
Global)
Parse the <unresolved-name> production.
Node
*
parseSimpleId
()
Node
*
parseBaseUnresolvedName
()
Node
*
parseUnresolvedType
()
Node
*
parseDestructorName
()
Node
*
parse
(
bool
ParseParams=
true
)
Top-level entry point into the parser.
Public Attributes inherited from
AbstractManglingParser< ManglingParser< Alloc >, Alloc >
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
bool
PermitForwardTemplateReferences
bool
HasIncompleteTemplateParameterTracking
size_t
ParsingLambdaParamsAtLevel
unsigned
NumSyntheticTemplateParameters
[3]
Alloc
ASTAllocator
Static Public Attributes inherited from
AbstractManglingParser< ManglingParser< Alloc >, Alloc >
static
const
OperatorInfo
Ops
[]
static
const
size_t
NumOps
Detailed Description
template<typename Alloc>
struct ManglingParser< Alloc >
Definition at line
6174
of file
ItaniumDemangle.h
.
The documentation for this struct was generated from the following file:
include/llvm/Demangle/
ItaniumDemangle.h
Generated on Thu Jul 10 2025 02:08:35 for LLVM by
1.9.6