#include "clang/AST/Stmt.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/ASTDiagnostic.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclGroup.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprConcepts.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/ExprOpenMP.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/StmtObjC.h"
#include "clang/AST/StmtOpenACC.h"
#include "clang/AST/StmtOpenMP.h"
#include "clang/AST/Type.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Lex/Token.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstring>
#include <optional>
#include <string>
#include <type_traits>
#include <utility>
#include "clang/AST/StmtNodes.inc"
Go to the source code of this file.
◆ ABSTRACT_STMT [1/6]
#define ABSTRACT_STMT |
( |
|
STMT | ) |
|
◆ ABSTRACT_STMT [2/6]
#define ABSTRACT_STMT |
( |
|
type | ) |
|
◆ ABSTRACT_STMT [3/6]
#define ABSTRACT_STMT |
( |
|
type | ) |
|
◆ ABSTRACT_STMT [4/6]
#define ABSTRACT_STMT |
( |
|
type | ) |
|
◆ ABSTRACT_STMT [5/6]
#define ABSTRACT_STMT |
( |
|
type | ) |
|
◆ ABSTRACT_STMT [6/6]
#define ABSTRACT_STMT |
( |
|
type | ) |
|
◆ ASSERT_IMPLEMENTS_children
#define ASSERT_IMPLEMENTS_children |
( |
|
type | ) |
(void) is_good(implements_children(&type::children)) |
◆ ASSERT_IMPLEMENTS_getBeginLoc
#define ASSERT_IMPLEMENTS_getBeginLoc |
( |
|
type | ) |
(void)is_good(implements_getBeginLoc(&type::getBeginLoc)) |
◆ ASSERT_IMPLEMENTS_getEndLoc
#define ASSERT_IMPLEMENTS_getEndLoc |
( |
|
type | ) |
(void)is_good(implements_getEndLoc(&type::getEndLoc)) |
◆ INITLISTEXPR
#define INITLISTEXPR |
( |
|
CLASS, |
|
|
|
PARENT |
|
) |
| |
◆ STMT [1/8]
#define STMT |
( |
|
CLASS, |
|
|
|
PARENT |
|
) |
| |
Value:
static struct StmtClassNameTable StmtClassInfo[Stmt::lastStmtConstant+1]
Definition at line 94 of file Stmt.cpp.
◆ STMT [2/8]
#define STMT |
( |
|
CLASS, |
|
|
|
PARENT |
|
) |
| |
Value: static_assert(!std::is_polymorphic<CLASS>::value, \
#CLASS " should not be polymorphic!");
Definition at line 94 of file Stmt.cpp.
◆ STMT [3/8]
#define STMT |
( |
|
CLASS, |
|
|
|
PARENT |
|
) |
| |
Value: static_assert(std::is_trivially_destructible<CLASS>::value, \
#CLASS " should be trivially destructible!");
Definition at line 94 of file Stmt.cpp.
◆ STMT [4/8]
#define STMT |
( |
|
type, |
|
|
|
base |
|
) |
| |
Value:
ASSERT_IMPLEMENTS_getBeginLoc(
type); \
ASSERT_IMPLEMENTS_getEndLoc(
type);
#define ASSERT_IMPLEMENTS_children(type)
const internal::VariadicAllOfMatcher< Type > type
Matches Types in the clang AST.
Definition at line 94 of file Stmt.cpp.
◆ STMT [5/8]
#define STMT |
( |
|
type, |
|
|
|
base |
|
) |
| |
Value: case Stmt::type##
Class: \
return static_cast<type*
>(
this)->children();
@ Class
The "class" keyword introduces the elaborated-type-specifier.
Definition at line 94 of file Stmt.cpp.
◆ STMT [6/8]
#define STMT |
( |
|
type, |
|
|
|
base |
|
) |
| |
Value: case Stmt::type##
Class: \
return getSourceRangeImpl<type>(this, &type::getSourceRange);
Definition at line 94 of file Stmt.cpp.
◆ STMT [7/8]
#define STMT |
( |
|
type, |
|
|
|
base |
|
) |
| |
Value: case Stmt::type##
Class: \
return static_cast<const type *
>(
this)->getBeginLoc();
Definition at line 94 of file Stmt.cpp.
◆ STMT [8/8]
#define STMT |
( |
|
type, |
|
|
|
base |
|
) |
| |
Value: case Stmt::type##
Class: \
return static_cast<const type *
>(
this)->getEndLoc();
Definition at line 94 of file Stmt.cpp.
◆ check_implementations()
static LLVM_ATTRIBUTE_UNUSED void check_implementations |
( |
| ) |
|
|
inlinestatic |
Check whether the various Stmt classes implement their member functions.
Definition at line 278 of file Stmt.cpp.
◆ copyIntoContext()
static StringRef copyIntoContext |
( |
const ASTContext & |
C, |
|
|
StringRef |
str |
|
) |
| |
|
static |
◆ getLikelihood() [1/2]
◆ getLikelihood() [2/2]
◆ getStmtInfoTableEntry()
◆ StmtClassInfo