clang 20.0.0git
|
#include "clang/AST/ASTImporter.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/ASTDiagnostic.h"
#include "clang/AST/ASTImporterSharedState.h"
#include "clang/AST/ASTStructuralEquivalence.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclAccessPair.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclFriend.h"
#include "clang/AST/DeclGroup.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/DeclVisitor.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/LambdaCapture.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/OperationKinds.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/StmtObjC.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/TemplateName.h"
#include "clang/AST/Type.h"
#include "clang/AST/TypeLoc.h"
#include "clang/AST/TypeVisitor.h"
#include "clang/AST/UnresolvedSet.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/ExceptionSpecificationType.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/Specifiers.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MemoryBuffer.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <memory>
#include <optional>
#include <type_traits>
#include <utility>
#include "clang/AST/TypeNodes.inc"
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/OpenCLExtensionTypes.def"
#include "clang/Basic/AArch64SVEACLETypes.def"
#include "clang/Basic/PPCTypes.def"
#include "clang/Basic/RISCVVTypes.def"
#include "clang/Basic/WebAssemblyReferenceTypes.def"
#include "clang/Basic/AMDGPUTypes.def"
#include "clang/Basic/HLSLIntangibleTypes.def"
#include "clang/AST/BuiltinTypes.def"
#include "clang/AST/CXXRecordDeclDefinitionBits.def"
Go to the source code of this file.
Classes | |
class | clang::ChildErrorHandlingStrategy |
How to handle import errors that occur when import of a child declaration of a DeclContext fails. More... | |
class | clang::ASTNodeImporter |
struct | FriendCountAndPosition |
Used as return type of getFriendCountAndPosition. More... | |
Namespaces | |
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
Macros | |
#define | TYPE(Class, Base) ExpectedType Visit##Class##Type(const Class##Type *T); |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) |
#define | SVE_TYPE(Name, Id, SingletonId) |
#define | PPC_VECTOR_TYPE(Name, Id, Size) |
#define | RVV_TYPE(Name, Id, SingletonId) |
#define | WASM_TYPE(Name, Id, SingletonId) |
#define | AMDGPU_TYPE(Name, Id, SingletonId, Width, Align) |
#define | HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) |
#define | SHARED_SINGLETON_TYPE(Expansion) |
#define | BUILTIN_TYPE(Id, SingletonId) case BuiltinType::Id: return Importer.getToContext().SingletonId; |
#define | FIELD(Name, Width, Merge) ToData.Name = FromData.Name; |
Typedefs | |
using | clang::ExpectedTypePtr = llvm::Expected< const Type * > |
using | clang::ExpectedType = llvm::Expected< QualType > |
using | clang::ExpectedStmt = llvm::Expected< Stmt * > |
using | clang::ExpectedExpr = llvm::Expected< Expr * > |
using | clang::ExpectedDecl = llvm::Expected< Decl * > |
using | clang::ExpectedSLoc = llvm::Expected< SourceLocation > |
using | clang::ExpectedName = llvm::Expected< DeclarationName > |
Functions | |
template<class T > | |
static SmallVector< Decl *, 2 > | clang::getCanonicalForwardRedeclChain (Redeclarable< T > *D) |
llvm::SmallVector< Decl *, 2 > | clang::getCanonicalForwardRedeclChain (Decl *D) |
static void | clang::updateFlags (const Decl *From, Decl *To) |
static Error | setTypedefNameForAnonDecl (TagDecl *From, TagDecl *To, ASTImporter &Importer) |
static StructuralEquivalenceKind | getStructuralEquivalenceKind (const ASTImporter &Importer) |
static bool | isAncestorDeclContextOf (const DeclContext *DC, const Decl *D) |
static bool | isAncestorDeclContextOf (const DeclContext *DC, const Stmt *S) |
static bool | IsEquivalentFriend (ASTImporter &Importer, FriendDecl *FD1, FriendDecl *FD2) |
static FriendCountAndPosition | getFriendCountAndPosition (ASTImporter &Importer, FriendDecl *FD) |
template<typename T > | |
static auto | getTemplateDefinition (T *D) -> T * |
#define AMDGPU_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
Width, | |||
Align | |||
) |
#define BUILTIN_TYPE | ( | Id, | |
SingletonId | |||
) | case BuiltinType::Id: return Importer.getToContext().SingletonId; |
#define EXT_OPAQUE_TYPE | ( | ExtType, | |
Id, | |||
Ext | |||
) |
#define FIELD | ( | Name, | |
Width, | |||
Merge | |||
) | ToData.Name = FromData.Name; |
#define HLSL_INTANGIBLE_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) |
#define PPC_VECTOR_TYPE | ( | Name, | |
Id, | |||
Size | |||
) |
#define RVV_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) |
#define SHARED_SINGLETON_TYPE | ( | Expansion | ) |
#define SVE_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) |
#define TYPE | ( | Class, | |
Base | |||
) | ExpectedType Visit##Class##Type(const Class##Type *T); |
Definition at line 408 of file ASTImporter.cpp.
#define WASM_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) |
|
static |
Definition at line 4356 of file ASTImporter.cpp.
References clang::Decl::getLexicalDeclContext(), and IsEquivalentFriend().
Referenced by clang::ASTNodeImporter::VisitFriendDecl().
|
static |
Definition at line 2480 of file ASTImporter.cpp.
References clang::Default, clang::ASTImporter::isMinimalImport(), and clang::Minimal.
Referenced by clang::ASTImporter::IsStructurallyEquivalent(), and clang::ASTNodeImporter::IsStructuralMatch().
|
static |
Definition at line 6052 of file ASTImporter.cpp.
References D, and clang::Decl::getDescribedTemplate().
Referenced by clang::ASTNodeImporter::VisitClassTemplateDecl(), clang::ASTNodeImporter::VisitFunctionTemplateDecl(), and clang::ASTNodeImporter::VisitVarTemplateDecl().
|
static |
Definition at line 3523 of file ASTImporter.cpp.
References D, clang::Decl::getDeclContext(), clang::DeclContext::getParent(), and clang::Decl::getTranslationUnitDecl().
Referenced by isAncestorDeclContextOf().
|
static |
Definition at line 3539 of file ASTImporter.cpp.
References clang::Stmt::child_begin(), clang::Stmt::child_end(), D, E, and isAncestorDeclContextOf().
|
static |
Definition at line 4339 of file ASTImporter.cpp.
References clang::Default, clang::Decl::getASTContext(), clang::FriendDecl::getFriendType(), clang::TypeSourceInfo::getType(), clang::StructuralEquivalenceContext::IsEquivalent(), and clang::ASTImporter::IsStructurallyEquivalent().
Referenced by getFriendCountAndPosition(), and clang::ASTNodeImporter::VisitFriendDecl().
|
static |
Definition at line 2254 of file ASTImporter.cpp.
References clang::TagDecl::getTypedefNameForAnonDecl(), clang::ASTImporter::Import(), and clang::TagDecl::setTypedefNameForAnonDecl().
Referenced by clang::ASTNodeImporter::ImportDefinition().