Include the following in each entry:
struct-declaration
StructDeclSyntax
typealias-assignment
typealias-declaration
TypeAliasDeclSyntax
class-body
class-members
DeclMembersSyntax
ClassDeclSyntax
used for the {
}
braces.extension-body
DeclMembersSyntax
protocol-body
DeclMembersSyntax
struct-body
struct-members
DeclMembersSyntax
StructDeclSyntax
used for the {
}
braces.statement
StmtSyntax
(Abstract base class)statements
StmtListSyntax
code-block
CodeBlockSyntax
fallthrough-statement
FallthroughStmtSyntax
break-statement
BreakStmtSyntax
continue-statement
ContinueStmtSyntax
return-statement
ReturnStmtSyntax
IntegerLiteralExprSyntax
type
type-annotation
TypeSyntax
(Abstract base class)protocol-identifier
type-identifier
TypeIdentifierSyntax
optional-type
OptionalTypeSyntax
implicitly-unwrapped-optional-type
ImplicitlyUnwrappedOptionalTypeSyntax
array-type
ArrayTypeSyntax
dictionary-type
DictionaryTypeSyntax
function-type
function-type-argument
function-type-argument-clause
FunctionTypeSyntax
function-type-argument-list
TypeArgumentListSyntax
metatype-type
MetatypeTypeSyntax
attribute
attribute-argument-clause
TypeAttributeSyntax
attributes
TypeAttributesSyntax
balanced-token
BalancedTokenSyntax
balanced-tokens
BalancedTokensSyntax
generic-argument-clause
GenericArgumentClauseSyntax
generic-argument-list
GenericArgumentListSyntax
generic-parameter-clause
GenericParameterClauseSyntax
generic-parameter
GenericParameterSyntax
generic-parameter-list
GenericParameterListSyntax
conformance-requirement
ConformanceRequirementSyntax
same-type-requirement
SameTypeRequirementSyntax
generic-where-clause
GenericWhereClauseSyntax
requirement-list
GenericRequirementListSyntax
TokenSyntax
These productions don't need to be represented directly in a class hierarchy.