clang API Documentation

Classes | Defines | Functions | Variables
Stmt.cpp File Reference
#include "clang/AST/ASTContext.h"
#include "clang/AST/ASTDiagnostic.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/StmtObjC.h"
#include "clang/AST/StmtOpenMP.h"
#include "clang/AST/Type.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Lex/Token.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/raw_ostream.h"
#include "clang/AST/StmtNodes.inc"
#include "clang/Basic/OpenMPKinds.def"
Include dependency graph for Stmt.cpp:

Go to the source code of this file.

Classes

struct  StmtClassNameTable

Defines

#define ABSTRACT_STMT(STMT)
#define STMT(CLASS, PARENT)
#define ASSERT_IMPLEMENTS_children(type)   (void) is_good(implements_children(&type::children))
#define ASSERT_IMPLEMENTS_getLocStart(type)   (void) is_good(implements_getLocStart(&type::getLocStart))
#define ASSERT_IMPLEMENTS_getLocEnd(type)   (void) is_good(implements_getLocEnd(&type::getLocEnd))
#define ABSTRACT_STMT(type)
#define STMT(type, base)
#define ABSTRACT_STMT(type)
#define STMT(type, base)
#define ABSTRACT_STMT(type)
#define STMT(type, base)
#define ABSTRACT_STMT(type)
#define STMT(type, base)
#define ABSTRACT_STMT(type)
#define STMT(type, base)
#define OPENMP_CLAUSE(Name, Class)   case OMPC_ ## Name : return static_cast<Class *>(this)->children();

Functions

static StmtClassNameTablegetStmtInfoTableEntry (Stmt::StmtClass E)
static LLVM_ATTRIBUTE_UNUSED void check_implementations ()
static StringRef copyIntoContext (const ASTContext &C, StringRef str)

Variables

static struct StmtClassNameTable StmtClassInfo [Stmt::lastStmtConstant+1]

Define Documentation

#define ABSTRACT_STMT (   STMT)
#define ABSTRACT_STMT (   type)
#define ABSTRACT_STMT (   type)
#define ABSTRACT_STMT (   type)
#define ABSTRACT_STMT (   type)
#define ABSTRACT_STMT (   type)
#define ASSERT_IMPLEMENTS_children (   type)    (void) is_good(implements_children(&type::children))

Definition at line 181 of file Stmt.cpp.

#define ASSERT_IMPLEMENTS_getLocEnd (   type)    (void) is_good(implements_getLocEnd(&type::getLocEnd))

Definition at line 185 of file Stmt.cpp.

#define ASSERT_IMPLEMENTS_getLocStart (   type)    (void) is_good(implements_getLocStart(&type::getLocStart))

Definition at line 183 of file Stmt.cpp.

#define OPENMP_CLAUSE (   Name,
  Class 
)    case OMPC_ ## Name : return static_cast<Class *>(this)->children();
#define STMT (   CLASS,
  PARENT 
)
Value:
StmtClassInfo[(unsigned)Stmt::CLASS##Class].Name = #CLASS;    \
  StmtClassInfo[(unsigned)Stmt::CLASS##Class].Size = sizeof(CLASS);
#define STMT (   type,
  base 
)
Value:
ASSERT_IMPLEMENTS_children(type); \
  ASSERT_IMPLEMENTS_getLocStart(type); \
  ASSERT_IMPLEMENTS_getLocEnd(type);
#define STMT (   type,
  base 
)
Value:
case Stmt::type##Class: \
    return static_cast<type*>(this)->children();
#define STMT (   type,
  base 
)
Value:
case Stmt::type##Class: \
    return getSourceRangeImpl<type>(this, &type::getSourceRange);
#define STMT (   type,
  base 
)
Value:
case Stmt::type##Class: \
    return static_cast<const type*>(this)->getLocStart();
#define STMT (   type,
  base 
)
Value:
case Stmt::type##Class: \
    return static_cast<const type*>(this)->getLocEnd();

Function Documentation

static LLVM_ATTRIBUTE_UNUSED void check_implementations ( ) [inline, static]

Check whether the various Stmt classes implement their member functions.

Definition at line 192 of file Stmt.cpp.

static StringRef copyIntoContext ( const ASTContext C,
StringRef  str 
) [static]

Definition at line 720 of file Stmt.cpp.

References AttributeLangSupport::C.


Variable Documentation

struct StmtClassNameTable StmtClassInfo[Stmt::lastStmtConstant+1] [static]