Files
swift-mirror/stdlib/public/SwiftShims/module.modulemap
Parker Schuh 4e39e59a8a Add a field reflection function that constructs keypaths. (#34815)
While the existing _forEachField in ReflectionMirror.swift
already gives the offsets and types for each field, this isn't
enough information to construct a keypath for that field in
order to modify it.

For reference, this should be sufficent to implement the features
described here: (https://forums.swift.org/t/storedpropertyiterable/19218/62)
purely at runtime without any derived conformances for many types.

Note: Since there isn't enough reflection information for
`.mutatingGetSet` fields, this means that we're not able to support
reflecting certain types of fields (functions, nonfinal class fields,
etc). Whether this is an error or not is controlled by the `.ignoreUnknown`
option.
2020-11-30 09:17:23 -08:00

92 lines
2.0 KiB
Plaintext

module SwiftShims {
header "AssertionReporting.h"
header "CoreFoundationShims.h"
header "FoundationShims.h"
header "GlobalObjects.h"
header "HeapObject.h"
header "KeyPath.h"
header "LibcShims.h"
header "MetadataSections.h"
header "Random.h"
header "RefCount.h"
header "Reflection.h"
header "RuntimeShims.h"
header "RuntimeStubs.h"
header "SwiftStdbool.h"
header "SwiftStddef.h"
header "SwiftStdint.h"
header "System.h"
header "ThreadLocalStorage.h"
header "UnicodeShims.h"
header "Visibility.h"
export *
}
module SwiftOverlayShims {
header "LibcOverlayShims.h"
export *
}
// Various headers used to build overlays on Apple platforms.
// Note: These deliberately do not use "export *" to avoid circularity issues
// (overlay -> shims -> framework -> overlay)
// FIXME: These are only needed when building each overlay; they declare no
// types and therefore would not strictly need to be present in an installed
// Swift.
// FIXME: These are not used at all on non-Apple platforms.
module _SwiftDispatchOverlayShims {
header "DispatchOverlayShims.h"
}
module _SwiftObjectiveCOverlayShims {
header "ObjectiveCOverlayShims.h"
}
module _SwiftOSOverlayShims {
header "OSOverlayShims.h"
}
module _SwiftSafariServicesOverlayShims {
header "SafariServicesOverlayShims.h"
}
module _SwiftAppKitOverlayShims {
header "AppKitOverlayShims.h"
}
module _SwiftUIKitOverlayShims {
header "UIKitOverlayShims.h"
}
module _SwiftXCTestOverlayShims {
header "XCTestOverlayShims.h"
}
module _SwiftXPCOverlayShims {
header "XPCOverlayShims.h"
}
module _SwiftCoreFoundationOverlayShims {
header "CoreFoundationOverlayShims.h"
}
module _SwiftFoundationOverlayShims {
header "FoundationOverlayShims.h"
}
module _SwiftNetworkOverlayShims {
header "NetworkOverlayShims.h"
}
module _SwiftClockKitOverlayShims {
header "ClockKitOverlayShims.h"
}
module _SwiftCoreMediaOverlayShims {
header "CoreMediaOverlayShims.h"
}
module _SwiftConcurrencyShims {
header "_SwiftConcurrency.h"
}