mirror of
https://github.com/opnsense/src.git
synced 2026-02-27 03:40:37 -05:00
164 lines
4.7 KiB
C++
164 lines
4.7 KiB
C++
//===-- StmtNodes.def - Metadata about Stmt AST nodes -----------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file defines the AST Node info database.
|
|
//
|
|
//===---------------------------------------------------------------------===//
|
|
|
|
#ifndef FIRST_STMT
|
|
#define FIRST_STMT(CLASS)
|
|
#define LAST_STMT(CLASS)
|
|
#endif
|
|
|
|
#ifndef FIRST_EXPR
|
|
#define FIRST_EXPR(CLASS)
|
|
#define LAST_EXPR(CLASS)
|
|
#endif
|
|
|
|
#ifndef EXPR
|
|
# define EXPR(Type, Base) STMT(Type, Base)
|
|
#endif
|
|
|
|
#ifndef ABSTRACT_EXPR
|
|
# define ABSTRACT_EXPR(Type, Base) EXPR(Type, Base)
|
|
#endif
|
|
|
|
// Normal Statements.
|
|
STMT(NullStmt , Stmt)
|
|
FIRST_STMT(NullStmt)
|
|
STMT(CompoundStmt , Stmt)
|
|
STMT(CaseStmt , SwitchCase)
|
|
STMT(DefaultStmt , SwitchCase)
|
|
STMT(LabelStmt , Stmt)
|
|
STMT(IfStmt , Stmt)
|
|
STMT(SwitchStmt , Stmt)
|
|
STMT(WhileStmt , Stmt)
|
|
STMT(DoStmt , Stmt)
|
|
STMT(ForStmt , Stmt)
|
|
STMT(GotoStmt , Stmt)
|
|
STMT(IndirectGotoStmt, Stmt)
|
|
STMT(ContinueStmt , Stmt)
|
|
STMT(BreakStmt , Stmt)
|
|
STMT(ReturnStmt , Stmt)
|
|
STMT(DeclStmt , Stmt)
|
|
STMT(SwitchCase , Stmt)
|
|
|
|
// GNU Stmt Extensions
|
|
STMT(AsmStmt , Stmt)
|
|
|
|
// Obj-C statements
|
|
STMT(ObjCAtTryStmt , Stmt)
|
|
STMT(ObjCAtCatchStmt , Stmt)
|
|
STMT(ObjCAtFinallyStmt , Stmt)
|
|
STMT(ObjCAtThrowStmt , Stmt)
|
|
STMT(ObjCAtSynchronizedStmt , Stmt)
|
|
// Obj-C2 statements
|
|
STMT(ObjCForCollectionStmt, Stmt)
|
|
|
|
// C++ statements
|
|
STMT(CXXCatchStmt, Stmt)
|
|
STMT(CXXTryStmt , Stmt)
|
|
|
|
LAST_STMT(CXXTryStmt)
|
|
|
|
// Expressions.
|
|
ABSTRACT_EXPR(Expr , Stmt)
|
|
EXPR(PredefinedExpr , Expr)
|
|
EXPR(DeclRefExpr , Expr)
|
|
EXPR(IntegerLiteral , Expr)
|
|
EXPR(FloatingLiteral , Expr)
|
|
EXPR(ImaginaryLiteral , Expr)
|
|
EXPR(StringLiteral , Expr)
|
|
EXPR(CharacterLiteral , Expr)
|
|
EXPR(ParenExpr , Expr)
|
|
EXPR(UnaryOperator , Expr)
|
|
EXPR(SizeOfAlignOfExpr , Expr)
|
|
EXPR(ArraySubscriptExpr , Expr)
|
|
EXPR(CallExpr , Expr)
|
|
EXPR(MemberExpr , Expr)
|
|
ABSTRACT_EXPR(CastExpr , Expr)
|
|
EXPR(BinaryOperator , Expr)
|
|
EXPR(CompoundAssignOperator, BinaryOperator)
|
|
EXPR(ConditionalOperator , Expr)
|
|
EXPR(ImplicitCastExpr , CastExpr)
|
|
ABSTRACT_EXPR(ExplicitCastExpr, CastExpr)
|
|
EXPR(CStyleCastExpr , ExplicitCastExpr)
|
|
EXPR(CompoundLiteralExpr , Expr)
|
|
EXPR(ExtVectorElementExpr , Expr)
|
|
EXPR(InitListExpr , Expr)
|
|
EXPR(DesignatedInitExpr , Expr)
|
|
EXPR(ImplicitValueInitExpr , Expr)
|
|
EXPR(ParenListExpr , Expr)
|
|
EXPR(VAArgExpr , Expr)
|
|
|
|
// GNU Extensions.
|
|
EXPR(AddrLabelExpr , Expr)
|
|
EXPR(StmtExpr , Expr)
|
|
EXPR(TypesCompatibleExpr , Expr)
|
|
EXPR(ChooseExpr , Expr)
|
|
EXPR(GNUNullExpr , Expr)
|
|
|
|
// C++ Expressions.
|
|
EXPR(CXXOperatorCallExpr , CallExpr)
|
|
EXPR(CXXMemberCallExpr , CallExpr)
|
|
EXPR(CXXNamedCastExpr , ExplicitCastExpr)
|
|
EXPR(CXXStaticCastExpr , CXXNamedCastExpr)
|
|
EXPR(CXXDynamicCastExpr , CXXNamedCastExpr)
|
|
EXPR(CXXReinterpretCastExpr , CXXNamedCastExpr)
|
|
EXPR(CXXConstCastExpr , CXXNamedCastExpr)
|
|
EXPR(CXXFunctionalCastExpr , ExplicitCastExpr)
|
|
EXPR(CXXTypeidExpr , Expr)
|
|
EXPR(CXXBoolLiteralExpr , Expr)
|
|
EXPR(CXXNullPtrLiteralExpr , Expr)
|
|
EXPR(CXXThisExpr , Expr)
|
|
EXPR(CXXThrowExpr , Expr)
|
|
EXPR(CXXDefaultArgExpr , Expr)
|
|
EXPR(CXXZeroInitValueExpr , Expr)
|
|
EXPR(CXXNewExpr , Expr)
|
|
EXPR(CXXDeleteExpr , Expr)
|
|
EXPR(CXXPseudoDestructorExpr, Expr)
|
|
EXPR(UnresolvedLookupExpr , Expr)
|
|
EXPR(UnaryTypeTraitExpr , Expr)
|
|
EXPR(DependentScopeDeclRefExpr , Expr)
|
|
EXPR(CXXConstructExpr , Expr)
|
|
EXPR(CXXBindTemporaryExpr , Expr)
|
|
EXPR(CXXBindReferenceExpr , Expr)
|
|
EXPR(CXXExprWithTemporaries , Expr)
|
|
EXPR(CXXTemporaryObjectExpr , CXXConstructExpr)
|
|
EXPR(CXXUnresolvedConstructExpr, Expr)
|
|
EXPR(CXXDependentScopeMemberExpr, Expr)
|
|
EXPR(UnresolvedMemberExpr , Expr)
|
|
|
|
// Obj-C Expressions.
|
|
EXPR(ObjCStringLiteral , Expr)
|
|
EXPR(ObjCEncodeExpr , Expr)
|
|
EXPR(ObjCMessageExpr , Expr)
|
|
EXPR(ObjCSelectorExpr , Expr)
|
|
EXPR(ObjCProtocolExpr , Expr)
|
|
EXPR(ObjCIvarRefExpr , Expr)
|
|
EXPR(ObjCPropertyRefExpr , Expr)
|
|
EXPR(ObjCImplicitSetterGetterRefExpr , Expr)
|
|
EXPR(ObjCSuperExpr , Expr)
|
|
EXPR(ObjCIsaExpr , Expr)
|
|
|
|
// Clang Extensions.
|
|
EXPR(ShuffleVectorExpr , Expr)
|
|
EXPR(BlockExpr , Expr)
|
|
EXPR(BlockDeclRefExpr , Expr)
|
|
|
|
FIRST_EXPR(PredefinedExpr)
|
|
LAST_EXPR(BlockDeclRefExpr)
|
|
|
|
#undef ABSTRACT_EXPR
|
|
#undef EXPR
|
|
#undef STMT
|
|
#undef FIRST_STMT
|
|
#undef LAST_STMT
|
|
#undef FIRST_EXPR
|
|
#undef LAST_EXPR
|