Files
swift-mirror/tools/SourceKit/docs/SwiftSupport.txt
Argyrios Kyrtzidis 8ff6a98a99 [sourcekit] Merge SourceKit into the Swift repo.
The code goes into its own sub-tree under 'tools' but tests go under 'test',
so that running 'check-swift' will also run all the SourceKit tests.

SourceKit is disabled on non-darwin platforms.
2015-11-05 01:09:08 -08:00

58 lines
2.1 KiB
Plaintext

================================================
Entity Kinds
================================================
-- source.lang.swift.[decl/ref].function.free
-- source.lang.swift.[decl/ref].function.method.instance
-- source.lang.swift.[decl/ref].function.method.static
-- source.lang.swift.[decl/ref].function.constructor
-- source.lang.swift.[decl/ref].function.destructor
-- source.lang.swift.[decl/ref].function.operator
-- source.lang.swift.[decl/ref].function.subscript
-- source.lang.swift.[decl/ref].function.accessor.getter
-- source.lang.swift.[decl/ref].function.accessor.setter
-- source.lang.swift.[decl/ref].class
-- source.lang.swift.[decl/ref].struct
-- source.lang.swift.[decl/ref].enum
-- source.lang.swift.[decl/ref].enumelement
-- source.lang.swift.[decl/ref].protocol
-- source.lang.swift.[decl/ref].typealias
-- source.lang.swift.[decl/ref].var.global
-- source.lang.swift.[decl/ref].var.instance
-- source.lang.swift.[decl/ref].var.static
-- source.lang.swift.[decl/ref].var.local
-- source.lang.swift.decl.extension.struct
-- source.lang.swift.decl.extension.class
-- source.lang.swift.decl.extension.enum
source.lang.swift.decl.function.accessor.* kinds can only be reported as
child entities of a source.lang.swift.decl.var.* entity.
================================================
Indexing
================================================
--- Imports ---
The indexing request will report the imported modules under <key.dependencies>,
like this:
{
<key.kind>: (UID) // Module kind
<key.name>: (string) // module name
<key.filepath>: (string) // path to the module file
[opt] <key.hash>: (string) // Hash associated with this module import
}
The imported module kinds are:
-- source.lang.swift.import.module.clang
-- source.lang.swift.import.module.swift
-- source.lang.swift.import.sourcefile
The hash entry is only returned for an import of a swift module/file, not for
imports of clang modules.
If the same hash is returned for the module file, it means that the indexed
symbols will be the same, even if the module file was modified; this can be used
to avoid re-indexing of the module file.