Commit 3a24d6fc authored by Andrew Twyman's avatar Andrew Twyman Committed by GitHub

Merge pull request #259 from dropbox/AT/WIP/EnumFix

Fix enum compile issue in C++11
parents f4ce7601 22fb0167
......@@ -5,9 +5,9 @@
#import "TXSSortItems.h"
#import "DJICppWrapperCache+Private.h"
#import "DJIError.h"
#import "DJIMarshal+Private.h"
#import "TXSItemList+Private.h"
#import "TXSSortItems+Private.h"
#import "TXSSortOrder+Private.h"
#import "TXSTextboxListener+Private.h"
#include <exception>
#include <utility>
......
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from example.djinni
#include "sort_order.hpp"
#import "DJIMarshal+Private.h"
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
</project>
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>
\ No newline at end of file
......@@ -13,6 +13,12 @@
<option name="sbtVersion" value="0.13.5" />
<option name="useAutoImport" value="true" />
<option name="useOurOwnAutoImport" value="true" />
<option name="myModules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/project" />
</set>
</option>
</SbtProjectSettings>
</option>
</component>
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="" />
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
\ No newline at end of file
......@@ -49,7 +49,11 @@ class ObjcppGenerator(spec: Spec) extends BaseObjcGenerator(spec) {
private def arcAssert(w: IndentWriter) = w.wl("static_assert(__has_feature(objc_arc), " + q("Djinni requires ARC to be enabled for this file") + ");")
override def generateEnum(origin: String, ident: Ident, doc: Doc, e: Enum) {
// No generation required
var imports = mutable.TreeSet[String]()
imports.add("#import " + q(spec.objcBaseLibIncludePrefix + "DJIMarshal+Private.h"))
imports.add("!#include " + q(spec.objcppIncludeCppPrefix + spec.cppFileIdentStyle(ident) + "." + spec.cppHeaderExt))
writeObjcFile(objcppMarshal.privateHeaderName(ident.name), origin, imports, w => {} )
}
def headerName(ident: String): String = idObjc.ty(ident) + "." + spec.objcHeaderExt
......
......@@ -34,9 +34,7 @@ class ObjcppMarshal(spec: Spec) extends Marshal(spec) {
case o: MOpaque =>
List(ImportRef(q(spec.objcBaseLibIncludePrefix + "DJIMarshal+Private.h")))
case d: MDef => d.defType match {
case DEnum =>
List(ImportRef(q(spec.objcBaseLibIncludePrefix + "DJIMarshal+Private.h")))
case DInterface =>
case DEnum | DInterface =>
List(ImportRef(include(m)))
case DRecord =>
val r = d.body.asInstanceOf[Record]
......@@ -48,10 +46,7 @@ class ObjcppMarshal(spec: Spec) extends Marshal(spec) {
}
def include(m: Meta) = m match {
case d: MDef => d.defType match {
case DEnum => q(spec.objcBaseLibIncludePrefix + "DJIMarshal+Private.h")
case _ => q(spec.objcppIncludePrefix + privateHeaderName(d.name))
}
case d: MDef => q(spec.objcppIncludePrefix + privateHeaderName(d.name))
case _ => throw new AssertionError("not applicable")
}
......
......@@ -11,6 +11,18 @@ color = enum {
violet;
}
opt_color_record = record {
my_color: optional<color>;
enum_usage_record = record {
e: color;
o: optional<color>;
l: list<color>;
s: set<color>;
m: map<color, color>;
}
enum_usage_interface = interface +c +j +o {
e(e: color): color;
o(o: optional<color>): optional<color>;
l(l: list<color>): list<color>;
s(s: set<color>): set<color>;
m(m: map<color, color>): map<color, color>;
}
......@@ -3,8 +3,8 @@
#pragma once
#include "../../handwritten-src/cpp/optional.hpp"
#include <cstdint>
#include <experimental/optional>
#include <utility>
namespace testsuite {
......
......@@ -3,8 +3,8 @@
#pragma once
#include "../../handwritten-src/cpp/optional.hpp"
#include <cstdint>
#include <experimental/optional>
#include <memory>
#include <string>
#include <vector>
......
......@@ -3,8 +3,8 @@
#pragma once
#include "../../handwritten-src/cpp/optional.hpp"
#include <cstdint>
#include <experimental/optional>
#include <string>
#include <utility>
......
......@@ -3,9 +3,9 @@
#pragma once
#include "../../handwritten-src/cpp/optional.hpp"
#include "constant_record.hpp"
#include <cstdint>
#include <experimental/optional>
#include <string>
#include <utility>
......
......@@ -3,8 +3,8 @@
#pragma once
#include "../../handwritten-src/cpp/optional.hpp"
#include <cstdint>
#include <experimental/optional>
#include <string>
namespace testsuite {
......
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#pragma once
#include "../../handwritten-src/cpp/optional.hpp"
#include <unordered_map>
#include <unordered_set>
#include <vector>
namespace testsuite {
enum class color;
class EnumUsageInterface {
public:
virtual ~EnumUsageInterface() {}
virtual color e(color e) = 0;
virtual std::experimental::optional<color> o(std::experimental::optional<color> o) = 0;
virtual std::vector<color> l(const std::vector<color> & l) = 0;
virtual std::unordered_set<color> s(const std::unordered_set<color> & s) = 0;
virtual std::unordered_map<color, color> m(const std::unordered_map<color, color> & m) = 0;
};
} // namespace testsuite
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#pragma once
#include "../../handwritten-src/cpp/optional.hpp"
#include "color.hpp"
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
namespace testsuite {
struct EnumUsageRecord final {
color e;
std::experimental::optional<color> o;
std::vector<color> l;
std::unordered_set<color> s;
std::unordered_map<color, color> m;
EnumUsageRecord(color e_,
std::experimental::optional<color> o_,
std::vector<color> l_,
std::unordered_set<color> s_,
std::unordered_map<color, color> m_)
: e(std::move(e_))
, o(std::move(o_))
, l(std::move(l_))
, s(std::move(s_))
, m(std::move(m_))
{}
};
} // namespace testsuite
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#pragma once
#include "color.hpp"
#include <experimental/optional>
#include <utility>
namespace testsuite {
struct OptColorRecord final {
std::experimental::optional<color> my_color;
OptColorRecord(std::experimental::optional<color> my_color_)
: my_color(std::move(my_color_))
{}
};
} // namespace testsuite
......@@ -3,7 +3,7 @@
#pragma once
#include <experimental/optional>
#include "../../handwritten-src/cpp/optional.hpp"
#include <memory>
#include <string>
......
......@@ -3,9 +3,9 @@
#pragma once
#include "../../handwritten-src/cpp/optional.hpp"
#include <chrono>
#include <cstdint>
#include <experimental/optional>
#include <string>
namespace testsuite {
......
......@@ -3,8 +3,8 @@
#pragma once
#include "../../handwritten-src/cpp/optional.hpp"
#include <cstdint>
#include <experimental/optional>
#include <memory>
#include <string>
#include <unordered_map>
......
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
package com.dropbox.djinni.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
public abstract class EnumUsageInterface {
@Nonnull
public abstract Color e(@Nonnull Color e);
@CheckForNull
public abstract Color o(@CheckForNull Color o);
@Nonnull
public abstract ArrayList<Color> l(@Nonnull ArrayList<Color> l);
@Nonnull
public abstract HashSet<Color> s(@Nonnull HashSet<Color> s);
@Nonnull
public abstract HashMap<Color, Color> m(@Nonnull HashMap<Color, Color> m);
private static final class CppProxy extends EnumUsageInterface
{
private final long nativeRef;
private final AtomicBoolean destroyed = new AtomicBoolean(false);
private CppProxy(long nativeRef)
{
if (nativeRef == 0) throw new RuntimeException("nativeRef is zero");
this.nativeRef = nativeRef;
}
private native void nativeDestroy(long nativeRef);
public void destroy()
{
boolean destroyed = this.destroyed.getAndSet(true);
if (!destroyed) nativeDestroy(this.nativeRef);
}
protected void finalize() throws java.lang.Throwable
{
destroy();
super.finalize();
}
@Override
public Color e(Color e)
{
assert !this.destroyed.get() : "trying to use a destroyed object";
return native_e(this.nativeRef, e);
}
private native Color native_e(long _nativeRef, Color e);
@Override
public Color o(Color o)
{
assert !this.destroyed.get() : "trying to use a destroyed object";
return native_o(this.nativeRef, o);
}
private native Color native_o(long _nativeRef, Color o);
@Override
public ArrayList<Color> l(ArrayList<Color> l)
{
assert !this.destroyed.get() : "trying to use a destroyed object";
return native_l(this.nativeRef, l);
}
private native ArrayList<Color> native_l(long _nativeRef, ArrayList<Color> l);
@Override
public HashSet<Color> s(HashSet<Color> s)
{
assert !this.destroyed.get() : "trying to use a destroyed object";
return native_s(this.nativeRef, s);
}
private native HashSet<Color> native_s(long _nativeRef, HashSet<Color> s);
@Override
public HashMap<Color, Color> m(HashMap<Color, Color> m)
{
assert !this.destroyed.get() : "trying to use a destroyed object";
return native_m(this.nativeRef, m);
}
private native HashMap<Color, Color> native_m(long _nativeRef, HashMap<Color, Color> m);
}
}
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
package com.dropbox.djinni.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
public class EnumUsageRecord {
/*package*/ final Color mE;
/*package*/ final Color mO;
/*package*/ final ArrayList<Color> mL;
/*package*/ final HashSet<Color> mS;
/*package*/ final HashMap<Color, Color> mM;
public EnumUsageRecord(
@Nonnull Color e,
@CheckForNull Color o,
@Nonnull ArrayList<Color> l,
@Nonnull HashSet<Color> s,
@Nonnull HashMap<Color, Color> m) {
this.mE = e;
this.mO = o;
this.mL = l;
this.mS = s;
this.mM = m;
}
@Nonnull
public Color getE() {
return mE;
}
@CheckForNull
public Color getO() {
return mO;
}
@Nonnull
public ArrayList<Color> getL() {
return mL;
}
@Nonnull
public HashSet<Color> getS() {
return mS;
}
@Nonnull
public HashMap<Color, Color> getM() {
return mM;
}
@Override
public String toString() {
return "EnumUsageRecord{" +
"mE=" + mE +
"," + "mO=" + mO +
"," + "mL=" + mL +
"," + "mS=" + mS +
"," + "mM=" + mM +
"}";
}
}
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
package com.dropbox.djinni.test;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
public class OptColorRecord {
/*package*/ final Color mMyColor;
public OptColorRecord(
@CheckForNull Color myColor) {
this.mMyColor = myColor;
}
@CheckForNull
public Color getMyColor() {
return mMyColor;
}
@Override
public String toString() {
return "OptColorRecord{" +
"mMyColor=" + mMyColor +
"}";
}
}
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#include "NativeEnumUsageInterface.hpp" // my header
#include "Marshal.hpp"
#include "NativeColor.hpp"
namespace djinni_generated {
NativeEnumUsageInterface::NativeEnumUsageInterface() : ::djinni::JniInterface<::testsuite::EnumUsageInterface, NativeEnumUsageInterface>("com/dropbox/djinni/test/EnumUsageInterface$CppProxy") {}
NativeEnumUsageInterface::~NativeEnumUsageInterface() = default;
NativeEnumUsageInterface::JavaProxy::JavaProxy(JniType j) : Handle(::djinni::jniGetThreadEnv(), j) { }
NativeEnumUsageInterface::JavaProxy::~JavaProxy() = default;
::testsuite::color NativeEnumUsageInterface::JavaProxy::e(::testsuite::color c_e) {
auto jniEnv = ::djinni::jniGetThreadEnv();
::djinni::JniLocalScope jscope(jniEnv, 10);
const auto& data = ::djinni::JniClass<::djinni_generated::NativeEnumUsageInterface>::get();
auto jret = jniEnv->CallObjectMethod(Handle::get().get(), data.method_e,
::djinni::get(::djinni_generated::NativeColor::fromCpp(jniEnv, c_e)));
::djinni::jniExceptionCheck(jniEnv);
return ::djinni_generated::NativeColor::toCpp(jniEnv, jret);
}
std::experimental::optional<::testsuite::color> NativeEnumUsageInterface::JavaProxy::o(std::experimental::optional<::testsuite::color> c_o) {
auto jniEnv = ::djinni::jniGetThreadEnv();
::djinni::JniLocalScope jscope(jniEnv, 10);
const auto& data = ::djinni::JniClass<::djinni_generated::NativeEnumUsageInterface>::get();
auto jret = jniEnv->CallObjectMethod(Handle::get().get(), data.method_o,
::djinni::get(::djinni::Optional<std::experimental::optional, ::djinni_generated::NativeColor>::fromCpp(jniEnv, c_o)));
::djinni::jniExceptionCheck(jniEnv);
return ::djinni::Optional<std::experimental::optional, ::djinni_generated::NativeColor>::toCpp(jniEnv, jret);
}
std::vector<::testsuite::color> NativeEnumUsageInterface::JavaProxy::l(const std::vector<::testsuite::color> & c_l) {
auto jniEnv = ::djinni::jniGetThreadEnv();
::djinni::JniLocalScope jscope(jniEnv, 10);
const auto& data = ::djinni::JniClass<::djinni_generated::NativeEnumUsageInterface>::get();
auto jret = jniEnv->CallObjectMethod(Handle::get().get(), data.method_l,
::djinni::get(::djinni::List<::djinni_generated::NativeColor>::fromCpp(jniEnv, c_l)));
::djinni::jniExceptionCheck(jniEnv);
return ::djinni::List<::djinni_generated::NativeColor>::toCpp(jniEnv, jret);
}
std::unordered_set<::testsuite::color> NativeEnumUsageInterface::JavaProxy::s(const std::unordered_set<::testsuite::color> & c_s) {
auto jniEnv = ::djinni::jniGetThreadEnv();
::djinni::JniLocalScope jscope(jniEnv, 10);
const auto& data = ::djinni::JniClass<::djinni_generated::NativeEnumUsageInterface>::get();
auto jret = jniEnv->CallObjectMethod(Handle::get().get(), data.method_s,
::djinni::get(::djinni::Set<::djinni_generated::NativeColor>::fromCpp(jniEnv, c_s)));
::djinni::jniExceptionCheck(jniEnv);
return ::djinni::Set<::djinni_generated::NativeColor>::toCpp(jniEnv, jret);
}
std::unordered_map<::testsuite::color, ::testsuite::color> NativeEnumUsageInterface::JavaProxy::m(const std::unordered_map<::testsuite::color, ::testsuite::color> & c_m) {
auto jniEnv = ::djinni::jniGetThreadEnv();
::djinni::JniLocalScope jscope(jniEnv, 10);
const auto& data = ::djinni::JniClass<::djinni_generated::NativeEnumUsageInterface>::get();
auto jret = jniEnv->CallObjectMethod(Handle::get().get(), data.method_m,
::djinni::get(::djinni::Map<::djinni_generated::NativeColor, ::djinni_generated::NativeColor>::fromCpp(jniEnv, c_m)));
::djinni::jniExceptionCheck(jniEnv);
return ::djinni::Map<::djinni_generated::NativeColor, ::djinni_generated::NativeColor>::toCpp(jniEnv, jret);
}
CJNIEXPORT void JNICALL Java_com_dropbox_djinni_test_EnumUsageInterface_00024CppProxy_nativeDestroy(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef)
{
try {
DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef);
delete reinterpret_cast<::djinni::CppProxyHandle<::testsuite::EnumUsageInterface>*>(nativeRef);
} JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, )
}
CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_EnumUsageInterface_00024CppProxy_native_1e(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jobject j_e)
{
try {
DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef);
const auto& ref = ::djinni::objectFromHandleAddress<::testsuite::EnumUsageInterface>(nativeRef);
auto r = ref->e(::djinni_generated::NativeColor::toCpp(jniEnv, j_e));
return ::djinni::release(::djinni_generated::NativeColor::fromCpp(jniEnv, r));
} JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, 0 /* value doesn't matter */)
}
CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_EnumUsageInterface_00024CppProxy_native_1o(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jobject j_o)
{
try {
DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef);
const auto& ref = ::djinni::objectFromHandleAddress<::testsuite::EnumUsageInterface>(nativeRef);
auto r = ref->o(::djinni::Optional<std::experimental::optional, ::djinni_generated::NativeColor>::toCpp(jniEnv, j_o));
return ::djinni::release(::djinni::Optional<std::experimental::optional, ::djinni_generated::NativeColor>::fromCpp(jniEnv, r));
} JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, 0 /* value doesn't matter */)
}
CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_EnumUsageInterface_00024CppProxy_native_1l(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jobject j_l)
{
try {
DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef);
const auto& ref = ::djinni::objectFromHandleAddress<::testsuite::EnumUsageInterface>(nativeRef);
auto r = ref->l(::djinni::List<::djinni_generated::NativeColor>::toCpp(jniEnv, j_l));
return ::djinni::release(::djinni::List<::djinni_generated::NativeColor>::fromCpp(jniEnv, r));
} JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, 0 /* value doesn't matter */)
}
CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_EnumUsageInterface_00024CppProxy_native_1s(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jobject j_s)
{
try {
DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef);
const auto& ref = ::djinni::objectFromHandleAddress<::testsuite::EnumUsageInterface>(nativeRef);
auto r = ref->s(::djinni::Set<::djinni_generated::NativeColor>::toCpp(jniEnv, j_s));
return ::djinni::release(::djinni::Set<::djinni_generated::NativeColor>::fromCpp(jniEnv, r));
} JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, 0 /* value doesn't matter */)
}
CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_EnumUsageInterface_00024CppProxy_native_1m(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jobject j_m)
{
try {
DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef);
const auto& ref = ::djinni::objectFromHandleAddress<::testsuite::EnumUsageInterface>(nativeRef);
auto r = ref->m(::djinni::Map<::djinni_generated::NativeColor, ::djinni_generated::NativeColor>::toCpp(jniEnv, j_m));
return ::djinni::release(::djinni::Map<::djinni_generated::NativeColor, ::djinni_generated::NativeColor>::fromCpp(jniEnv, r));
} JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, 0 /* value doesn't matter */)
}
} // namespace djinni_generated
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#pragma once
#include "djinni_support.hpp"
#include "enum_usage_interface.hpp"
namespace djinni_generated {
class NativeEnumUsageInterface final : ::djinni::JniInterface<::testsuite::EnumUsageInterface, NativeEnumUsageInterface> {
public:
using CppType = std::shared_ptr<::testsuite::EnumUsageInterface>;
using CppOptType = std::shared_ptr<::testsuite::EnumUsageInterface>;
using JniType = jobject;
using Boxed = NativeEnumUsageInterface;
~NativeEnumUsageInterface();
static CppType toCpp(JNIEnv* jniEnv, JniType j) { return ::djinni::JniClass<NativeEnumUsageInterface>::get()._fromJava(jniEnv, j); }
static ::djinni::LocalRef<JniType> fromCppOpt(JNIEnv* jniEnv, const CppOptType& c) { return {jniEnv, ::djinni::JniClass<NativeEnumUsageInterface>::get()._toJava(jniEnv, c)}; }
static ::djinni::LocalRef<JniType> fromCpp(JNIEnv* jniEnv, const CppType& c) { return fromCppOpt(jniEnv, c); }
private:
NativeEnumUsageInterface();
friend ::djinni::JniClass<NativeEnumUsageInterface>;
friend ::djinni::JniInterface<::testsuite::EnumUsageInterface, NativeEnumUsageInterface>;
class JavaProxy final : ::djinni::JavaProxyHandle<JavaProxy>, public ::testsuite::EnumUsageInterface
{
public:
JavaProxy(JniType j);
~JavaProxy();
::testsuite::color e(::testsuite::color e) override;
std::experimental::optional<::testsuite::color> o(std::experimental::optional<::testsuite::color> o) override;
std::vector<::testsuite::color> l(const std::vector<::testsuite::color> & l) override;
std::unordered_set<::testsuite::color> s(const std::unordered_set<::testsuite::color> & s) override;
std::unordered_map<::testsuite::color, ::testsuite::color> m(const std::unordered_map<::testsuite::color, ::testsuite::color> & m) override;
private:
friend ::djinni::JniInterface<::testsuite::EnumUsageInterface, ::djinni_generated::NativeEnumUsageInterface>;
};
const ::djinni::GlobalRef<jclass> clazz { ::djinni::jniFindClass("com/dropbox/djinni/test/EnumUsageInterface") };
const jmethodID method_e { ::djinni::jniGetMethodID(clazz.get(), "e", "(Lcom/dropbox/djinni/test/Color;)Lcom/dropbox/djinni/test/Color;") };
const jmethodID method_o { ::djinni::jniGetMethodID(clazz.get(), "o", "(Lcom/dropbox/djinni/test/Color;)Lcom/dropbox/djinni/test/Color;") };
const jmethodID method_l { ::djinni::jniGetMethodID(clazz.get(), "l", "(Ljava/util/ArrayList;)Ljava/util/ArrayList;") };
const jmethodID method_s { ::djinni::jniGetMethodID(clazz.get(), "s", "(Ljava/util/HashSet;)Ljava/util/HashSet;") };
const jmethodID method_m { ::djinni::jniGetMethodID(clazz.get(), "m", "(Ljava/util/HashMap;)Ljava/util/HashMap;") };
};
} // namespace djinni_generated
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#include "NativeEnumUsageRecord.hpp" // my header
#include "Marshal.hpp"
#include "NativeColor.hpp"
namespace djinni_generated {
NativeEnumUsageRecord::NativeEnumUsageRecord() = default;
NativeEnumUsageRecord::~NativeEnumUsageRecord() = default;
auto NativeEnumUsageRecord::fromCpp(JNIEnv* jniEnv, const CppType& c) -> ::djinni::LocalRef<JniType> {
const auto& data = ::djinni::JniClass<NativeEnumUsageRecord>::get();
auto r = ::djinni::LocalRef<JniType>{jniEnv->NewObject(data.clazz.get(), data.jconstructor,
::djinni::get(::djinni_generated::NativeColor::fromCpp(jniEnv, c.e)),
::djinni::get(::djinni::Optional<std::experimental::optional, ::djinni_generated::NativeColor>::fromCpp(jniEnv, c.o)),
::djinni::get(::djinni::List<::djinni_generated::NativeColor>::fromCpp(jniEnv, c.l)),
::djinni::get(::djinni::Set<::djinni_generated::NativeColor>::fromCpp(jniEnv, c.s)),
::djinni::get(::djinni::Map<::djinni_generated::NativeColor, ::djinni_generated::NativeColor>::fromCpp(jniEnv, c.m)))};
::djinni::jniExceptionCheck(jniEnv);
return r;
}
auto NativeEnumUsageRecord::toCpp(JNIEnv* jniEnv, JniType j) -> CppType {
::djinni::JniLocalScope jscope(jniEnv, 6);
assert(j != nullptr);
const auto& data = ::djinni::JniClass<NativeEnumUsageRecord>::get();
return {::djinni_generated::NativeColor::toCpp(jniEnv, jniEnv->GetObjectField(j, data.field_mE)),
::djinni::Optional<std::experimental::optional, ::djinni_generated::NativeColor>::toCpp(jniEnv, jniEnv->GetObjectField(j, data.field_mO)),
::djinni::List<::djinni_generated::NativeColor>::toCpp(jniEnv, jniEnv->GetObjectField(j, data.field_mL)),
::djinni::Set<::djinni_generated::NativeColor>::toCpp(jniEnv, jniEnv->GetObjectField(j, data.field_mS)),
::djinni::Map<::djinni_generated::NativeColor, ::djinni_generated::NativeColor>::toCpp(jniEnv, jniEnv->GetObjectField(j, data.field_mM))};
}
} // namespace djinni_generated
......@@ -4,29 +4,33 @@
#pragma once
#include "djinni_support.hpp"
#include "opt_color_record.hpp"
#include "enum_usage_record.hpp"
namespace djinni_generated {
class NativeOptColorRecord final {
class NativeEnumUsageRecord final {
public:
using CppType = ::testsuite::OptColorRecord;
using CppType = ::testsuite::EnumUsageRecord;
using JniType = jobject;
using Boxed = NativeOptColorRecord;
using Boxed = NativeEnumUsageRecord;
~NativeOptColorRecord();
~NativeEnumUsageRecord();
static CppType toCpp(JNIEnv* jniEnv, JniType j);
static ::djinni::LocalRef<JniType> fromCpp(JNIEnv* jniEnv, const CppType& c);
private:
NativeOptColorRecord();
friend ::djinni::JniClass<NativeOptColorRecord>;
const ::djinni::GlobalRef<jclass> clazz { ::djinni::jniFindClass("com/dropbox/djinni/test/OptColorRecord") };
const jmethodID jconstructor { ::djinni::jniGetMethodID(clazz.get(), "<init>", "(Lcom/dropbox/djinni/test/Color;)V") };
const jfieldID field_mMyColor { ::djinni::jniGetFieldID(clazz.get(), "mMyColor", "Lcom/dropbox/djinni/test/Color;") };
NativeEnumUsageRecord();
friend ::djinni::JniClass<NativeEnumUsageRecord>;
const ::djinni::GlobalRef<jclass> clazz { ::djinni::jniFindClass("com/dropbox/djinni/test/EnumUsageRecord") };
const jmethodID jconstructor { ::djinni::jniGetMethodID(clazz.get(), "<init>", "(Lcom/dropbox/djinni/test/Color;Lcom/dropbox/djinni/test/Color;Ljava/util/ArrayList;Ljava/util/HashSet;Ljava/util/HashMap;)V") };
const jfieldID field_mE { ::djinni::jniGetFieldID(clazz.get(), "mE", "Lcom/dropbox/djinni/test/Color;") };
const jfieldID field_mO { ::djinni::jniGetFieldID(clazz.get(), "mO", "Lcom/dropbox/djinni/test/Color;") };
const jfieldID field_mL { ::djinni::jniGetFieldID(clazz.get(), "mL", "Ljava/util/ArrayList;") };
const jfieldID field_mS { ::djinni::jniGetFieldID(clazz.get(), "mS", "Ljava/util/HashSet;") };
const jfieldID field_mM { ::djinni::jniGetFieldID(clazz.get(), "mM", "Ljava/util/HashMap;") };
};
} // namespace djinni_generated
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#include "NativeOptColorRecord.hpp" // my header
#include "Marshal.hpp"
#include "NativeColor.hpp"
namespace djinni_generated {
NativeOptColorRecord::NativeOptColorRecord() = default;
NativeOptColorRecord::~NativeOptColorRecord() = default;
auto NativeOptColorRecord::fromCpp(JNIEnv* jniEnv, const CppType& c) -> ::djinni::LocalRef<JniType> {
const auto& data = ::djinni::JniClass<NativeOptColorRecord>::get();
auto r = ::djinni::LocalRef<JniType>{jniEnv->NewObject(data.clazz.get(), data.jconstructor,
::djinni::get(::djinni::Optional<std::experimental::optional, ::djinni_generated::NativeColor>::fromCpp(jniEnv, c.my_color)))};
::djinni::jniExceptionCheck(jniEnv);
return r;
}
auto NativeOptColorRecord::toCpp(JNIEnv* jniEnv, JniType j) -> CppType {
::djinni::JniLocalScope jscope(jniEnv, 2);
assert(j != nullptr);
const auto& data = ::djinni::JniClass<NativeOptColorRecord>::get();
return {::djinni::Optional<std::experimental::optional, ::djinni_generated::NativeColor>::toCpp(jniEnv, jniEnv->GetObjectField(j, data.field_mMyColor))};
}
} // namespace djinni_generated
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#include "color.hpp"
#import "DJIMarshal+Private.h"
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#include "enum_usage_interface.hpp"
#include <memory>
static_assert(__has_feature(objc_arc), "Djinni requires ARC to be enabled for this file");
@protocol DBEnumUsageInterface;
namespace djinni_generated {
class EnumUsageInterface
{
public:
using CppType = std::shared_ptr<::testsuite::EnumUsageInterface>;
using CppOptType = std::shared_ptr<::testsuite::EnumUsageInterface>;
using ObjcType = id<DBEnumUsageInterface>;
using Boxed = EnumUsageInterface;
static CppType toCpp(ObjcType objc);
static ObjcType fromCppOpt(const CppOptType& cpp);
static ObjcType fromCpp(const CppType& cpp) { return fromCppOpt(cpp); }
private:
class ObjcProxy;
};
} // namespace djinni_generated
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#import "DBEnumUsageInterface+Private.h"
#import "DBEnumUsageInterface.h"
#import "DBColor+Private.h"
#import "DJICppWrapperCache+Private.h"
#import "DJIError.h"
#import "DJIMarshal+Private.h"
#import "DJIObjcWrapperCache+Private.h"
#include <exception>
#include <utility>
static_assert(__has_feature(objc_arc), "Djinni requires ARC to be enabled for this file");
@interface DBEnumUsageInterfaceCppProxy : NSObject<DBEnumUsageInterface>
- (id)initWithCpp:(const std::shared_ptr<::testsuite::EnumUsageInterface>&)cppRef;
@end
@implementation DBEnumUsageInterfaceCppProxy {
::djinni::CppProxyCache::Handle<std::shared_ptr<::testsuite::EnumUsageInterface>> _cppRefHandle;
}
- (id)initWithCpp:(const std::shared_ptr<::testsuite::EnumUsageInterface>&)cppRef
{
if (self = [super init]) {
_cppRefHandle.assign(cppRef);
}
return self;
}
- (DBColor)e:(DBColor)e {
try {
auto r = _cppRefHandle.get()->e(::djinni::Enum<::testsuite::color, DBColor>::toCpp(e));
return ::djinni::Enum<::testsuite::color, DBColor>::fromCpp(r);
} DJINNI_TRANSLATE_EXCEPTIONS()
}
- (nullable NSNumber *)o:(nullable NSNumber *)o {
try {
auto r = _cppRefHandle.get()->o(::djinni::Optional<std::experimental::optional, ::djinni::Enum<::testsuite::color, DBColor>>::toCpp(o));
return ::djinni::Optional<std::experimental::optional, ::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(r);
} DJINNI_TRANSLATE_EXCEPTIONS()
}
- (nonnull NSArray<NSNumber *> *)l:(nonnull NSArray<NSNumber *> *)l {
try {
auto r = _cppRefHandle.get()->l(::djinni::List<::djinni::Enum<::testsuite::color, DBColor>>::toCpp(l));
return ::djinni::List<::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(r);
} DJINNI_TRANSLATE_EXCEPTIONS()
}
- (nonnull NSSet<NSNumber *> *)s:(nonnull NSSet<NSNumber *> *)s {
try {
auto r = _cppRefHandle.get()->s(::djinni::Set<::djinni::Enum<::testsuite::color, DBColor>>::toCpp(s));
return ::djinni::Set<::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(r);
} DJINNI_TRANSLATE_EXCEPTIONS()
}
- (nonnull NSDictionary<NSNumber *, NSNumber *> *)m:(nonnull NSDictionary<NSNumber *, NSNumber *> *)m {
try {
auto r = _cppRefHandle.get()->m(::djinni::Map<::djinni::Enum<::testsuite::color, DBColor>, ::djinni::Enum<::testsuite::color, DBColor>>::toCpp(m));
return ::djinni::Map<::djinni::Enum<::testsuite::color, DBColor>, ::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(r);
} DJINNI_TRANSLATE_EXCEPTIONS()
}
namespace djinni_generated {
class EnumUsageInterface::ObjcProxy final
: public ::testsuite::EnumUsageInterface
, public ::djinni::ObjcProxyCache::Handle<ObjcType>
{
public:
using Handle::Handle;
::testsuite::color e(::testsuite::color c_e) override
{
@autoreleasepool {
auto r = [Handle::get() e:(::djinni::Enum<::testsuite::color, DBColor>::fromCpp(c_e))];
return ::djinni::Enum<::testsuite::color, DBColor>::toCpp(r);
}
}
std::experimental::optional<::testsuite::color> o(std::experimental::optional<::testsuite::color> c_o) override
{
@autoreleasepool {
auto r = [Handle::get() o:(::djinni::Optional<std::experimental::optional, ::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(c_o))];
return ::djinni::Optional<std::experimental::optional, ::djinni::Enum<::testsuite::color, DBColor>>::toCpp(r);
}
}
std::vector<::testsuite::color> l(const std::vector<::testsuite::color> & c_l) override
{
@autoreleasepool {
auto r = [Handle::get() l:(::djinni::List<::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(c_l))];
return ::djinni::List<::djinni::Enum<::testsuite::color, DBColor>>::toCpp(r);
}
}
std::unordered_set<::testsuite::color> s(const std::unordered_set<::testsuite::color> & c_s) override
{
@autoreleasepool {
auto r = [Handle::get() s:(::djinni::Set<::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(c_s))];
return ::djinni::Set<::djinni::Enum<::testsuite::color, DBColor>>::toCpp(r);
}
}
std::unordered_map<::testsuite::color, ::testsuite::color> m(const std::unordered_map<::testsuite::color, ::testsuite::color> & c_m) override
{
@autoreleasepool {
auto r = [Handle::get() m:(::djinni::Map<::djinni::Enum<::testsuite::color, DBColor>, ::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(c_m))];
return ::djinni::Map<::djinni::Enum<::testsuite::color, DBColor>, ::djinni::Enum<::testsuite::color, DBColor>>::toCpp(r);
}
}
};
} // namespace djinni_generated
namespace djinni_generated {
auto EnumUsageInterface::toCpp(ObjcType objc) -> CppType
{
if (!objc) {
return nullptr;
}
if ([(id)objc isKindOfClass:[DBEnumUsageInterfaceCppProxy class]]) {
return ((DBEnumUsageInterfaceCppProxy*)objc)->_cppRefHandle.get();
}
return ::djinni::get_objc_proxy<ObjcProxy>(objc);
}
auto EnumUsageInterface::fromCppOpt(const CppOptType& cpp) -> ObjcType
{
if (!cpp) {
return nil;
}
if (auto cppPtr = dynamic_cast<ObjcProxy*>(cpp.get())) {
return cppPtr->Handle::get();
}
return ::djinni::get_cpp_proxy<DBEnumUsageInterfaceCppProxy>(cpp);
}
} // namespace djinni_generated
@end
......@@ -4,10 +4,17 @@
#import "DBColor.h"
#import <Foundation/Foundation.h>
@interface DBOptColorRecord : NSObject
- (nonnull instancetype)initWithMyColor:(nullable NSNumber *)myColor;
+ (nonnull instancetype)optColorRecordWithMyColor:(nullable NSNumber *)myColor;
@property (nonatomic, readonly, nullable) NSNumber * myColor;
@protocol DBEnumUsageInterface
- (DBColor)e:(DBColor)e;
- (nullable NSNumber *)o:(nullable NSNumber *)o;
- (nonnull NSArray<NSNumber *> *)l:(nonnull NSArray<NSNumber *> *)l;
- (nonnull NSSet<NSNumber *> *)s:(nonnull NSSet<NSNumber *> *)s;
- (nonnull NSDictionary<NSNumber *, NSNumber *> *)m:(nonnull NSDictionary<NSNumber *, NSNumber *> *)m;
@end
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#import "DBOptColorRecord.h"
#include "opt_color_record.hpp"
#import "DBEnumUsageRecord.h"
#include "enum_usage_record.hpp"
static_assert(__has_feature(objc_arc), "Djinni requires ARC to be enabled for this file");
@class DBOptColorRecord;
@class DBEnumUsageRecord;
namespace djinni_generated {
struct OptColorRecord
struct EnumUsageRecord
{
using CppType = ::testsuite::OptColorRecord;
using ObjcType = DBOptColorRecord*;
using CppType = ::testsuite::EnumUsageRecord;
using ObjcType = DBEnumUsageRecord*;
using Boxed = OptColorRecord;
using Boxed = EnumUsageRecord;
static CppType toCpp(ObjcType objc);
static ObjcType fromCpp(const CppType& cpp);
......
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#import "DBEnumUsageRecord+Private.h"
#import "DBColor+Private.h"
#import "DJIMarshal+Private.h"
#include <cassert>
namespace djinni_generated {
auto EnumUsageRecord::toCpp(ObjcType obj) -> CppType
{
assert(obj);
return {::djinni::Enum<::testsuite::color, DBColor>::toCpp(obj.e),
::djinni::Optional<std::experimental::optional, ::djinni::Enum<::testsuite::color, DBColor>>::toCpp(obj.o),
::djinni::List<::djinni::Enum<::testsuite::color, DBColor>>::toCpp(obj.l),
::djinni::Set<::djinni::Enum<::testsuite::color, DBColor>>::toCpp(obj.s),
::djinni::Map<::djinni::Enum<::testsuite::color, DBColor>, ::djinni::Enum<::testsuite::color, DBColor>>::toCpp(obj.m)};
}
auto EnumUsageRecord::fromCpp(const CppType& cpp) -> ObjcType
{
return [[DBEnumUsageRecord alloc] initWithE:(::djinni::Enum<::testsuite::color, DBColor>::fromCpp(cpp.e))
o:(::djinni::Optional<std::experimental::optional, ::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(cpp.o))
l:(::djinni::List<::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(cpp.l))
s:(::djinni::Set<::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(cpp.s))
m:(::djinni::Map<::djinni::Enum<::testsuite::color, DBColor>, ::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(cpp.m))];
}
} // namespace djinni_generated
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#import "DBColor.h"
#import <Foundation/Foundation.h>
@interface DBEnumUsageRecord : NSObject
- (nonnull instancetype)initWithE:(DBColor)e
o:(nullable NSNumber *)o
l:(nonnull NSArray<NSNumber *> *)l
s:(nonnull NSSet<NSNumber *> *)s
m:(nonnull NSDictionary<NSNumber *, NSNumber *> *)m;
+ (nonnull instancetype)enumUsageRecordWithE:(DBColor)e
o:(nullable NSNumber *)o
l:(nonnull NSArray<NSNumber *> *)l
s:(nonnull NSSet<NSNumber *> *)s
m:(nonnull NSDictionary<NSNumber *, NSNumber *> *)m;
@property (nonatomic, readonly) DBColor e;
@property (nonatomic, readonly, nullable) NSNumber * o;
@property (nonatomic, readonly, nonnull) NSArray<NSNumber *> * l;
@property (nonatomic, readonly, nonnull) NSSet<NSNumber *> * s;
@property (nonatomic, readonly, nonnull) NSDictionary<NSNumber *, NSNumber *> * m;
@end
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#import "DBEnumUsageRecord.h"
@implementation DBEnumUsageRecord
- (nonnull instancetype)initWithE:(DBColor)e
o:(nullable NSNumber *)o
l:(nonnull NSArray<NSNumber *> *)l
s:(nonnull NSSet<NSNumber *> *)s
m:(nonnull NSDictionary<NSNumber *, NSNumber *> *)m
{
if (self = [super init]) {
_e = e;
_o = o;
_l = [l copy];
_s = [s copy];
_m = [m copy];
}
return self;
}
+ (nonnull instancetype)enumUsageRecordWithE:(DBColor)e
o:(nullable NSNumber *)o
l:(nonnull NSArray<NSNumber *> *)l
s:(nonnull NSSet<NSNumber *> *)s
m:(nonnull NSDictionary<NSNumber *, NSNumber *> *)m
{
return [[self alloc] initWithE:e
o:o
l:l
s:s
m:m];
}
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p e:%@ o:%@ l:%@ s:%@ m:%@>", self.class, (void *)self, @(self.e), self.o, self.l, self.s, self.m];
}
@end
......@@ -2,8 +2,8 @@
// This file generated by Djinni from yaml-test.djinni
#import "DBExternRecordWithDerivings+Private.h"
#import "DBColor+Private.h"
#import "DBRecordWithDerivings+Private.h"
#import "DJIMarshal+Private.h"
#include <cassert>
namespace djinni_generated {
......
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#import "DBOptColorRecord+Private.h"
#import "DJIMarshal+Private.h"
#include <cassert>
namespace djinni_generated {
auto OptColorRecord::toCpp(ObjcType obj) -> CppType
{
assert(obj);
return {::djinni::Optional<std::experimental::optional, ::djinni::Enum<::testsuite::color, DBColor>>::toCpp(obj.myColor)};
}
auto OptColorRecord::fromCpp(const CppType& cpp) -> ObjcType
{
return [[DBOptColorRecord alloc] initWithMyColor:(::djinni::Optional<std::experimental::optional, ::djinni::Enum<::testsuite::color, DBColor>>::fromCpp(cpp.my_color))];
}
} // namespace djinni_generated
// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from enum.djinni
#import "DBOptColorRecord.h"
@implementation DBOptColorRecord
- (nonnull instancetype)initWithMyColor:(nullable NSNumber *)myColor
{
if (self = [super init]) {
_myColor = myColor;
}
return self;
}
+ (nonnull instancetype)optColorRecordWithMyColor:(nullable NSNumber *)myColor
{
return [[self alloc] initWithMyColor:myColor];
}
- (NSString *)description
{
return [NSString stringWithFormat:@"<%@ %p myColor:%@>", self.class, (void *)self, self.myColor];
}
@end
......@@ -5,6 +5,7 @@
#import "DBTestHelpers.h"
#import "DBAssortedPrimitives+Private.h"
#import "DBClientInterface+Private.h"
#import "DBColor+Private.h"
#import "DBMapListRecord+Private.h"
#import "DBNestedCollection+Private.h"
#import "DBPrimitiveList+Private.h"
......
......@@ -27,7 +27,8 @@ djinni-output-temp/cpp/Conflict.hpp
djinni-output-temp/cpp/conflict_user.hpp
djinni-output-temp/cpp/user_token.hpp
djinni-output-temp/cpp/color.hpp
djinni-output-temp/cpp/opt_color_record.hpp
djinni-output-temp/cpp/enum_usage_record.hpp
djinni-output-temp/cpp/enum_usage_interface.hpp
djinni-output-temp/cpp/client_returned_record.hpp
djinni-output-temp/cpp/client_interface.hpp
djinni-output-temp/cpp/reverse_client_interface.hpp
......@@ -64,7 +65,8 @@ djinni-output-temp/java/Conflict.java
djinni-output-temp/java/ConflictUser.java
djinni-output-temp/java/UserToken.java
djinni-output-temp/java/Color.java
djinni-output-temp/java/OptColorRecord.java
djinni-output-temp/java/EnumUsageRecord.java
djinni-output-temp/java/EnumUsageInterface.java
djinni-output-temp/java/ClientReturnedRecord.java
djinni-output-temp/java/ClientInterface.java
djinni-output-temp/java/ReverseClientInterface.java
......@@ -121,8 +123,10 @@ djinni-output-temp/jni/NativeConflictUser.cpp
djinni-output-temp/jni/NativeUserToken.hpp
djinni-output-temp/jni/NativeUserToken.cpp
djinni-output-temp/jni/NativeColor.hpp
djinni-output-temp/jni/NativeOptColorRecord.hpp
djinni-output-temp/jni/NativeOptColorRecord.cpp
djinni-output-temp/jni/NativeEnumUsageRecord.hpp
djinni-output-temp/jni/NativeEnumUsageRecord.cpp
djinni-output-temp/jni/NativeEnumUsageInterface.hpp
djinni-output-temp/jni/NativeEnumUsageInterface.cpp
djinni-output-temp/jni/NativeClientReturnedRecord.hpp
djinni-output-temp/jni/NativeClientReturnedRecord.cpp
djinni-output-temp/jni/NativeClientInterface.hpp
......@@ -177,8 +181,9 @@ djinni-output-temp/objc/DBConflict.h
djinni-output-temp/objc/DBConflictUser.h
djinni-output-temp/objc/DBUserToken.h
djinni-output-temp/objc/DBColor.h
djinni-output-temp/objc/DBOptColorRecord.h
djinni-output-temp/objc/DBOptColorRecord.mm
djinni-output-temp/objc/DBEnumUsageRecord.h
djinni-output-temp/objc/DBEnumUsageRecord.mm
djinni-output-temp/objc/DBEnumUsageInterface.h
djinni-output-temp/objc/DBClientReturnedRecord.h
djinni-output-temp/objc/DBClientReturnedRecord.mm
djinni-output-temp/objc/DBClientInterface.h
......@@ -242,8 +247,11 @@ djinni-output-temp/objc/DBConflictUser+Private.h
djinni-output-temp/objc/DBConflictUser+Private.mm
djinni-output-temp/objc/DBUserToken+Private.h
djinni-output-temp/objc/DBUserToken+Private.mm
djinni-output-temp/objc/DBOptColorRecord+Private.h
djinni-output-temp/objc/DBOptColorRecord+Private.mm
djinni-output-temp/objc/DBColor+Private.h
djinni-output-temp/objc/DBEnumUsageRecord+Private.h
djinni-output-temp/objc/DBEnumUsageRecord+Private.mm
djinni-output-temp/objc/DBEnumUsageInterface+Private.h
djinni-output-temp/objc/DBEnumUsageInterface+Private.mm
djinni-output-temp/objc/DBClientReturnedRecord+Private.h
djinni-output-temp/objc/DBClientReturnedRecord+Private.mm
djinni-output-temp/objc/DBClientInterface+Private.h
......
This diff is collapsed.
......@@ -37,7 +37,7 @@ file(
../generated-src/cpp/*.cpp
../handwritten-src/cpp/*.cpp)
set(test_suite_common_flags "-g -Wall -Werror -std=c++1y")
set(test_suite_common_flags "-g -Wall -Werror -std=c++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${test_suite_common_flags}")
if(UNIX OR APPLE)
......
......@@ -75,7 +75,7 @@ fi
--cpp-namespace testsuite \
--ident-cpp-enum-type foo_bar \
--cpp-optional-template "std::experimental::optional" \
--cpp-optional-header "<experimental/optional>" \
--cpp-optional-header "\"../../handwritten-src/cpp/optional.hpp\"" \
--cpp-extended-record-include-prefix "../../handwritten-src/cpp/" \
--cpp-use-wide-strings true \
\
......@@ -104,7 +104,7 @@ fi
--cpp-namespace testsuite \
--ident-cpp-enum-type foo_bar \
--cpp-optional-template "std::experimental::optional" \
--cpp-optional-header "<experimental/optional>" \
--cpp-optional-header "\"../../handwritten-src/cpp/optional.hpp\"" \
--cpp-extended-record-include-prefix "../../handwritten-src/cpp/" \
\
--jni-out "$temp_out_relative/jni" \
......@@ -136,7 +136,7 @@ cp "$base_dir/djinni/yaml-test.djinni" "$temp_out/yaml"
--cpp-out "$temp_out_relative/cpp" \
--ident-cpp-enum-type foo_bar \
--cpp-optional-template "std::experimental::optional" \
--cpp-optional-header "<experimental/optional>" \
--cpp-optional-header "\"../../handwritten-src/cpp/optional.hpp\"" \
\
--jni-out "$temp_out_relative/jni" \
--ident-jni-class NativeFooBar \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment