@@ -159,82 +159,36 @@ public struct SymbolRole: OptionSet {
159
159
}
160
160
}
161
161
162
- public enum IndexSymbolKindEnum : Int {
163
- case unknown = 0 ,
164
- module,
165
- namespace,
166
- namespaceAlias,
167
- macro,
168
- `enum`,
169
- `struct`,
170
- `class`,
171
- `protocol`,
172
- `extension`,
173
- union,
174
- `typealias`,
175
- function,
176
- variable,
177
- field,
178
- enumConstant,
179
- instanceMethod,
180
- classMethod,
181
- staticMethod,
182
- instanceProperty,
183
- classProperty,
184
- staticProperty,
185
- constructor,
186
- destructor,
187
- conversionFunction,
188
- parameter,
189
- using
190
-
191
- case commentTag = 1000
192
-
193
- public init ? ( cValue: indexstoredb_symbol_kind_t ) {
194
- self . init ( rawValue: Int ( cValue. rawValue) )
195
- }
196
- }
197
-
198
- public struct IndexSymbolKind : RawRepresentable {
199
- public var rawValue : Int
200
-
201
- public static let unknown : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_UNKNOWN)
202
- public static let module : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_MODULE)
203
- public static let namespace : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_NAMESPACE)
204
- public static let namespaceAlias : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_NAMESPACEALIAS)
205
- public static let macro : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_MACRO)
206
- public static let `enum` : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_ENUM)
207
- public static let `struct` : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_STRUCT)
208
- public static let `class` : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_CLASS)
209
- public static let `protocol` : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_PROTOCOL)
210
- public static let `extension` : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_EXTENSION)
211
- public static let union : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_UNION)
212
- public static let `typealias` : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_TYPEALIAS)
213
- public static let function : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_FUNCTION)
214
- public static let variable : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_VARIABLE)
215
- public static let field : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_FIELD)
216
- public static let enumConstant : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_ENUMCONSTANT)
217
- public static let instanceMethod : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_INSTANCEMETHOD)
218
- public static let classMethod : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_CLASSMETHOD)
219
- public static let staticMethod : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_STATICMETHOD)
220
- public static let instanceProperty : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_INSTANCEPROPERTY)
221
- public static let classProperty : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_CLASSPROPERTY)
222
- public static let staticProperty : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_STATICPROPERTY)
223
- public static let constructor : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_CONSTRUCTOR)
224
- public static let destructor : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_DESTRUCTOR)
225
- public static let conversionFunction : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_CONVERSIONFUNCTION)
226
- public static let parameter : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_PARAMETER)
227
- public static let using : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_USING)
228
-
229
- public static let commentTag : IndexSymbolKind = IndexSymbolKind ( rawValue: INDEXSTOREDB_SYMBOL_KIND_COMMENTTAG)
230
-
231
- public init ( rawValue: Int ) {
232
- self . rawValue = rawValue
233
- }
234
-
235
- public init ( rawValue: indexstoredb_symbol_kind_t ) {
236
- self . rawValue = Int ( rawValue. rawValue)
237
- }
162
+ public enum IndexSymbolKind {
163
+ case unknown
164
+ case module
165
+ case namespace
166
+ case namespaceAlias
167
+ case macro
168
+ case `enum`
169
+ case `struct`
170
+ case `class`
171
+ case `protocol`
172
+ case `extension`
173
+ case union
174
+ case `typealias`
175
+ case function
176
+ case variable
177
+ case field
178
+ case enumConstant
179
+ case instanceMethod
180
+ case classMethod
181
+ case staticMethod
182
+ case instanceProperty
183
+ case classProperty
184
+ case staticProperty
185
+ case constructor
186
+ case destructor
187
+ case conversionFunction
188
+ case parameter
189
+ case using
190
+
191
+ case commentTag
238
192
}
239
193
240
194
public final class Symbol {
@@ -243,7 +197,7 @@ public final class Symbol {
243
197
244
198
public lazy var usr : String = String ( cString: indexstoredb_symbol_usr ( value) )
245
199
public lazy var name : String = String ( cString: indexstoredb_symbol_name ( value) )
246
- public lazy var kind = IndexSymbolKind ( rawValue : indexstoredb_symbol_kind ( value) )
200
+ public lazy var kind : IndexSymbolKind = getSymbolKind ( from : indexstoredb_symbol_kind ( value) )
247
201
248
202
init ( _ value: indexstoredb_symbol_t ) {
249
203
self . value = value
@@ -252,6 +206,70 @@ public final class Symbol {
252
206
deinit {
253
207
indexstoredb_release ( value)
254
208
}
209
+
210
+ func getSymbolKind( from cSymbolKind: indexstoredb_symbol_kind_t ) -> IndexSymbolKind {
211
+ switch cSymbolKind {
212
+ case INDEXSTOREDB_SYMBOL_KIND_UNKNOWN:
213
+ return . unknown
214
+ case INDEXSTOREDB_SYMBOL_KIND_MODULE:
215
+ return . module
216
+ case INDEXSTOREDB_SYMBOL_KIND_NAMESPACE:
217
+ return . namespace
218
+ case INDEXSTOREDB_SYMBOL_KIND_NAMESPACEALIAS:
219
+ return . namespaceAlias
220
+ case INDEXSTOREDB_SYMBOL_KIND_MACRO:
221
+ return . macro
222
+ case INDEXSTOREDB_SYMBOL_KIND_ENUM:
223
+ return . enum
224
+ case INDEXSTOREDB_SYMBOL_KIND_STRUCT:
225
+ return . struct
226
+ case INDEXSTOREDB_SYMBOL_KIND_CLASS:
227
+ return . class
228
+ case INDEXSTOREDB_SYMBOL_KIND_PROTOCOL:
229
+ return . protocol
230
+ case INDEXSTOREDB_SYMBOL_KIND_EXTENSION:
231
+ return . extension
232
+ case INDEXSTOREDB_SYMBOL_KIND_UNION:
233
+ return . union
234
+ case INDEXSTOREDB_SYMBOL_KIND_TYPEALIAS:
235
+ return . typealias
236
+ case INDEXSTOREDB_SYMBOL_KIND_FUNCTION:
237
+ return . function
238
+ case INDEXSTOREDB_SYMBOL_KIND_VARIABLE:
239
+ return . variable
240
+ case INDEXSTOREDB_SYMBOL_KIND_FIELD:
241
+ return . field
242
+ case INDEXSTOREDB_SYMBOL_KIND_ENUMCONSTANT:
243
+ return . enumConstant
244
+ case INDEXSTOREDB_SYMBOL_KIND_INSTANCEMETHOD:
245
+ return . instanceMethod
246
+ case INDEXSTOREDB_SYMBOL_KIND_CLASSMETHOD:
247
+ return . classMethod
248
+ case INDEXSTOREDB_SYMBOL_KIND_STATICMETHOD:
249
+ return . staticMethod
250
+ case INDEXSTOREDB_SYMBOL_KIND_INSTANCEPROPERTY:
251
+ return . instanceProperty
252
+ case INDEXSTOREDB_SYMBOL_KIND_CLASSPROPERTY:
253
+ return . classProperty
254
+ case INDEXSTOREDB_SYMBOL_KIND_STATICPROPERTY:
255
+ return . staticProperty
256
+ case INDEXSTOREDB_SYMBOL_KIND_CONSTRUCTOR:
257
+ return . constructor
258
+ case INDEXSTOREDB_SYMBOL_KIND_DESTRUCTOR:
259
+ return . destructor
260
+ case INDEXSTOREDB_SYMBOL_KIND_CONVERSIONFUNCTION:
261
+ return . conversionFunction
262
+ case INDEXSTOREDB_SYMBOL_KIND_PARAMETER:
263
+ return . parameter
264
+ case INDEXSTOREDB_SYMBOL_KIND_USING:
265
+ return . using
266
+
267
+ case INDEXSTOREDB_SYMBOL_KIND_COMMENTTAG:
268
+ return . commentTag
269
+ default :
270
+ return . unknown
271
+ }
272
+ }
255
273
}
256
274
257
275
public struct SymbolLocation {
0 commit comments