2018-01-17 01:48:22 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "serializer.h"
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
// TODO Rename query.h:SymbolKind to another name
|
|
|
|
// clang/Index/IndexSymbol.h clang::index::SymbolKind
|
|
|
|
enum class ClangSymbolKind : uint8_t {
|
|
|
|
Unknown,
|
|
|
|
|
|
|
|
Module = 1,
|
|
|
|
Namespace,
|
|
|
|
NamespaceAlias,
|
|
|
|
Macro,
|
|
|
|
|
|
|
|
Enum = 5,
|
|
|
|
Struct,
|
|
|
|
Class,
|
|
|
|
Protocol,
|
|
|
|
Extension,
|
|
|
|
Union,
|
|
|
|
TypeAlias,
|
|
|
|
|
|
|
|
Function = 12,
|
|
|
|
Variable,
|
|
|
|
Field,
|
|
|
|
EnumConstant,
|
|
|
|
|
|
|
|
InstanceMethod = 16,
|
|
|
|
ClassMethod,
|
|
|
|
StaticMethod,
|
|
|
|
InstanceProperty,
|
|
|
|
ClassProperty,
|
|
|
|
StaticProperty,
|
|
|
|
|
|
|
|
Constructor = 22,
|
|
|
|
Destructor,
|
|
|
|
ConversionFunction,
|
|
|
|
|
|
|
|
Parameter = 25,
|
|
|
|
Using,
|
|
|
|
};
|
|
|
|
MAKE_REFLECT_TYPE_PROXY(ClangSymbolKind,
|
|
|
|
std::underlying_type<ClangSymbolKind>::type);
|
|
|
|
|
2018-01-26 17:28:29 +00:00
|
|
|
// clang/Basic/Specifiers.h clang::StorageClass
|
|
|
|
enum class ClangStorageClass : uint8_t {
|
|
|
|
// In |CX_StorageClass| but not in |clang::StorageClass|
|
|
|
|
SC_Invalid,
|
|
|
|
|
|
|
|
// These are legal on both functions and variables.
|
|
|
|
SC_None,
|
|
|
|
SC_Extern,
|
|
|
|
SC_Static,
|
|
|
|
SC_PrivateExtern,
|
|
|
|
|
|
|
|
// These are only legal on variables.
|
|
|
|
SC_Auto,
|
|
|
|
SC_Register
|
|
|
|
};
|
|
|
|
MAKE_REFLECT_TYPE_PROXY(ClangStorageClass,
|
|
|
|
std::underlying_type<ClangStorageClass>::type);
|