Alex Lorenz
|
510b7675f4
|
[interop][CxxToSwiftToCxx] fix the tests for unsupported class template instantions; emit C++ type metadata accessors for type aliased templates
|
2022-12-08 21:28:29 -08:00 |
|
Roberto Rosmaninho
|
f652c8ef63
|
[Interop][SwiftToCxx] Passing swift::Error declaration from _SwiftCxxInteroperability.h to Swift::Error in _SwiftStdlibCxxOverlay.h
|
2022-11-18 22:16:00 -03:00 |
|
Alex Lorenz
|
8336edd344
|
[interop][SwiftToCxx] add support for constructing generic enum cases in C++
We only support cases with no payload, or one associated value still
|
2022-11-03 12:21:27 -07:00 |
|
Alex Lorenz
|
a66cc52109
|
[interop][SwiftToCxx] add static_assert type checking for generic functions in pre-C++20 mode
In the future we should also use enable_if to correctly resolve overloads
|
2022-11-01 17:21:01 -07:00 |
|
Alex Lorenz
|
4b52ae08fa
|
[interop][SwiftToCxx] check that generics can be built in C++17/C++14 mode
|
2022-11-01 16:40:42 -07:00 |
|
Alex Lorenz
|
8710c2685a
|
[interop][SwiftToCxx] Fix a bug with bridging class initializer in version Swift 5
|
2022-10-03 16:40:28 -07:00 |
|
Alex Lorenz
|
e3a51c74dd
|
[interop][SwiftToCxx] support interop with FRT in the generated C++ bindings
|
2022-09-27 10:37:46 -07:00 |
|
Alex Lorenz
|
5736daf1f1
|
[interop][SwiftToCxx] support initializers for classes
|
2022-09-26 17:04:40 -07:00 |
|
Alex Lorenz
|
6f9b683617
|
[interop][SwiftToCxx] add support for bridging static properties
|
2022-09-26 12:50:13 -07:00 |
|
Alex Lorenz
|
bded6c5bc2
|
[interop][SwiftToCxx] bridge ObjC class types to C++ too (without ObjC guards first)
|
2022-09-25 13:19:37 -07:00 |
|
Alex Lorenz
|
2132cc91d0
|
[interop][SwiftToCxx] do not use std::move to move the returned C++ value
move needs <utility>, which is not includable in the test SDK.
|
2022-09-19 12:25:42 -07:00 |
|
Alex Lorenz
|
143ce1e682
|
[interop][SwiftToCxx] bridge Swift's Optional type in an experimental manner
|
2022-09-15 12:35:33 -07:00 |
|
Alex Lorenz
|
b96bcb4691
|
[interop][SwiftToCxx] prohibit empty tuple param type
|
2022-09-15 11:22:22 -07:00 |
|
Alex Lorenz
|
7925701ed3
|
[interop][SwiftToCxx] support returning class values in enum's generic associated value getter
|
2022-09-14 12:37:27 -07:00 |
|
Alex Lorenz
|
773a0436cf
|
[interop][SwiftToCxx] extract generic associated value from enum
|
2022-09-14 12:21:18 -07:00 |
|
Alex Lorenz
|
07337cdaf6
|
[interop][SwiftToCxx] initial generic enum support
|
2022-09-14 11:37:50 -07:00 |
|
Alex Lorenz
|
88913c1d65
|
[interop][SwiftToCxx] expose generic type traits for C++ types in generated header before it's used first
|
2022-09-13 07:47:30 -07:00 |
|
Alex Lorenz
|
8c48d268d5
|
[interop][SwiftToCxx] expose subscript getter for Array's operator []
|
2022-09-12 21:13:44 -07:00 |
|
Alex Lorenz
|
d5c531fefc
|
[interop][SwiftToCxx] experimentally expose exposable Swift's Array members to C++
|
2022-09-12 20:42:16 -07:00 |
|
Alex Lorenz
|
0fea0c4eca
|
[interop][SwiftToCxx] handle Swift tuples are unsupported types for now
|
2022-09-12 17:24:20 -07:00 |
|
Alex Lorenz
|
0dcb8b58e5
|
[interop][SwiftToCxx] use C++ types bridged to Swift in Swift generic context from C++ ♾
|
2022-09-12 13:05:49 -07:00 |
|
Alex Lorenz
|
26e5742fe7
|
[interop][SwiftToCxx] emit generic type traits for C++ types bridged into Swift and then back to C++
|
2022-09-12 12:39:30 -07:00 |
|
Alex Lorenz
|
0db14574c1
|
[interop][SwiftToCxx] pass C++ value types into Swift correctly
|
2022-09-12 07:12:50 -07:00 |
|
Alex Lorenz
|
b4d7a0c208
|
[interop][SwiftToCxx] bridge returned C++ record types back to C++ from Swift
|
2022-09-11 18:42:41 -07:00 |
|
Alex Lorenz
|
661ae6bd1a
|
[interop][SwiftToCxx] cleanup the function signature stuff
|
2022-09-07 14:06:28 -07:00 |
|
Alex Lorenz
|
c351f3a550
|
[interop][SwiftToCxx] error result param should be handled by lowered function signature
|
2022-09-07 12:55:12 -07:00 |
|
Alex Lorenz
|
f4de75ae2c
|
[interop][SwiftToCxx] 'self' param should be handled by type param visitor
|
2022-09-07 12:45:38 -07:00 |
|
Alex Lorenz
|
0592894e33
|
[interop][SwiftToCxx] move generic additional type parameters into lowered function signature
|
2022-09-07 12:22:04 -07:00 |
|
Alex Lorenz
|
4520c52ac6
|
[interop][SwiftToCxx] handle indirect result values as part of parameter list
|
2022-09-07 11:59:25 -07:00 |
|
Alex Lorenz
|
1696f94223
|
[interop][SwiftToCxx] reimplement function lowering to correctly distinguish between direct/indirect return values and parameters
|
2022-09-07 11:43:38 -07:00 |
|
Alex Lorenz
|
e98d908ff5
|
Merge pull request #60858 from Robertorosmaninho/cxx-interop/SwiftToCxxErrorHandling
[SwiftToCxx] Including Cxx representation of Swift's Error
|
2022-09-07 08:55:27 -07:00 |
|
Roberto Rosmaninho
|
68bfbddf14
|
[SwiftToCxx] Creating new test case and fixing namespace
|
2022-09-05 10:38:28 -03:00 |
|
Alex Lorenz
|
d9f4c072cc
|
[interop][SwiftToCxx] correctly invoke property accessors in generic structs
|
2022-09-01 06:57:49 -07:00 |
|
Alex Lorenz
|
a5043c354d
|
[interop][SwiftToCxx] add support for invoking methods in generic structs
|
2022-08-31 20:19:19 -07:00 |
|
Alex Lorenz
|
ef5d11aab8
|
[interop][SwiftToCxx] NFC, Make swift::getTypeMetadata accessor part of struct template
This allows partial template specializations for adding metadata accessor for generic types 🤩
|
2022-08-31 17:16:45 -07:00 |
|
Alex Lorenz
|
4154b56745
|
[interop][SwiftToCxx] unify generic function printing with generic struct printing
This is a pre-requisite for supporting methods in generic structs.
|
2022-08-31 15:31:04 -07:00 |
|
Alex Lorenz
|
f89f64a5cb
|
[interop][SwiftToCxx] add support for passing generic structs with concrete type params
|
2022-08-31 14:02:17 -07:00 |
|
Alex Lorenz
|
031b779031
|
[interop][SwiftToCxx] add support for returning generic types bounded to concrete generic params
|
2022-08-31 14:02:17 -07:00 |
|
Alex Lorenz
|
c526ac8a0d
|
[interop][SwiftToCxx] add 'inout' support for passing generic struct
|
2022-08-31 14:02:17 -07:00 |
|
Alex Lorenz
|
942523f3df
|
[interop][SwiftToCxx] NFC, refactor full _impl type printer into a function
|
2022-08-31 14:02:17 -07:00 |
|
Alex Lorenz
|
7d6cdbc445
|
[interop][SwiftToCxx] pass generic type to a function by value (non specialized generic though)
|
2022-08-31 14:02:17 -07:00 |
|
Alex Lorenz
|
ebd8dea0fd
|
[interop][SwiftToCxx] return generic structs without concrete type specialization
|
2022-08-31 14:02:17 -07:00 |
|
Alex Lorenz
|
8214b85f6b
|
Merge pull request #60842 from WANGJIEKE/cxx-interop-enum-creation
[Interop][SwiftToCxx] Support enum creation from Cxx
|
2022-08-31 14:00:50 -07:00 |
|
Doug Gregor
|
28644db815
|
Merge pull request #60851 from DougGregor/print-cxx-sugared-types
[Print as C++] Don't crash on sugared types
|
2022-08-30 22:52:47 -07:00 |
|
Roberto Rosmaninho
|
9ebc0bd26e
|
[SwiftToCxx] Trowing Swift::Error instead of NaiveException
|
2022-08-30 16:25:17 -03:00 |
|
Doug Gregor
|
413fb37b70
|
[Print as C++] Don't crash on sugared types
|
2022-08-30 11:01:51 -07:00 |
|
Roberto Rosmaninho
|
ec10c5f5e6
|
[SwiftToCxx] Adding _Nullable to avoid warnings
|
2022-08-30 14:15:45 -03:00 |
|
Tongjie Wang
|
cbc23cbafc
|
[Interop][SwiftToCxx] Support enum creation from Cxx
|
2022-08-29 20:16:52 -07:00 |
|
Alex Lorenz
|
a89d4f3ced
|
[interop][SwiftToCxx] add support for generic methods
|
2022-08-29 14:11:33 -07:00 |
|
Alex Lorenz
|
c08428cd56
|
[interop][SwiftToCxx] do not support generics with requirements for now
|
2022-08-29 12:14:33 -07:00 |
|