clang 22.0.0git
API.h File Reference

This file defines the APIRecord-based structs and the APISet class. More...

#include "clang/AST/Availability.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/RawCommentList.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/ExtractAPI/DeclarationFragments.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/TargetParser/Triple.h"
#include <cstddef>
#include <iterator>
#include <memory>
#include <optional>
#include <type_traits>

Go to the source code of this file.

Classes

class  clang::extractapi::Template
struct  clang::extractapi::SymbolReference
 sources. More...
struct  clang::extractapi::APIRecord
 The base representation of an API record. Holds common symbol information. More...
class  clang::extractapi::RecordContext
 Base class used for specific record types that have children records this is analogous to the DeclContext for the AST. More...
struct  clang::extractapi::RecordContext::record_iterator
struct  clang::extractapi::NamespaceRecord
struct  clang::extractapi::GlobalFunctionRecord
 This holds information associated with global functions. More...
struct  clang::extractapi::GlobalFunctionTemplateRecord
struct  clang::extractapi::GlobalFunctionTemplateSpecializationRecord
struct  clang::extractapi::GlobalVariableRecord
 This holds information associated with global functions. More...
struct  clang::extractapi::GlobalVariableTemplateRecord
struct  clang::extractapi::GlobalVariableTemplateSpecializationRecord
struct  clang::extractapi::GlobalVariableTemplatePartialSpecializationRecord
struct  clang::extractapi::EnumConstantRecord
 This holds information associated with enum constants. More...
struct  clang::extractapi::TagRecord
struct  clang::extractapi::EnumRecord
 This holds information associated with enums. More...
struct  clang::extractapi::RecordFieldRecord
 This holds information associated with struct or union fields fields. More...
struct  clang::extractapi::RecordRecord
 This holds information associated with structs and unions. More...
struct  clang::extractapi::StructFieldRecord
struct  clang::extractapi::StructRecord
struct  clang::extractapi::UnionFieldRecord
struct  clang::extractapi::UnionRecord
struct  clang::extractapi::CXXFieldRecord
struct  clang::extractapi::CXXFieldTemplateRecord
struct  clang::extractapi::CXXMethodRecord
struct  clang::extractapi::CXXConstructorRecord
struct  clang::extractapi::CXXDestructorRecord
struct  clang::extractapi::CXXStaticMethodRecord
struct  clang::extractapi::CXXInstanceMethodRecord
struct  clang::extractapi::CXXMethodTemplateRecord
struct  clang::extractapi::CXXMethodTemplateSpecializationRecord
struct  clang::extractapi::ObjCPropertyRecord
 This holds information associated with Objective-C properties. More...
struct  clang::extractapi::ObjCInstancePropertyRecord
struct  clang::extractapi::ObjCClassPropertyRecord
struct  clang::extractapi::ObjCInstanceVariableRecord
 This holds information associated with Objective-C instance variables. More...
struct  clang::extractapi::ObjCMethodRecord
 This holds information associated with Objective-C methods. More...
struct  clang::extractapi::ObjCInstanceMethodRecord
struct  clang::extractapi::ObjCClassMethodRecord
struct  clang::extractapi::StaticFieldRecord
struct  clang::extractapi::ObjCContainerRecord
 The base representation of an Objective-C container record. More...
struct  clang::extractapi::CXXClassRecord
struct  clang::extractapi::ClassTemplateRecord
struct  clang::extractapi::ClassTemplateSpecializationRecord
struct  clang::extractapi::ClassTemplatePartialSpecializationRecord
struct  clang::extractapi::ConceptRecord
struct  clang::extractapi::ObjCCategoryRecord
 This holds information associated with Objective-C categories. More...
struct  clang::extractapi::ObjCInterfaceRecord
 This holds information associated with Objective-C interfaces/classes. More...
struct  clang::extractapi::ObjCProtocolRecord
 This holds information associated with Objective-C protocols. More...
struct  clang::extractapi::MacroDefinitionRecord
 This holds information associated with macro definitions. More...
struct  clang::extractapi::TypedefRecord
 This holds information associated with typedefs. More...
class  clang::extractapi::APISet
 APISet holds the set of API records collected from given inputs. More...
struct  clang::extractapi::ToRecordContextCastInfoWrapper< FromTy, IsKnownSubType >
struct  clang::extractapi::ToRecordContextCastInfoWrapper< FromTy, true >
struct  clang::extractapi::FromRecordContextCastInfoWrapper< ToTy, IsKnownSubType >
struct  clang::extractapi::FromRecordContextCastInfoWrapper< ToTy, true >
struct  llvm::CastInfo<::clang::extractapi::RecordContext, FromTy * >
struct  llvm::CastInfo<::clang::extractapi::RecordContext, const FromTy * >
struct  llvm::CastInfo< ToTy, ::clang::extractapi::RecordContext * >
struct  llvm::CastInfo< ToTy, const ::clang::extractapi::RecordContext * >

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::extractapi
namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.

Typedefs

using clang::extractapi::DocComment = std::vector<RawComment::CommentLine>
 DocComment is a vector of RawComment::CommentLine.

Detailed Description

This file defines the APIRecord-based structs and the APISet class.

Clang ExtractAPI is a tool to collect API information from a given set of header files. The structures in this file describe data representations of the API information collected for various kinds of symbols.

Definition in file API.h.