Tongjie Wang
00598e8019
[interop][SwiftToCxx] add initial support for passing/returning enums
2022-06-20 00:45:07 -07:00
Alex Lorenz
d7fd1233a9
[interop][SwiftToCxx] emit instance property getters for structs
2022-06-14 17:20:37 -07:00
Alex Lorenz
9254c47b2c
[interop][SwiftToCxx] emit swift type metadata access function declaration for structs
2022-06-13 09:16:17 -07:00
Alex Lorenz
132729906c
[interop][SwiftToCxx] pass / return Swift struct values between C/C++ and Swift
2022-06-08 07:03:24 -07:00
Alex Lorenz
42c6ff63b8
[interop][SwiftToCxx] Gather initial struct layout information and emit struct stubs with storage in C++
...
This change extends the clang header printer to start emitting C++ classes for Swift struct types with the correct struct layout in them (size + alignment)
2022-06-01 14:06:25 -07:00
Alex Lorenz
a7053e458f
[interop][swiftToCxx] emit empty skeleton C++ classes for Swift struct decls
2022-05-25 12:26:25 -07:00
Alex Lorenz
9d56de1c0c
[interop] NFC, create ClangSyntaxPrinter class
2022-03-24 09:07:09 -07:00
Alex Lorenz
81a9cade88
[interop] generate C interfaces for Swift top-level functions that use primitive types
2022-03-22 16:13:42 -07:00
Alex Lorenz
86f9162606
[PrintAsClang] NFC, refactor primitive type mapping logic out from DeclAndTypePrinter
...
This will allow us to use type mappings in the C ABI function printer.
2022-03-21 11:26:58 -07:00
Alex Lorenz
80bc75ab9b
[cxx-interop] Emit C++ declarations only when '-clang-header-expose-public-decl' is enabled
...
This fix also ensures that we only emit C++ functions for now
2022-03-20 20:22:02 -07:00
Alex Lorenz
fcdcb2a9f1
[interop][SwiftToC++] print C++ interface for top-level Swift functions
2022-03-09 14:53:12 -08:00
Alex Lorenz
54b466f983
[interop] emit a parsable C++ header for a module that includes namespace declaration for the module interface
2022-01-21 07:14:56 -08:00
Alex Lorenz
e106551028
[NFC][interop] rename the PrintAsObjC library to PrintAsClang
...
We're starting to support emission of C++ header interfaces, so a language-agnostic name makes more sense
2022-01-20 11:31:58 -08:00