18#ifndef LLVM_CLANG_EXTRACTAPI_API_H
19#define LLVM_CLANG_EXTRACTAPI_API_H
27#include "llvm/ADT/MapVector.h"
28#include "llvm/ADT/StringRef.h"
29#include "llvm/Support/Allocator.h"
30#include "llvm/Support/Casting.h"
31#include "llvm/TargetParser/Triple.h"
171 virtual void anchor();
190 virtual void anchor();
208 virtual void anchor();
224 return Record->getKind() ==
RK_Enum;
228 virtual void anchor();
246 virtual void anchor();
266 virtual void anchor();
321 virtual void anchor();
343 virtual void anchor();
367 virtual void anchor();
404 virtual void anchor();
423 virtual void anchor();
488 virtual void anchor();
513 virtual void anchor();
532 virtual void anchor();
550 virtual void anchor();
576 virtual void anchor();
583template <
typename RecordTy>
591 :
public std::true_type {};
669 bool IsFromSystemHeader);
682 bool IsFromSystemHeader);
695 bool IsFromSystemHeader);
708 bool IsInstanceMethod,
bool IsFromSystemHeader);
722 StringRef GetterName, StringRef SetterName,
bool IsOptional,
723 bool IsInstanceProperty,
bool IsFromSystemHeader);
736 bool IsFromSystemHeader);
761 bool IsFromSystemHeader);
776 template <
typename RecordTy,
778 std::enable_if_t<std::is_base_of<APIRecord, RecordTy>::value>>
779 using RecordMap = llvm::MapVector<StringRef, std::unique_ptr<RecordTy>>;
782 const llvm::Triple &
getTarget()
const {
return Target; }
788 return GlobalFunctions;
791 return GlobalVariables;
796 return ObjCCategories;
799 return ObjCInterfaces;
802 return ObjCProtocols;
840 llvm::BumpPtrAllocator StringAllocator;
842 const llvm::Triple Target;
845 llvm::DenseMap<StringRef, APIRecord *> USRBasedLookupTable;
846 RecordMap<GlobalFunctionRecord> GlobalFunctions;
847 RecordMap<GlobalVariableRecord> GlobalVariables;
848 RecordMap<EnumRecord> Enums;
849 RecordMap<StructRecord> Structs;
850 RecordMap<ObjCCategoryRecord> ObjCCategories;
851 RecordMap<ObjCInterfaceRecord> ObjCInterfaces;
852 RecordMap<ObjCProtocolRecord> ObjCProtocols;
853 RecordMap<MacroDefinitionRecord> Macros;
854 RecordMap<TypedefRecord> Typedefs;
This file defines the AvailabilityInfo struct that collects availability attributes of a symbol.
This file defines the Declaration Fragments related classes.
Defines the clang::SourceLocation class and associated facilities.
Decl - This represents one declaration (or definition), e.g.
Represents an unpacked "presumed" location which can be presented to the user.
Encodes a location in the source.
This class handles loading and caching of source files into memory.
Linkage
Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have.
Language
The language for the input, used to select and validate the language standard and possible actions.