mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Hack around this instead by using the two-function form of subst(), and checking if the generic parameter is valid in the signature. This comes up because we're using the generic signature of the nominal type to get a SubstitutionMap, and then applying this map to the types in the generic requirements of a member. If the member introduces its own generic parameters, some of those requirements might not be valid types in the outer generic signature. This can probably use SubstitutionMap::combineSubstitutionMaps() instead, but it would require more refactoring than I'm willing to undertake for now.
//===----------------------------------------------------------------------===//
// SourceKit README
//===----------------------------------------------------------------------===//
Welcome to SourceKit! SourceKit is a framework for supporting IDE features like
indexing, syntax-coloring, code-completion, etc. In general it provides the
infrastructure that an IDE needs for excellent language support.
SourceKit currently only supports the Swift language.
//===----------------------------------------------------------------------===//
// Linking to the SourceKit C API
//===----------------------------------------------------------------------===//
The stable C API for SourceKit is provided via the sourcekitd.framework which
uses an XPC service for process isolation and the libsourcekitdInProc.dylib
library which is in-process.
libsourcekitdInProc.dylib is more convenient for debugging. To use it either:
-Link to this library instead of the framework ("-lsourcekitdInProc" instead
of "-framework sourcekitd")
-Run the binary that linked to the framework using these environment variables:
DYLD_INSERT_LIBRARIES=/path/to/libsourcekitdInProc.dylib DYLD_FORCE_FLAT_NAMESPACE=1 <...>
//===----------------------------------------------------------------------===//