#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"
#include "clang/AST/OperationKinds.def"
Go to the source code of this file.
◆ ABSTRACT_STMT [1/3]
#define ABSTRACT_STMT |
( |
|
type | ) |
|
◆ ABSTRACT_STMT [2/3]
#define ABSTRACT_STMT |
( |
|
x | ) |
|
◆ ABSTRACT_STMT [3/3]
#define ABSTRACT_STMT |
( |
|
Type | ) |
|
◆ BINARY_OPERATION
#define BINARY_OPERATION |
( |
|
Name, |
|
|
|
Spelling |
|
) |
| case BO_##Name: return Spelling; |
◆ CAST_OPERATION
#define CAST_OPERATION |
( |
|
Name | ) |
case CK_##Name: return #Name; |
◆ CASTEXPR
#define CASTEXPR |
( |
|
Type, |
|
|
|
Base |
|
) |
| |
Value:case Stmt::Type##
Class: \
return
static_cast<Type *
>(
this)->getTrailingObjects<CXXBaseSpecifier *>();
The base class of the type hierarchy.
◆ EXPR [1/2]
#define EXPR |
( |
|
type, |
|
|
|
base |
|
) |
| case Stmt::type##Class: return getExprLocImpl<type>(this, &type::getExprLoc); |
◆ EXPR [2/2]
#define EXPR |
( |
|
Type, |
|
|
|
Base |
|
) |
| |
◆ STMT [1/3]
#define STMT |
( |
|
type, |
|
|
|
base |
|
) |
| case Stmt::type##Class: break; |
◆ STMT [2/3]
#define STMT |
( |
|
Type, |
|
|
|
Base |
|
) |
| |
◆ STMT [3/3]
#define STMT |
( |
|
Type, |
|
|
|
Base |
|
) |
| case Type##Class: |
◆ UNARY_OPERATION
#define UNARY_OPERATION |
( |
|
Name, |
|
|
|
Spelling |
|
) |
| case UO_##Name: return Spelling; |
◆ computeDeclRefDependence()
Compute the type-, value-, and instantiation-dependence of a declaration reference based on the declaration being referenced.
Definition at line 236 of file Expr.cpp.
References clang::DeclarationName::CXXConversionFunctionName, clang::Stmt::DeclRefExprBits, clang::Expr::Expr(), clang::Stmt::ExprBits, clang::DeclarationName::getCXXNameType(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::DeclarationNameInfo::getInfo(), clang::ASTContext::getLangOpts(), clang::DeclarationNameInfo::getLoc(), clang::DeclarationName::getNameKind(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::TypeSourceInfo::getType(), clang::Expr::getType(), clang::if(), clang::DeclContext::isDependentContext(), clang::Type::isDependentType(), clang::Type::isIncompleteArrayType(), clang::Type::isInstantiationDependentType(), clang::SourceLocation::isValid(), clang::OK_Ordinary, and clang::T.
◆ skipTemporaryBindingsNoOpCastsAndParens()
static const Expr* skipTemporaryBindingsNoOpCastsAndParens |
( |
const Expr * |
E | ) |
|
|
static |
Skip over any no-op casts and any temporary-binding expressions.
Definition at line 2633 of file Expr.cpp.