mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[interop][SwiftToCxx] add initial support for passing/returning enums
This commit is contained in:
@@ -240,6 +240,11 @@ public:
|
||||
}
|
||||
|
||||
void forwardDeclare(const EnumDecl *ED) {
|
||||
// FIXME: (tongjie) do we need this?
|
||||
if (outputLangMode == swift::OutputLanguageMode::Cxx) {
|
||||
return;
|
||||
}
|
||||
|
||||
assert(ED->isObjC() || ED->hasClangNode());
|
||||
|
||||
forwardDeclare(ED, [&]{
|
||||
@@ -595,7 +600,9 @@ public:
|
||||
const Decl *D = declsToWrite.back();
|
||||
bool success = true;
|
||||
|
||||
if (outputLangMode == OutputLanguageMode::Cxx) {
|
||||
if (auto ED = dyn_cast<EnumDecl>(D)) {
|
||||
success = writeEnum(ED);
|
||||
} else if (outputLangMode == OutputLanguageMode::Cxx) {
|
||||
if (auto FD = dyn_cast<FuncDecl>(D))
|
||||
success = writeFunc(FD);
|
||||
if (auto SD = dyn_cast<StructDecl>(D))
|
||||
@@ -606,8 +613,6 @@ public:
|
||||
success = writeClass(CD);
|
||||
else if (auto PD = dyn_cast<ProtocolDecl>(D))
|
||||
success = writeProtocol(PD);
|
||||
else if (auto ED = dyn_cast<EnumDecl>(D))
|
||||
success = writeEnum(ED);
|
||||
else if (auto ED = dyn_cast<FuncDecl>(D))
|
||||
success = writeFunc(ED);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user