clang API Documentation
#include "clang/AST/APValue.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/EvaluatedExprVisitor.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/Mangle.h"
#include "clang/AST/RecordLayout.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Lex/Lexer.h"
#include "clang/Lex/LiteralSupport.h"
#include "clang/Sema/SemaDiagnostic.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cstring>
#include "clang/AST/StmtNodes.inc"
Go to the source code of this file.
Defines | |
#define | ABSTRACT_STMT(type) |
#define | STMT(type, base) case Stmt::type##Class: break; |
#define | EXPR(type, base) case Stmt::type##Class: return getExprLocImpl<type>(this, &type::getExprLoc); |
#define | ABSTRACT_STMT(x) |
#define | CASTEXPR(Type, Base) |
#define | STMT(Type, Base) |
#define | ABSTRACT_STMT(Type) |
#define | STMT(Type, Base) case Type##Class: |
#define | EXPR(Type, Base) |
Functions | |
static void | computeDeclRefDependence (const ASTContext &Ctx, NamedDecl *D, QualType T, bool &TypeDependent, bool &ValueDependent, bool &InstantiationDependent) |
Compute the type-, value-, and instantiation-dependence of a declaration reference based on the declaration being referenced. | |
static const Expr * | skipTemporaryBindingsNoOpCastsAndParens (const Expr *E) |
Skip over any no-op casts and any temporary-binding expressions. |
#define ABSTRACT_STMT | ( | type | ) |
#define ABSTRACT_STMT | ( | x | ) |
#define ABSTRACT_STMT | ( | Type | ) |
case Stmt::Type##Class: \ return reinterpret_cast<CXXBaseSpecifier**>(static_cast<Type*>(this)+1);
#define EXPR | ( | type, | |
base | |||
) | case Stmt::type##Class: return getExprLocImpl<type>(this, &type::getExprLoc); |
#define STMT | ( | type, | |
base | |||
) | case Stmt::type##Class: break; |
static void computeDeclRefDependence | ( | const ASTContext & | Ctx, |
NamedDecl * | D, | ||
QualType | T, | ||
bool & | TypeDependent, | ||
bool & | ValueDependent, | ||
bool & | InstantiationDependent | ||
) | [static] |
Compute the type-, value-, and instantiation-dependence of a declaration reference based on the declaration being referenced.
Definition at line 213 of file Expr.cpp.
References clang::DeclarationName::CXXConversionFunctionName, clang::DeclarationName::getCXXNameType(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::ASTContext::getLangOpts(), clang::DeclarationName::getNameKind(), clang::TypeSourceInfo::getType(), clang::DeclContext::isDependentContext(), clang::Type::isDependentType(), clang::Type::isIncompleteArrayType(), and clang::Type::isInstantiationDependentType().
static const Expr* skipTemporaryBindingsNoOpCastsAndParens | ( | const Expr * | E | ) | [static] |
Skip over any no-op casts and any temporary-binding expressions.
Definition at line 2592 of file Expr.cpp.
References clang::CK_NoOp, and clang::Expr::IgnoreParens().
Referenced by clang::Expr::isTemporaryObject().