tsgo_client/
symbolflags.rs1use bitflags::bitflags;
2
3bitflags! {
6 #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
8 pub struct SymbolFlags: u32 {
9 const NONE = 0;
11 const FUNCTION_SCOPED_VARIABLE = 1 << 0;
13 const BLOCK_SCOPED_VARIABLE = 1 << 1;
15 const PROPERTY = 1 << 2;
17 const ENUM_MEMBER = 1 << 3;
19 const FUNCTION = 1 << 4;
21 const CLASS = 1 << 5;
23 const INTERFACE = 1 << 6;
25 const CONST_ENUM = 1 << 7;
27 const REGULAR_ENUM = 1 << 8;
29 const VALUE_MODULE = 1 << 9;
31 const NAMESPACE_MODULE = 1 << 10;
33 const TYPE_LITERAL = 1 << 11;
35 const OBJECT_LITERAL = 1 << 12;
37 const METHOD = 1 << 13;
39 const CONSTRUCTOR = 1 << 14;
41 const GET_ACCESSOR = 1 << 15;
43 const SET_ACCESSOR = 1 << 16;
45 const SIGNATURE = 1 << 17;
47 const TYPE_PARAMETER = 1 << 18;
49 const TYPE_ALIAS = 1 << 19;
51 const EXPORT_VALUE = 1 << 20;
53 const ALIAS = 1 << 21;
55 const PROTOTYPE = 1 << 22;
57 const EXPORT_STAR = 1 << 23;
59 const OPTIONAL = 1 << 24;
61 const TRANSIENT = 1 << 25;
63 const ASSIGNMENT = 1 << 26;
65 const MODULE_EXPORTS = 1 << 27;
67 const CONST_ENUM_ONLY_MODULE = 1 << 28;
69 const REPLACEABLE_BY_METHOD = 1 << 29;
71 const GLOBAL_LOOKUP = 1 << 30;
73
74 const ENUM = Self::REGULAR_ENUM.bits() | Self::CONST_ENUM.bits();
77 const VARIABLE = Self::FUNCTION_SCOPED_VARIABLE.bits() | Self::BLOCK_SCOPED_VARIABLE.bits();
79 const VALUE = Self::VARIABLE.bits() | Self::PROPERTY.bits() | Self::ENUM_MEMBER.bits()
81 | Self::OBJECT_LITERAL.bits() | Self::FUNCTION.bits() | Self::CLASS.bits()
82 | Self::ENUM.bits() | Self::VALUE_MODULE.bits() | Self::METHOD.bits()
83 | Self::GET_ACCESSOR.bits() | Self::SET_ACCESSOR.bits();
84 const TYPE = Self::CLASS.bits() | Self::INTERFACE.bits() | Self::ENUM.bits()
86 | Self::ENUM_MEMBER.bits() | Self::TYPE_LITERAL.bits() | Self::TYPE_PARAMETER.bits()
87 | Self::TYPE_ALIAS.bits();
88 const NAMESPACE = Self::VALUE_MODULE.bits() | Self::NAMESPACE_MODULE.bits() | Self::ENUM.bits();
90 const MODULE = Self::VALUE_MODULE.bits() | Self::NAMESPACE_MODULE.bits();
92 const ACCESSOR = Self::GET_ACCESSOR.bits() | Self::SET_ACCESSOR.bits();
94 const MODULE_MEMBER = Self::VARIABLE.bits() | Self::FUNCTION.bits() | Self::CLASS.bits()
96 | Self::INTERFACE.bits() | Self::ENUM.bits() | Self::MODULE.bits()
97 | Self::TYPE_ALIAS.bits() | Self::ALIAS.bits();
98 const EXPORT_HAS_LOCAL = Self::FUNCTION.bits() | Self::CLASS.bits() | Self::ENUM.bits()
100 | Self::VALUE_MODULE.bits();
101 const BLOCK_SCOPED = Self::BLOCK_SCOPED_VARIABLE.bits() | Self::CLASS.bits() | Self::ENUM.bits();
103 const PROPERTY_OR_ACCESSOR = Self::PROPERTY.bits() | Self::ACCESSOR.bits();
105 const CLASS_MEMBER = Self::METHOD.bits() | Self::ACCESSOR.bits() | Self::PROPERTY.bits();
107 const EXPORT_SUPPORTS_DEFAULT_MODIFIER = Self::CLASS.bits() | Self::FUNCTION.bits()
109 | Self::INTERFACE.bits();
110 const CLASSIFIABLE = Self::CLASS.bits() | Self::ENUM.bits() | Self::TYPE_ALIAS.bits()
112 | Self::INTERFACE.bits() | Self::TYPE_PARAMETER.bits() | Self::MODULE.bits()
113 | Self::ALIAS.bits();
114 const LATE_BINDING_CONTAINER = Self::CLASS.bits() | Self::INTERFACE.bits()
116 | Self::TYPE_LITERAL.bits() | Self::OBJECT_LITERAL.bits() | Self::FUNCTION.bits();
117 }
118}