top
|
up
|
prev
| next
ast Namespace
Classes
class
AdditiveExpressionNode
class
AliasDeclarationNode
class
AndExpressionNode
class
ArrayDeclaratorNode
class
ArrowNode
class
AssignCaptureNode
class
AssignmentExpressionNode
class
AssignmentInitializerNode
class
BaseClassSpecifierNode
class
BaseClassSpecifierSequenceNode
class
BinaryNode
class
BooleanLiteralNode
class
BracedInitializerListNode
class
BreakStatementNode
class
CaptureSequenceNode
class
CaseStatementNode
class
CastExpressionNode
class
CatchAllNode
class
CharacterLiteralNode
class
ClassNode
class
CommaExpressionNode
class
CompoundStatementNode
class
ConcreteNodeCreator
class
ConditionalExpressionNode
class
ConstNode
class
ContinueStatementNode
class
ConversionFunctionIdNode
class
CppCastExpressionNode
class
CtorInitializerNode
class
DeclarationSequenceNode
class
DeclarationStatementNode
class
DefaultStatementNode
class
DeleteExpressionNode
class
DoStatementNode
class
DotNode
class
DtorIdNode
class
ElaborateClassNameNode
class
EnumTypeNode
class
EnumeratorNode
class
EnumeratorSequenceNode
class
EqualityExpressionNode
class
ExclusiveOrExpressionNode
class
ExplicitInstantiationNode
class
ExplicitSpecializationNode
class
ExpressionInitializerNode
class
ExpressionListInitializerNode
class
ExpressionSequenceNode
class
ExpressionStatementNode
class
FloatingLiteralNode
class
ForStatementNode
class
ForwardClassDeclarationNode
class
FunctionDeclaratorNode
class
FunctionNode
class
FunctionPtrIdNode
class
GotoStatementNode
class
HandlerNode
class
HandlerSequenceNode
class
IdDeclaratorNode
class
IdentifierCaptureNode
class
IdentifierNode
class
IfStatementNode
class
InclusiveOrExpressionNode
class
InitDeclaratorNode
class
IntegerLiteralNode
class
InvokeExpressionNode
class
LValueRefNode
class
LabeledStatementNode
class
LambdaExpressionNode
class
LinkageSpecificationNode
class
LiteralNode
class
LogicalAndExpressionNode
class
LogicalOrExpressionNode
class
MemberAccessDeclarationNode
class
MemberDeclarationNode
class
MemberFunctionPtrIdNode
class
MemberInitializerNode
class
MemberInitializerSequenceNode
class
MultiplicativeExpressionNode
class
NamespaceNode
class
NestedIdNode
class
NewExpressionNode
class
Node
class
NodeCreator
class
NodeFactory
class
NullPtrLiteralNode
class
OperatorFunctionIdNode
class
PMExpressionNode
class
ParameterNode
class
ParameterSequenceNode
class
ParenthesizedExprNode
class
PointerNode
class
PostfixDecNode
class
PostfixIncNode
class
Project
class
RValueRefNode
class
RangeForStatementNode
class
Reader
class
RefCaptureNode
class
RelationalExpressionNode
class
ReturnStatementNode
class
ShiftExpressionNode
class
SimpleDeclarationNode
class
SimpleTypeNode
class
Solution
class
SourceCodeWriter
class
SourceFileNode
class
SourceFileResolverVisitor
class
SourceFileSequenceNode
class
SpecialMemberFunctionNode
class
StatementSequenceNode
class
StringLiteralNode
class
SubscriptExpressionNode
class
SwitchStatementNode
class
TemplateArgumentNode
class
TemplateArgumentSequenceNode
class
TemplateDeclarationNode
class
TemplateIdNode
class
TemplateParameterSequenceNode
class
ThisCaptureNode
class
ThisNode
class
ThrowExpressionNode
class
TryStatementNode
class
TypeIdExpressionNode
class
TypeParameterNode
class
TypedefNode
class
UnaryExpressionNode
class
UnaryNode
class
UsingDeclarationNode
class
UsingDirectiveNode
struct
Version
class
Visitor
class
VolatileNode
class
WhileStatementNode
class
Writer
Functions
Node
*
CreatePrefixTypeExprNode
(
const
Span& span_,
Specifier
cvSpecifiers,
Node
* typeExprNode)
Specifier
DeclSpecifierMask
()
constexpr inline
Specifier
DefaultDeleteSpecifierMask
()
constexpr inline
void
Done
()
bool
HasPureSpecifier
(
Specifier
specifiers)
void
Init
()
bool
IsFunctionDeclarator
(
Node
* declaratorNode)
void
NodeDone
()
void
NodeInit
()
std::u32string
OpStr
(
Operator
op)
void
ResolveSourceFiles
(
Node
* ast, std::vector<
SourceFileNode
*>& sourceFiles)
std::u32string
SpecifierStr
(
Specifier
specifiers)
std::u32string
ToString
(
ClassKey
classKey)
std::u32string
ToString
(
EnumKey
enumKey)
std::u32string
ToString
(
SimpleTypeSpecifier
specifier)
std::u32string
ToString
(
Suffix
suffix)
Specifier
VirtPureSpecifierMask
()
constexpr inline
SimpleTypeSpecifierFlags
operator&
(
SimpleTypeSpecifierFlags
left,
SimpleTypeSpecifierFlags
right)
constexpr inline
Specifier
operator&
(
Specifier
left,
Specifier
right)
constexpr inline
Suffix
operator&
(
Suffix
left,
Suffix
right)
inline
SimpleTypeSpecifierFlags
operator|
(
SimpleTypeSpecifierFlags
left,
SimpleTypeSpecifierFlags
right)
constexpr inline
Specifier
operator|
(
Specifier
left,
Specifier
right)
constexpr inline
Suffix
operator|
(
Suffix
left,
Suffix
right)
inline
SimpleTypeSpecifierFlags
operator~
(
SimpleTypeSpecifierFlags
flags)
constexpr inline
Enumerations
enum class
Base
enum class
ClassKey
enum class
EnumKey
enum class
NodeType
enum class
Operator
enum class
SimpleTypeSpecifier
enum class
SimpleTypeSpecifierFlags
enum class
Specifier
enum class
Suffix
Function Details
CreatePrefixTypeExprNode Function
Node
* sngcpp::ast::CreatePrefixTypeExprNode(
const
Span& span_,
Specifier
cvSpecifiers,
Node
* typeExprNode)
Definition at line
38
of
TypeExpr.cpp
Declaration at line
29
of
TypeExpr.hpp
DeclSpecifierMask Function
Specifier
sngcpp::ast::DeclSpecifierMask()
constexpr inline
Definition at line
55
of
Specifier.hpp
:
56
{
57
return
Specifier
::
register_
|
Specifier
::
static_
|
Specifier
::
threadLocal
|
Specifier
::
extern_
|
Specifier
::
mutable_
|
58
Specifier
::
inline_
|
Specifier
::
virtual_
|
Specifier
::
explicit_
|
59
Specifier
::
friend_
|
Specifier
::
constExpr
;
60
}
DefaultDeleteSpecifierMask Function
Specifier
sngcpp::ast::DefaultDeleteSpecifierMask()
constexpr inline
Definition at line
67
of
Specifier.hpp
:
68
{
69
return
Specifier
::
default_
|
Specifier
::
delete_
;
70
}
Done Function
void
sngcpp::ast::Done()
Definition at line
16
of
InitDone.cpp
:
17
{
18
NodeDone
(
)
;
19
}
Declaration at line
13
of
InitDone.hpp
HasPureSpecifier Function
bool
sngcpp::ast::HasPureSpecifier(
Specifier
specifiers)
Definition at line
106
of
Function.cpp
:
107
{
108
return
(
specifiers
&
Specifier
::
pure_
)
!=
Specifier
::
none
;
109
}
Declaration at line
56
of
Function.hpp
Init Function
void
sngcpp::ast::Init()
Definition at line
11
of
InitDone.cpp
:
12
{
13
NodeInit
(
)
;
14
}
Declaration at line
12
of
InitDone.hpp
IsFunctionDeclarator Function
bool
sngcpp::ast::IsFunctionDeclarator(
Node
* declaratorNode)
Definition at line
101
of
Function.cpp
:
102
{
103
return
declaratorNode
->
IsFunctionDeclaratorNode
(
)
;
104
}
Declaration at line
55
of
Function.hpp
Calls:
sngcpp::ast::Node::IsFunctionDeclaratorNode
NodeDone Function
void
sngcpp::ast::NodeDone()
Definition at line
314
of
Node.cpp
:
315
{
316
NodeFactory
::
Done
(
)
;
317
}
Declaration at line
128
of
Node.hpp
Calls:
sngcpp::ast::NodeFactory::Done
NodeInit Function
void
sngcpp::ast::NodeInit()
Definition at line
309
of
Node.cpp
:
310
{
311
NodeFactory
::
Init
(
)
;
312
}
Declaration at line
127
of
Node.hpp
Calls:
sngcpp::ast::NodeFactory::Init
OpStr Function
std::u32string sngcpp::ast::OpStr(
Operator
op)
Definition at line
13
of
Expression.cpp
Declaration at line
23
of
Expression.hpp
ResolveSourceFiles Function
void
sngcpp::ast::ResolveSourceFiles(
Node
* ast, std::vector<
SourceFileNode
*>& sourceFiles)
Definition at line
146
of
SourceFile.cpp
:
147
{
148
SourceFileResolverVisitor
resolver
(
sourceFiles
)
;
149
ast
->
Accept
(
resolver
)
;
150
}
Declaration at line
69
of
SourceFile.hpp
Calls:
sngcpp::ast::Node::Accept
SpecifierStr Function
std::u32string sngcpp::ast::SpecifierStr(
Specifier
specifiers)
Definition at line
10
of
Specifier.cpp
Declaration at line
53
of
Specifier.hpp
ToString Function
std::u32string sngcpp::ast::ToString(
ClassKey
classKey)
Definition at line
14
of
Class.cpp
:
15
{
16
switch
(
classKey
)
17
{
18
case
ClassKey
::
class_
:
return
U"class"
;
19
case
ClassKey
::
struct_
:
return
U"struct"
;
20
case
ClassKey
::
union_
:
return
U"union"
;
21
case
ClassKey
::
typename_
:
return
U"typename"
;
22
}
23
return
std
::
u32string
(
)
;
24
}
Declaration at line
18
of
Class.hpp
ToString Function
std::u32string sngcpp::ast::ToString(
EnumKey
enumKey)
Definition at line
13
of
Enumeration.cpp
:
14
{
15
switch
(
enumKey
)
16
{
17
case
EnumKey
::
enumClass_
:
return
U"enum class"
;
18
case
EnumKey
::
enumStruct_
:
return
U"enum struct"
;
19
case
EnumKey
::
enum_
:
return
U"enum"
;
20
}
21
return
std
::
u32string
(
)
;
22
}
Declaration at line
18
of
Enumeration.hpp
ToString Function
std::u32string sngcpp::ast::ToString(
SimpleTypeSpecifier
specifier)
Definition at line
18
of
SimpleType.cpp
:
19
{
20
return
simpleTypeSpecifierStr
[
uint8_t
(
specifier
)
]
;
21
}
Declaration at line
41
of
SimpleType.hpp
Called by:
sngcpp::ast::SimpleTypeNode::Id
,
sngcpp::ast::SimpleTypeNode::Str
ToString Function
std::u32string sngcpp::ast::ToString(
Suffix
suffix)
Definition at line
13
of
Literal.cpp
Declaration at line
37
of
Literal.hpp
VirtPureSpecifierMask Function
Specifier
sngcpp::ast::VirtPureSpecifierMask()
constexpr inline
Definition at line
62
of
Specifier.hpp
:
63
{
64
return
Specifier
::
override_
|
Specifier
::
final_
|
Specifier
::
new_
|
Specifier
::
pure_
;
65
}
operator& Function
SimpleTypeSpecifierFlags
sngcpp::ast::operator&(
SimpleTypeSpecifierFlags
left,
SimpleTypeSpecifierFlags
right)
constexpr inline
Definition at line
31
of
SimpleType.hpp
:
32
{
33
return
SimpleTypeSpecifierFlags
(
uint16_t
(
left
)
&
uint16_t
(
right
)
)
;
34
}
operator& Function
Specifier
sngcpp::ast::operator&(
Specifier
left,
Specifier
right)
constexpr inline
Definition at line
48
of
Specifier.hpp
:
49
{
50
return
Specifier
(
uint32_t
(
left
)
&
uint32_t
(
right
)
)
;
51
}
operator& Function
Suffix
sngcpp::ast::operator&(
Suffix
left,
Suffix
right)
inline
Definition at line
27
of
Literal.hpp
:
28
{
29
return
Suffix
(
uint8_t
(
left
)
&
uint8_t
(
right
)
)
;
30
}
operator| Function
SimpleTypeSpecifierFlags
sngcpp::ast::operator|(
SimpleTypeSpecifierFlags
left,
SimpleTypeSpecifierFlags
right)
constexpr inline
Definition at line
26
of
SimpleType.hpp
:
27
{
28
return
SimpleTypeSpecifierFlags
(
uint16_t
(
left
)
|
uint16_t
(
right
)
)
;
29
}
operator| Function
Specifier
sngcpp::ast::operator|(
Specifier
left,
Specifier
right)
constexpr inline
Definition at line
43
of
Specifier.hpp
:
44
{
45
return
Specifier
(
uint32_t
(
left
)
|
uint32_t
(
right
)
)
;
46
}
operator| Function
Suffix
sngcpp::ast::operator|(
Suffix
left,
Suffix
right)
inline
Definition at line
22
of
Literal.hpp
:
23
{
24
return
Suffix
(
uint8_t
(
left
)
|
uint8_t
(
right
)
)
;
25
}
operator~ Function
SimpleTypeSpecifierFlags
sngcpp::ast::operator~(
SimpleTypeSpecifierFlags
flags)
constexpr inline
Definition at line
36
of
SimpleType.hpp
:
37
{
38
return
SimpleTypeSpecifierFlags
(
~
uint16_t
(
flags
)
)
;
39
}
top
|
up
|
prev
| next