#ifndef LLVM_CLANG_APINOTES_TYPES_H
#define LLVM_CLANG_APINOTES_TYPES_H
#include "clang/Basic/Specifiers.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include <climits>
#include <optional>
#include <vector>
namespace llvm {
class raw_ostream;
}
namespace clang {
namespace api_notes {
enum class RetainCountConventionKind { … };
enum class EnumExtensibilityKind { … };
enum class SwiftNewTypeKind { … };
class CommonEntityInfo { … };
inline bool operator==(const CommonEntityInfo &LHS,
const CommonEntityInfo &RHS) { … }
inline bool operator!=(const CommonEntityInfo &LHS,
const CommonEntityInfo &RHS) { … }
class CommonTypeInfo : public CommonEntityInfo { … };
inline bool operator==(const CommonTypeInfo &LHS, const CommonTypeInfo &RHS) { … }
inline bool operator!=(const CommonTypeInfo &LHS, const CommonTypeInfo &RHS) { … }
class ContextInfo : public CommonTypeInfo { … };
inline bool operator==(const ContextInfo &LHS, const ContextInfo &RHS) { … }
inline bool operator!=(const ContextInfo &LHS, const ContextInfo &RHS) { … }
class VariableInfo : public CommonEntityInfo { … };
inline bool operator==(const VariableInfo &LHS, const VariableInfo &RHS) { … }
inline bool operator!=(const VariableInfo &LHS, const VariableInfo &RHS) { … }
class ObjCPropertyInfo : public VariableInfo { … };
inline bool operator==(const ObjCPropertyInfo &LHS,
const ObjCPropertyInfo &RHS) { … }
inline bool operator!=(const ObjCPropertyInfo &LHS,
const ObjCPropertyInfo &RHS) { … }
class ParamInfo : public VariableInfo { … };
inline bool operator==(const ParamInfo &LHS, const ParamInfo &RHS) { … }
inline bool operator!=(const ParamInfo &LHS, const ParamInfo &RHS) { … }
class FunctionInfo : public CommonEntityInfo { … };
inline bool operator==(const FunctionInfo &LHS, const FunctionInfo &RHS) { … }
inline bool operator!=(const FunctionInfo &LHS, const FunctionInfo &RHS) { … }
class ObjCMethodInfo : public FunctionInfo { … };
inline bool operator==(const ObjCMethodInfo &LHS, const ObjCMethodInfo &RHS) { … }
inline bool operator!=(const ObjCMethodInfo &LHS, const ObjCMethodInfo &RHS) { … }
class GlobalVariableInfo : public VariableInfo { … };
class GlobalFunctionInfo : public FunctionInfo { … };
class FieldInfo : public VariableInfo { … };
class CXXMethodInfo : public FunctionInfo { … };
class EnumConstantInfo : public CommonEntityInfo { … };
class TagInfo : public CommonTypeInfo { … };
inline bool operator==(const TagInfo &LHS, const TagInfo &RHS) { … }
inline bool operator!=(const TagInfo &LHS, const TagInfo &RHS) { … }
class TypedefInfo : public CommonTypeInfo { … };
inline bool operator==(const TypedefInfo &LHS, const TypedefInfo &RHS) { … }
inline bool operator!=(const TypedefInfo &LHS, const TypedefInfo &RHS) { … }
static const constexpr char SOURCE_APINOTES_EXTENSION[] = …;
class ContextID { … };
enum class ContextKind : uint8_t { … };
struct Context { … };
struct ObjCSelectorRef { … };
}
}
#endif