Keypaths #8875

jckarter merged 39 commits into swiftlang:master from jckarter:keypaths
jckarter
jckarter stdlib: Skeleton implementation of proposed KeyPath API.
cdbdb7a6
jckarter KeyPaths: Equatable/Hashable implementation.
04a6d23f
jckarter KeyPaths: implement "appending"
895ce94a
jckarter KeyPaths: Dynamic appending between possibly-mismatched types.
5ed6bd83
jckarter Rename ObjCKeyPathExpr -> KeyPathExpr.
eb5d006e
jckarter Restructure KeyPathExpr to allow more kinds of components.
a5ca6ccd
jckarter Parsing for native keypaths.
e3046d6f
jckarter Sema: First pass at type-checking Swift key paths.
fc237819
jckarter SIL: Add a "keypath" instruction for summoning literal keypath objects.
638759ac
jckarter SILGen: Lower KeyPathExprs to KeyPathInsts.
18a6ca27
jckarter KeyPaths: Move layout constants to a shims header for sharing with co…
f45abc01
jckarter IRGen: Lower keypath instructions to patterns for the runtime to inst…
f929c29b
jckarter SIL: Inlining cost for KeyPathInst.
af34a326
jckarter KeyPaths: Implement in-place instantiation of invariant key paths.
d42f2049
jckarter KeyPaths: Dummy out an `AnyKeyPath._kvcKeyPathString` property for Ob…
631bb632
jckarter Merge branch 'master' into keypaths
85ad6b35
jckarter Sema: (wip) Overload resolution for keypath subscripts.
964dc0e1
jckarter SILGen: Codegen for key path applications.
39a08493
jckarter Sema: Infer the specific type of a key path literal from the mutabili…
7eebb271
jckarter SIL: Rework KeyPathInst to accommodate computed components.
d6ced9d9
jckarter SIL: Allow computed components in KeyPathInst.
9ade4876
jckarter SILGen: Lower computed property key path components.
ee66ff35
jckarter wip irgen generic/computed key paths
25eaa094
jckarter IRGen: Support for generic key path patterns.
aaddafa5
jckarter KeyPaths: Support out-of-place instantiation of generic key paths.
0bb83bb1
jckarter SILGen: Tweak key path computed property lowering to produce a consis…
4522cd09
jckarter IRGen/stdlib: Instantiate non-generic computed key path components.
a6cd471c
jckarter Mark execution tests for keypaths with PTRSIZE=64 requirement.
e9f70732
jckarter Merge branch 'master' into keypaths
595e0e4e
jckarter Put keypaths behind a flag.
cdb54cca
jckarter Followups from merging master
517c45aa
jckarter
swift-ci
swift-ci
jckarter Fix Linux build.
39f1a590
jckarter Work around a bug in the closure specializer with methods that return…
c742f884
jckarter
swift-ci
swift-ci
slavapestov
slavapestov commented on 2017-04-20
slavapestov
slavapestov commented on 2017-04-21
slavapestov
slavapestov commented on 2017-04-21
slavapestov
slavapestov commented on 2017-04-21
slavapestov
slavapestov commented on 2017-04-21
slavapestov
slavapestov commented on 2017-04-21
slavapestov
jckarter Work around an optimizer bug with inlining generic functions invoked …
fd8d4886
jckarter
jckarter
swift-ci
swift-ci
jckarter Update IRGen tests for changed @swift_once signature to take a contex…
0ab6d6a2
jckarter Fix IRGen test on Linux, where exported Swift symbols always get "pro…
8a1ab283
jckarter
swiftix
jckarter
swift-ci
jckarter Fix AST printer of generic signatures to consider depths of generic p…
f887044f
jckarter jckarter force pushed to f887044f 9 years ago
jckarter
swift-ci
jckarter Update ConditionalCompilation test.
9222960d
jckarter
swift-ci
swift-ci
jckarter
jckarter
jckarter
ddunbar
aciidgh
aciidgh
jckarter
jckarter
benlangmuir
jckarter
jckarter
benlangmuir
jckarter
jckarter jckarter force pushed to 9222960d 9 years ago
jckarter
jckarter
jckarter KeyPaths: Generate _kvcKeyPathString for ObjC-compatible keypaths.
d5cdf658
jckarter jckarter force pushed to d5cdf658 9 years ago
jckarter
jckarter
jckarter jckarter merged 3d178be1 into master 9 years ago

Login to write a write a comment.

Login via GitHub

Reviewers
Assignees
No one assigned
Labels
Milestone