Slava Pestov
|
7e3f17c0c8
|
Keypaths: Remove workaround for rdar://problem/31749245
|
2017-04-25 03:32:52 -07:00 |
|
Slava Pestov
|
8a0b4b0c5c
|
Keypaths: Remove workaround for rdar://problem/31725007
|
2017-04-23 01:49:02 -07:00 |
|
Joe Groff
|
d5cdf658da
|
KeyPaths: Generate _kvcKeyPathString for ObjC-compatible keypaths.
|
2017-04-21 16:56:17 -07:00 |
|
Joe Groff
|
fd8d488662
|
Work around an optimizer bug with inlining generic functions invoked with opened archetypes (rdar://problem/31749245)
|
2017-04-20 19:21:16 -07:00 |
|
Joe Groff
|
c742f88434
|
Work around a bug in the closure specializer with methods that return Self and take closure arguments (rdar://problem/31725007)
|
2017-04-20 08:53:55 -07:00 |
|
Joe Groff
|
a6cd471c2b
|
IRGen/stdlib: Instantiate non-generic computed key path components.
|
2017-04-18 21:51:12 -07:00 |
|
Joe Groff
|
0bb83bb185
|
KeyPaths: Support out-of-place instantiation of generic key paths.
|
2017-04-17 22:36:26 -07:00 |
|
Joe Groff
|
39a0849362
|
SILGen: Codegen for key path applications.
|
2017-04-09 16:38:34 -07:00 |
|
Joe Groff
|
631bb632d0
|
KeyPaths: Dummy out an AnyKeyPath._kvcKeyPathString property for ObjC interop in overlays.
|
2017-04-06 13:40:04 -07:00 |
|
Joe Groff
|
d42f2049f7
|
KeyPaths: Implement in-place instantiation of invariant key paths.
For key paths without generic or subscript parameterization, we can turn the compiler-generated key path pattern into a global object in-place.
|
2017-04-05 08:46:45 -07:00 |
|
Joe Groff
|
f929c29bdf
|
IRGen: Lower keypath instructions to patterns for the runtime to instantiate.
|
2017-04-04 11:31:15 -07:00 |
|
Joe Groff
|
f45abc0122
|
KeyPaths: Move layout constants to a shims header for sharing with compiler/runtime.
|
2017-04-04 11:31:15 -07:00 |
|
Joe Groff
|
5ed6bd831e
|
KeyPaths: Dynamic appending between possibly-mismatched types.
Make the `appending` operation between `AnyKeyPath` and `PartialKeyPath` values work. Add a test checking the combinations.
|
2017-04-04 11:31:15 -07:00 |
|
Joe Groff
|
895ce94ae5
|
KeyPaths: implement "appending"
|
2017-04-04 11:31:15 -07:00 |
|
Joe Groff
|
04a6d23f7e
|
KeyPaths: Equatable/Hashable implementation.
|
2017-04-04 11:31:15 -07:00 |
|
Joe Groff
|
cdbdb7a6e8
|
stdlib: Skeleton implementation of proposed KeyPath API.
Handles projection of stored struct and class properties. Most other functionality TODO.
|
2017-04-04 11:31:15 -07:00 |
|