Commit f6e2a81d authored by Jacob Potter's avatar Jacob Potter

Fully-qualify JNI class names

parent ed6ef3c5
......@@ -9,7 +9,7 @@ namespace djinni_generated {
jobject NativeItemList::toJava(JNIEnv* jniEnv, ::textsort::ItemList c) {
djinni::LocalRef<jobject> j_items(jniEnv, ::djinni::HList<::djinni::HString>::toJava(jniEnv, c.items));
const NativeItemList & data = djinni::JniClass<NativeItemList>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeItemList>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_items.get());
djinni::jniExceptionCheck(jniEnv);
return r;
......@@ -17,7 +17,7 @@ jobject NativeItemList::toJava(JNIEnv* jniEnv, ::textsort::ItemList c) {
::textsort::ItemList NativeItemList::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr);
const NativeItemList & data = djinni::JniClass<NativeItemList>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeItemList>::get();
return ::textsort::ItemList(
::djinni::HList<::djinni::HString>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mItems)).get()));
}
......
......@@ -22,7 +22,7 @@ public:
private:
NativeItemList() {}
friend class djinni::JniClass<NativeItemList>;
friend class djinni::JniClass<::djinni_generated::NativeItemList>;
};
} // namespace djinni_generated
......@@ -13,13 +13,13 @@ public:
using CppType = std::shared_ptr<::textsort::SortItems>;
using JniType = jobject;
static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<::textsort::SortItems> c) { return djinni::JniClass<NativeSortItems>::get()._toJava(jniEnv, c); }
static std::shared_ptr<::textsort::SortItems> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<NativeSortItems>::get()._fromJava(jniEnv, j); }
static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<::textsort::SortItems> c) { return djinni::JniClass<::djinni_generated::NativeSortItems>::get()._toJava(jniEnv, c); }
static std::shared_ptr<::textsort::SortItems> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<::djinni_generated::NativeSortItems>::get()._fromJava(jniEnv, j); }
private:
NativeSortItems();
friend class djinni::JniClass<NativeSortItems>;
friend class djinni::JniClass<::djinni_generated::NativeSortItems>;
};
} // namespace djinni_generated
......@@ -14,7 +14,7 @@ void NativeTextboxListener::JavaProxy::JavaProxy::update(const ::textsort::ItemL
JNIEnv * const jniEnv = djinni::jniGetThreadEnv();
djinni::JniLocalScope jscope(jniEnv, 10);
djinni::LocalRef<jobject> j_items(jniEnv, NativeItemList::toJava(jniEnv, c_items));
const NativeTextboxListener & data = djinni::JniClass<NativeTextboxListener>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeTextboxListener>::get();
jniEnv->CallVoidMethod(getGlobalRef(), data.method_update, j_items.get());
djinni::jniExceptionCheck(jniEnv);
};
......
......@@ -13,7 +13,7 @@ public:
using CppType = std::shared_ptr<::textsort::TextboxListener>;
using JniType = jobject;
static std::shared_ptr<::textsort::TextboxListener> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<NativeTextboxListener>::get()._fromJava(jniEnv, j); }
static std::shared_ptr<::textsort::TextboxListener> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<::djinni_generated::NativeTextboxListener>::get()._fromJava(jniEnv, j); }
const djinni::GlobalRef<jclass> clazz { djinni::jniFindClass("com/dropbox/textsort/TextboxListener") };
const jmethodID method_update { djinni::jniGetMethodID(clazz.get(), "update", "(Lcom/dropbox/textsort/ItemList;)V") };
......@@ -25,13 +25,13 @@ public:
private:
using djinni::JavaProxyCacheEntry::getGlobalRef;
friend class djinni::JniInterfaceJavaExt<::textsort::TextboxListener, NativeTextboxListener>;
friend class djinni::JniInterfaceJavaExt<::textsort::TextboxListener, ::djinni_generated::NativeTextboxListener>;
friend class djinni::JavaProxyCache<JavaProxy>;
};
private:
NativeTextboxListener();
friend class djinni::JniClass<NativeTextboxListener>;
friend class djinni::JniClass<::djinni_generated::NativeTextboxListener>;
};
} // namespace djinni_generated
......@@ -79,6 +79,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
val refs = new JNIRefs(ident.name)
r.fields.foreach(f => refs.find(f.ty))
val jniClassName = spec.jniClassIdentStyle(ident)
val fqJniClassName = withNs(Some(spec.jniNamespace), jniClassName)
val self = idCpp.ty(ident)
val selfQ = withNs(spec.cppNamespace, self) + cppTypeArgs(params) // Qualified "self"
......@@ -105,7 +106,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w.wl
w.wlOutdent("private:")
w.wl(s"$jniClassName() {}")
w.wl(s"friend class djinni::JniClass<$jniClassName>;")
w.wl(s"friend class djinni::JniClass<$fqJniClassName>;")
}
}
......@@ -123,7 +124,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
val jniLocalRead = storeLocal(w, jniLocal, f.ty, s"$jniHelperClass::toJava(jniEnv, c.$cppFieldName)")
jniArgs.append(jniLocalRead)
}
w.wl(s"const $jniClassName & data = djinni::JniClass<$jniClassName>::get();")
w.wl(s"const auto & data = djinni::JniClass<$fqJniClassName>::get();")
val argList = jniArgs.map(", " + _).mkString("")
w.wl(s"jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor$argList);")
w.wl(s"djinni::jniExceptionCheck(jniEnv);")
......@@ -135,7 +136,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w.w(s"$selfQ $jniClassName::fromJava(JNIEnv* jniEnv, jobject j)").braced {
//w.wl(s"::${spec.jniNamespace}::JniLocalScope jscope(jniEnv, 10);")
w.wl(s"assert(j != nullptr);")
w.wl(s"const $jniClassName & data = djinni::JniClass<$jniClassName>::get();")
w.wl(s"const auto & data = djinni::JniClass<$fqJniClassName>::get();")
w.wl(s"return $selfQ(").nested {
val skipFirst = SkipFirst()
for (f <- r.fields) {
......@@ -179,6 +180,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
val selfQ = withNs(spec.cppNamespace, self) + cppTypeArgs(typeParams) // Qualified "self"
val jniClassName = spec.jniClassIdentStyle(ident)
val fqJniClassName = withNs(Some(spec.jniNamespace), jniClassName)
val classLookup = toJavaClassLookup(ident, spec.javaPackage)
val (baseClassName, baseClassArgs) = (i.ext.java, i.ext.cpp) match {
case (true, true) => throw new AssertionError("an interface cannot be both +c and +j")
......@@ -196,9 +198,9 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w.wl(s"using JniType = jobject;")
w.wl
if (!i.ext.java) {
w.wl(s"static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<$selfQ> c) { return djinni::JniClass<$jniClassName>::get()._toJava(jniEnv, c); }")
w.wl(s"static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<$selfQ> c) { return djinni::JniClass<$fqJniClassName>::get()._toJava(jniEnv, c); }")
}
w.wl(s"static std::shared_ptr<$selfQ> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<$jniClassName>::get()._fromJava(jniEnv, j); }")
w.wl(s"static std::shared_ptr<$selfQ> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<$fqJniClassName>::get()._fromJava(jniEnv, j); }")
w.wl
if (i.ext.java) {
w.wl(s"const djinni::GlobalRef<jclass> clazz { djinni::jniFindClass(${q(classLookup)}) };")
......@@ -221,14 +223,14 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w.wl
w.wlOutdent(s"private:")
w.wl(s"using djinni::JavaProxyCacheEntry::getGlobalRef;")
w.wl(s"friend class djinni::JniInterfaceJavaExt<$selfQ, $jniClassName>;")
w.wl(s"friend class djinni::JniInterfaceJavaExt<$selfQ, $fqJniClassName>;")
w.wl(s"friend class djinni::JavaProxyCache<JavaProxy>;")
}
}
w.wl
w.wlOutdent("private:")
w.wl(s"$jniClassName();")
w.wl(s"friend class djinni::JniClass<$jniClassName>;")
w.wl(s"friend class djinni::JniClass<$fqJniClassName>;")
}
}
......@@ -257,7 +259,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
val jniLocalRead = storeLocal(w, jniLocal, p.ty, s"$jniHelperClass::toJava(jniEnv, $cppParamName)")
jniArgs.append(jniLocalRead)
}
w.wl(s"const $jniClassName & data = djinni::JniClass<$jniClassName>::get();")
w.wl(s"const auto & data = djinni::JniClass<$fqJniClassName>::get();")
val argList = jniArgs.map(", "+_).mkString("")
val javaMethodName = idJava.method(m.ident)
m.ret match {
......
......@@ -15,7 +15,7 @@ ClientReturnedRecord NativeClientInterface::JavaProxy::JavaProxy::get_record(con
JNIEnv * const jniEnv = djinni::jniGetThreadEnv();
djinni::JniLocalScope jscope(jniEnv, 10);
djinni::LocalRef<jstring> j_utf8string(jniEnv, ::djinni::HString::toJava(jniEnv, c_utf8string));
const NativeClientInterface & data = djinni::JniClass<NativeClientInterface>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeClientInterface>::get();
djinni::LocalRef<jobject> jret(jniEnv, jniEnv->CallObjectMethod(getGlobalRef(), data.method_getRecord, j_utf8string.get()));
djinni::jniExceptionCheck(jniEnv);
return NativeClientReturnedRecord::fromJava(jniEnv, jret.get());
......
......@@ -13,7 +13,7 @@ public:
using CppType = std::shared_ptr<ClientInterface>;
using JniType = jobject;
static std::shared_ptr<ClientInterface> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<NativeClientInterface>::get()._fromJava(jniEnv, j); }
static std::shared_ptr<ClientInterface> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<::djinni_generated::NativeClientInterface>::get()._fromJava(jniEnv, j); }
const djinni::GlobalRef<jclass> clazz { djinni::jniFindClass("com/dropbox/djinni/test/ClientInterface") };
const jmethodID method_getRecord { djinni::jniGetMethodID(clazz.get(), "getRecord", "(Ljava/lang/String;)Lcom/dropbox/djinni/test/ClientReturnedRecord;") };
......@@ -25,13 +25,13 @@ public:
private:
using djinni::JavaProxyCacheEntry::getGlobalRef;
friend class djinni::JniInterfaceJavaExt<ClientInterface, NativeClientInterface>;
friend class djinni::JniInterfaceJavaExt<ClientInterface, ::djinni_generated::NativeClientInterface>;
friend class djinni::JavaProxyCache<JavaProxy>;
};
private:
NativeClientInterface();
friend class djinni::JniClass<NativeClientInterface>;
friend class djinni::JniClass<::djinni_generated::NativeClientInterface>;
};
} // namespace djinni_generated
......@@ -8,7 +8,7 @@ namespace djinni_generated {
jobject NativeClientReturnedRecord::toJava(JNIEnv* jniEnv, ClientReturnedRecord c) {
djinni::LocalRef<jstring> j_content(jniEnv, ::djinni::HString::toJava(jniEnv, c.content));
const NativeClientReturnedRecord & data = djinni::JniClass<NativeClientReturnedRecord>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeClientReturnedRecord>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_content.get());
djinni::jniExceptionCheck(jniEnv);
return r;
......@@ -16,7 +16,7 @@ jobject NativeClientReturnedRecord::toJava(JNIEnv* jniEnv, ClientReturnedRecord
ClientReturnedRecord NativeClientReturnedRecord::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr);
const NativeClientReturnedRecord & data = djinni::JniClass<NativeClientReturnedRecord>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeClientReturnedRecord>::get();
return ClientReturnedRecord(
::djinni::HString::fromJava(jniEnv, djinni::LocalRef<jstring>(jniEnv, static_cast<jstring>(jniEnv->GetObjectField(j, data.field_mContent))).get()));
}
......
......@@ -22,7 +22,7 @@ public:
private:
NativeClientReturnedRecord() {}
friend class djinni::JniClass<NativeClientReturnedRecord>;
friend class djinni::JniClass<::djinni_generated::NativeClientReturnedRecord>;
};
} // namespace djinni_generated
......@@ -13,13 +13,13 @@ public:
using CppType = std::shared_ptr<CppException>;
using JniType = jobject;
static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<CppException> c) { return djinni::JniClass<NativeCppException>::get()._toJava(jniEnv, c); }
static std::shared_ptr<CppException> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<NativeCppException>::get()._fromJava(jniEnv, j); }
static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<CppException> c) { return djinni::JniClass<::djinni_generated::NativeCppException>::get()._toJava(jniEnv, c); }
static std::shared_ptr<CppException> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<::djinni_generated::NativeCppException>::get()._fromJava(jniEnv, j); }
private:
NativeCppException();
friend class djinni::JniClass<NativeCppException>;
friend class djinni::JniClass<::djinni_generated::NativeCppException>;
};
} // namespace djinni_generated
......@@ -11,7 +11,7 @@ namespace djinni_generated {
jobject NativeMapListRecord::toJava(JNIEnv* jniEnv, MapListRecord c) {
djinni::LocalRef<jobject> j_map_list(jniEnv, ::djinni::HList<::djinni::HMap<::djinni::HString, ::djinni::HI64>>::toJava(jniEnv, c.map_list));
const NativeMapListRecord & data = djinni::JniClass<NativeMapListRecord>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeMapListRecord>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_map_list.get());
djinni::jniExceptionCheck(jniEnv);
return r;
......@@ -19,7 +19,7 @@ jobject NativeMapListRecord::toJava(JNIEnv* jniEnv, MapListRecord c) {
MapListRecord NativeMapListRecord::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr);
const NativeMapListRecord & data = djinni::JniClass<NativeMapListRecord>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeMapListRecord>::get();
return MapListRecord(
::djinni::HList<::djinni::HMap<::djinni::HString, ::djinni::HI64>>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mMapList)).get()));
}
......
......@@ -22,7 +22,7 @@ public:
private:
NativeMapListRecord() {}
friend class djinni::JniClass<NativeMapListRecord>;
friend class djinni::JniClass<::djinni_generated::NativeMapListRecord>;
};
} // namespace djinni_generated
......@@ -10,7 +10,7 @@ namespace djinni_generated {
jobject NativeMapRecord::toJava(JNIEnv* jniEnv, MapRecord c) {
djinni::LocalRef<jobject> j_map(jniEnv, ::djinni::HMap<::djinni::HString, ::djinni::HI64>::toJava(jniEnv, c.map));
const NativeMapRecord & data = djinni::JniClass<NativeMapRecord>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeMapRecord>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_map.get());
djinni::jniExceptionCheck(jniEnv);
return r;
......@@ -18,7 +18,7 @@ jobject NativeMapRecord::toJava(JNIEnv* jniEnv, MapRecord c) {
MapRecord NativeMapRecord::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr);
const NativeMapRecord & data = djinni::JniClass<NativeMapRecord>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeMapRecord>::get();
return MapRecord(
::djinni::HMap<::djinni::HString, ::djinni::HI64>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mMap)).get()));
}
......
......@@ -22,7 +22,7 @@ public:
private:
NativeMapRecord() {}
friend class djinni::JniClass<NativeMapRecord>;
friend class djinni::JniClass<::djinni_generated::NativeMapRecord>;
};
} // namespace djinni_generated
......@@ -10,7 +10,7 @@ namespace djinni_generated {
jobject NativeNestedCollection::toJava(JNIEnv* jniEnv, NestedCollection c) {
djinni::LocalRef<jobject> j_set_list(jniEnv, ::djinni::HList<::djinni::HSet<::djinni::HString>>::toJava(jniEnv, c.set_list));
const NativeNestedCollection & data = djinni::JniClass<NativeNestedCollection>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeNestedCollection>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_set_list.get());
djinni::jniExceptionCheck(jniEnv);
return r;
......@@ -18,7 +18,7 @@ jobject NativeNestedCollection::toJava(JNIEnv* jniEnv, NestedCollection c) {
NestedCollection NativeNestedCollection::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr);
const NativeNestedCollection & data = djinni::JniClass<NativeNestedCollection>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeNestedCollection>::get();
return NestedCollection(
::djinni::HList<::djinni::HSet<::djinni::HString>>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mSetList)).get()));
}
......
......@@ -22,7 +22,7 @@ public:
private:
NativeNestedCollection() {}
friend class djinni::JniClass<NativeNestedCollection>;
friend class djinni::JniClass<::djinni_generated::NativeNestedCollection>;
};
} // namespace djinni_generated
......@@ -9,7 +9,7 @@ namespace djinni_generated {
jobject NativePrimitiveList::toJava(JNIEnv* jniEnv, PrimitiveList c) {
djinni::LocalRef<jobject> j_list(jniEnv, ::djinni::HList<::djinni::HI64>::toJava(jniEnv, c.list));
const NativePrimitiveList & data = djinni::JniClass<NativePrimitiveList>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativePrimitiveList>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_list.get());
djinni::jniExceptionCheck(jniEnv);
return r;
......@@ -17,7 +17,7 @@ jobject NativePrimitiveList::toJava(JNIEnv* jniEnv, PrimitiveList c) {
PrimitiveList NativePrimitiveList::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr);
const NativePrimitiveList & data = djinni::JniClass<NativePrimitiveList>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativePrimitiveList>::get();
return PrimitiveList(
::djinni::HList<::djinni::HI64>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mList)).get()));
}
......
......@@ -22,7 +22,7 @@ public:
private:
NativePrimitiveList() {}
friend class djinni::JniClass<NativePrimitiveList>;
friend class djinni::JniClass<::djinni_generated::NativePrimitiveList>;
};
} // namespace djinni_generated
......@@ -10,7 +10,7 @@ namespace djinni_generated {
jobject NativeRecordWithDerivings::toJava(JNIEnv* jniEnv, RecordWithDerivings c) {
jint j_key1 = ::djinni::HI32::Unboxed::toJava(jniEnv, c.key1);
djinni::LocalRef<jstring> j_key2(jniEnv, ::djinni::HString::toJava(jniEnv, c.key2));
const NativeRecordWithDerivings & data = djinni::JniClass<NativeRecordWithDerivings>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeRecordWithDerivings>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_key1, j_key2.get());
djinni::jniExceptionCheck(jniEnv);
return r;
......@@ -18,7 +18,7 @@ jobject NativeRecordWithDerivings::toJava(JNIEnv* jniEnv, RecordWithDerivings c)
RecordWithDerivings NativeRecordWithDerivings::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr);
const NativeRecordWithDerivings & data = djinni::JniClass<NativeRecordWithDerivings>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeRecordWithDerivings>::get();
return RecordWithDerivings(
::djinni::HI32::Unboxed::fromJava(jniEnv, jniEnv->GetIntField(j, data.field_mKey1)),
::djinni::HString::fromJava(jniEnv, djinni::LocalRef<jstring>(jniEnv, static_cast<jstring>(jniEnv->GetObjectField(j, data.field_mKey2))).get()));
......
......@@ -23,7 +23,7 @@ public:
private:
NativeRecordWithDerivings() {}
friend class djinni::JniClass<NativeRecordWithDerivings>;
friend class djinni::JniClass<::djinni_generated::NativeRecordWithDerivings>;
};
} // namespace djinni_generated
......@@ -10,7 +10,7 @@ namespace djinni_generated {
jobject NativeRecordWithNestedDerivings::toJava(JNIEnv* jniEnv, RecordWithNestedDerivings c) {
jint j_key = ::djinni::HI32::Unboxed::toJava(jniEnv, c.key);
djinni::LocalRef<jobject> j_rec(jniEnv, NativeRecordWithDerivings::toJava(jniEnv, c.rec));
const NativeRecordWithNestedDerivings & data = djinni::JniClass<NativeRecordWithNestedDerivings>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeRecordWithNestedDerivings>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_key, j_rec.get());
djinni::jniExceptionCheck(jniEnv);
return r;
......@@ -18,7 +18,7 @@ jobject NativeRecordWithNestedDerivings::toJava(JNIEnv* jniEnv, RecordWithNested
RecordWithNestedDerivings NativeRecordWithNestedDerivings::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr);
const NativeRecordWithNestedDerivings & data = djinni::JniClass<NativeRecordWithNestedDerivings>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeRecordWithNestedDerivings>::get();
return RecordWithNestedDerivings(
::djinni::HI32::Unboxed::fromJava(jniEnv, jniEnv->GetIntField(j, data.field_mKey)),
NativeRecordWithDerivings::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mRec)).get()));
......
......@@ -23,7 +23,7 @@ public:
private:
NativeRecordWithNestedDerivings() {}
friend class djinni::JniClass<NativeRecordWithNestedDerivings>;
friend class djinni::JniClass<::djinni_generated::NativeRecordWithNestedDerivings>;
};
} // namespace djinni_generated
......@@ -9,7 +9,7 @@ namespace djinni_generated {
jobject NativeSetRecord::toJava(JNIEnv* jniEnv, SetRecord c) {
djinni::LocalRef<jobject> j_set(jniEnv, ::djinni::HSet<::djinni::HString>::toJava(jniEnv, c.set));
const NativeSetRecord & data = djinni::JniClass<NativeSetRecord>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeSetRecord>::get();
jobject r = jniEnv->NewObject(data.clazz.get(), data.jconstructor, j_set.get());
djinni::jniExceptionCheck(jniEnv);
return r;
......@@ -17,7 +17,7 @@ jobject NativeSetRecord::toJava(JNIEnv* jniEnv, SetRecord c) {
SetRecord NativeSetRecord::fromJava(JNIEnv* jniEnv, jobject j) {
assert(j != nullptr);
const NativeSetRecord & data = djinni::JniClass<NativeSetRecord>::get();
const auto & data = djinni::JniClass<::djinni_generated::NativeSetRecord>::get();
return SetRecord(
::djinni::HSet<::djinni::HString>::fromJava(jniEnv, djinni::LocalRef<jobject>(jniEnv, jniEnv->GetObjectField(j, data.field_mSet)).get()));
}
......
......@@ -22,7 +22,7 @@ public:
private:
NativeSetRecord() {}
friend class djinni::JniClass<NativeSetRecord>;
friend class djinni::JniClass<::djinni_generated::NativeSetRecord>;
};
} // namespace djinni_generated
......@@ -13,13 +13,13 @@ public:
using CppType = std::shared_ptr<TestHelpers>;
using JniType = jobject;
static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<TestHelpers> c) { return djinni::JniClass<NativeTestHelpers>::get()._toJava(jniEnv, c); }
static std::shared_ptr<TestHelpers> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<NativeTestHelpers>::get()._fromJava(jniEnv, j); }
static jobject toJava(JNIEnv* jniEnv, std::shared_ptr<TestHelpers> c) { return djinni::JniClass<::djinni_generated::NativeTestHelpers>::get()._toJava(jniEnv, c); }
static std::shared_ptr<TestHelpers> fromJava(JNIEnv* jniEnv, jobject j) { return djinni::JniClass<::djinni_generated::NativeTestHelpers>::get()._fromJava(jniEnv, j); }
private:
NativeTestHelpers();
friend class djinni::JniClass<NativeTestHelpers>;
friend class djinni::JniClass<::djinni_generated::NativeTestHelpers>;
};
} // namespace djinni_generated
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