Commit Graph

62 Commits

Author SHA1 Message Date
Alex Lorenz
a9f262e322 [interop][SwiftToCxx] add support for passing and returning class values to generic functions 2022-08-08 08:38:28 -07:00
Alex Lorenz
7c5b160bc6 [interop][SwiftToCxx] map class inheritance to C++ class hierarchy 2022-08-03 09:35:36 +01:00
Alex Lorenz
3e3e6eab33 [interop][SwiftToCxx] NFC, add missing checks for inout class passing C++ thunk 2022-08-03 07:17:44 +01:00
Alex Lorenz
478987b54e [interop][SwiftToCxx] expose getOpaquePointer class pointer accessors via swift helper class in shims header 2022-08-02 20:15:10 +01:00
Alex Lorenz
e03903cb51 [interop][SwiftToCxx] add a test to verify class reference can't be directly constructed from a void * 2022-08-02 18:59:58 +01:00
Alex Lorenz
0ca61069ea [interop][SwiftToCxx] Add a base ref counted Swift class type to _SwiftCxxInteroperability.h header 2022-08-02 18:54:14 +01:00
Alex Lorenz
c332a90a8a [interop][SwiftToCxx] retain & release class values when a C++ class reference is copy assigned 2022-08-02 17:52:49 +01:00
Alex Lorenz
e289865861 [interop][SwiftToCxx] retain class values when a C++ class reference is copy constructed 2022-08-02 17:34:21 +01:00
Alex Lorenz
e1d812a848 [interop][SwiftToCxx] pass class parameter types by 'inout' 2022-08-02 16:48:12 +01:00
Alex Lorenz
51c0a3ff05 [interop][SwiftToCxx] add support for passing class types to Swift functions 2022-08-02 15:22:16 +01:00
Alex Lorenz
a8ed297e8b [interop][SwiftToCxx] class bridging: use makeRetained to return a class value from Swift 2022-08-02 14:55:58 +01:00
Alex Lorenz
26d55a2b83 [interop][SwiftToCxx] start emitting bindings for Swift class types
This includes release on destruction, and correctly returning class values from Swift to C++.
2022-08-02 09:25:35 +01:00