blob: 2c0fa598d8bcd46c5b4cc24f0e208439903675f2 [file] [log] [blame]
//===--- SyntaxKinds.def - Swift Syntax Node Metaprogramming --------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
#define DECL(Id, Parent) SYNTAX(Id##Decl, Parent)
#define STMT(Id, Parent) SYNTAX(Id##Stmt, Parent)
#define EXPR(Id, Parent) SYNTAX(Id##Expr, Parent)
#define PATTERN(Id, Parent) SYNTAX(Id##Pattern, Parent)
//#include "swift/AST/DeclNodes.def"
//#include "swift/AST/StmtNodes.def"
//#include "swift/AST/ExprNodes.def"
//#include "swift/AST/PatternNodes.def"
#ifndef ABSTRACT_SYNTAX
#define ABSTRACT_SYNTAX(Id, Parent)
#endif
#ifndef SYNTAX_RANGE
#define SYNTAX_RANGE(Id, First, Last)
#endif
#ifndef MISSING_SYNTAX
#define MISSING_SYNTAX(Id, Parent)
#endif
SYNTAX(Unknown, Syntax)
// Decls
ABSTRACT_SYNTAX(DeclSyntax, Syntax)
MISSING_SYNTAX(MissingDecl, DeclSyntax)
SYNTAX(UnknownDecl, DeclSyntax)
SYNTAX(StructDecl, DeclSyntax)
SYNTAX(TypeAliasDecl, DeclSyntax)
SYNTAX(FunctionDecl, DeclSyntax)
SYNTAX_RANGE(Decl, MissingDecl, FunctionDecl)
SYNTAX(DeclMembers, Syntax)
SYNTAX(GenericParameter, Syntax)
SYNTAX(GenericParameterClause, Syntax)
SYNTAX(GenericParameterList, Syntax)
SYNTAX(GenericWhereClause, Syntax)
SYNTAX(GenericRequirementList, Syntax)
SYNTAX(GenericArgumentClause, Syntax)
SYNTAX(GenericArgumentList, Syntax)
ABSTRACT_SYNTAX(GenericRequirementSyntax, Syntax)
SYNTAX(ConformanceRequirement, GenericRequirementSyntax)
SYNTAX(SameTypeRequirement, GenericRequirementSyntax)
SYNTAX(TypeArgumentList, Syntax)
// Types
ABSTRACT_SYNTAX(TypeSyntax, Syntax)
MISSING_SYNTAX(MissingType, TypeSyntax)
SYNTAX(MetatypeType, TypeSyntax)
SYNTAX(TypeIdentifier, TypeSyntax)
SYNTAX(TupleType, TypeSyntax)
SYNTAX(OptionalType, TypeSyntax)
SYNTAX(ImplicitlyUnwrappedOptionalType, TypeSyntax)
SYNTAX(ArrayType, TypeSyntax)
SYNTAX(DictionaryType, TypeSyntax)
SYNTAX(FunctionType, TypeSyntax)
SYNTAX_RANGE(Type, MissingType, FunctionType)
// Statements
SYNTAX(StmtList, Syntax)
ABSTRACT_SYNTAX(StmtSyntax, Syntax)
SYNTAX(UnknownStmt, StmtSyntax)
SYNTAX(CodeBlockStmt, StmtSyntax)
SYNTAX(FallthroughStmt, StmtSyntax)
SYNTAX(BreakStmt, StmtSyntax)
SYNTAX(ContinueStmt, StmtSyntax)
SYNTAX(ReturnStmt, StmtSyntax)
SYNTAX_RANGE(Stmt, UnknownStmt, ReturnStmt)
// Expressions
ABSTRACT_SYNTAX(ExprSyntax, Syntax)
MISSING_SYNTAX(MissingExpr, ExprSyntax)
SYNTAX(UnknownExpr, ExprSyntax)
SYNTAX(IntegerLiteralExpr, ExprSyntax)
SYNTAX(FunctionCallExpr, ExprSyntax)
SYNTAX(SymbolicReferenceExpr, ExprSyntax)
SYNTAX_RANGE(Expr, MissingExpr, SymbolicReferenceExpr)
// Other stuff
SYNTAX(BalancedTokens, Syntax)
SYNTAX(TypeAttribute, Syntax)
SYNTAX(TypeAttributes, Syntax)
SYNTAX(TupleTypeElement, Syntax)
SYNTAX(FunctionTypeArgument, Syntax)
SYNTAX(FunctionCallArgumentList, Syntax)
SYNTAX(FunctionCallArgument, Syntax)
SYNTAX(FunctionSignature, Syntax)
SYNTAX(FunctionParameterList, Syntax)
SYNTAX(FunctionParameter, Syntax)
SYNTAX(DeclModifier, Syntax)
SYNTAX(DeclModifierList, Syntax)
#undef ABSTRACT_SYNTAX
#undef DECL
#undef STMT
#undef EXPR
#undef PATTERN
#undef SYNTAX
#undef MISSING_SYNTAX
#undef SYNTAX_RANGE