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().