Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
djinni
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
djinni
Commits
1af60e92
Commit
1af60e92
authored
Jul 02, 2015
by
Miro Knejp
Committed by
Jacob Potter
Jul 10, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix unreliable code generation around JNI LocalRef unpacking
fixes #107
parent
d83a1e7c
Changes
40
Show whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
151 additions
and
92 deletions
+151
-92
example/generated-src/jni/NativeItemList.cpp
example/generated-src/jni/NativeItemList.cpp
+1
-1
example/generated-src/jni/NativeSortItems.cpp
example/generated-src/jni/NativeSortItems.cpp
+1
-1
example/generated-src/jni/NativeTextboxListener.cpp
example/generated-src/jni/NativeTextboxListener.cpp
+1
-1
src/source/JNIGenerator.scala
src/source/JNIGenerator.scala
+5
-5
support-lib/jni/Marshal.hpp
support-lib/jni/Marshal.hpp
+3
-3
support-lib/jni/djinni_support.hpp
support-lib/jni/djinni_support.hpp
+12
-0
test-suite/djinni/map.djinni
test-suite/djinni/map.djinni
+1
-0
test-suite/djinni/set.djinni
test-suite/djinni/set.djinni
+1
-0
test-suite/generated-src/cpp/map_record.hpp
test-suite/generated-src/cpp/map_record.hpp
+4
-1
test-suite/generated-src/cpp/set_record.hpp
test-suite/generated-src/cpp/set_record.hpp
+5
-1
test-suite/generated-src/java/com/dropbox/djinni/test/MapRecord.java
...generated-src/java/com/dropbox/djinni/test/MapRecord.java
+10
-1
test-suite/generated-src/java/com/dropbox/djinni/test/SetRecord.java
...generated-src/java/com/dropbox/djinni/test/SetRecord.java
+10
-1
test-suite/generated-src/jni/NativeAssortedPrimitives.cpp
test-suite/generated-src/jni/NativeAssortedPrimitives.cpp
+14
-14
test-suite/generated-src/jni/NativeClientInterface.cpp
test-suite/generated-src/jni/NativeClientInterface.cpp
+3
-3
test-suite/generated-src/jni/NativeClientReturnedRecord.cpp
test-suite/generated-src/jni/NativeClientReturnedRecord.cpp
+3
-3
test-suite/generated-src/jni/NativeConstants.cpp
test-suite/generated-src/jni/NativeConstants.cpp
+2
-2
test-suite/generated-src/jni/NativeCppException.cpp
test-suite/generated-src/jni/NativeCppException.cpp
+2
-2
test-suite/generated-src/jni/NativeDateRecord.cpp
test-suite/generated-src/jni/NativeDateRecord.cpp
+1
-1
test-suite/generated-src/jni/NativeMapDateRecord.cpp
test-suite/generated-src/jni/NativeMapDateRecord.cpp
+1
-1
test-suite/generated-src/jni/NativeMapListRecord.cpp
test-suite/generated-src/jni/NativeMapListRecord.cpp
+1
-1
test-suite/generated-src/jni/NativeMapRecord.cpp
test-suite/generated-src/jni/NativeMapRecord.cpp
+5
-3
test-suite/generated-src/jni/NativeMapRecord.hpp
test-suite/generated-src/jni/NativeMapRecord.hpp
+2
-1
test-suite/generated-src/jni/NativeNestedCollection.cpp
test-suite/generated-src/jni/NativeNestedCollection.cpp
+1
-1
test-suite/generated-src/jni/NativePrimitiveList.cpp
test-suite/generated-src/jni/NativePrimitiveList.cpp
+1
-1
test-suite/generated-src/jni/NativeRecordWithDerivings.cpp
test-suite/generated-src/jni/NativeRecordWithDerivings.cpp
+2
-2
test-suite/generated-src/jni/NativeRecordWithNestedDerivings.cpp
...ite/generated-src/jni/NativeRecordWithNestedDerivings.cpp
+2
-2
test-suite/generated-src/jni/NativeSetRecord.cpp
test-suite/generated-src/jni/NativeSetRecord.cpp
+5
-3
test-suite/generated-src/jni/NativeSetRecord.hpp
test-suite/generated-src/jni/NativeSetRecord.hpp
+2
-1
test-suite/generated-src/jni/NativeTestHelpers.cpp
test-suite/generated-src/jni/NativeTestHelpers.cpp
+18
-18
test-suite/generated-src/jni/NativeToken.cpp
test-suite/generated-src/jni/NativeToken.cpp
+1
-1
test-suite/generated-src/objc/DBMapRecord+Private.mm
test-suite/generated-src/objc/DBMapRecord+Private.mm
+4
-2
test-suite/generated-src/objc/DBMapRecord.h
test-suite/generated-src/objc/DBMapRecord.h
+4
-1
test-suite/generated-src/objc/DBMapRecord.mm
test-suite/generated-src/objc/DBMapRecord.mm
+2
-0
test-suite/generated-src/objc/DBSetRecord+Private.mm
test-suite/generated-src/objc/DBSetRecord+Private.mm
+4
-2
test-suite/generated-src/objc/DBSetRecord.h
test-suite/generated-src/objc/DBSetRecord.h
+4
-1
test-suite/generated-src/objc/DBSetRecord.mm
test-suite/generated-src/objc/DBSetRecord.mm
+2
-0
test-suite/handwritten-src/cpp/test_helpers.cpp
test-suite/handwritten-src/cpp/test_helpers.cpp
+1
-1
test-suite/handwritten-src/java/com/dropbox/djinni/test/SetRecordTest.java
...itten-src/java/com/dropbox/djinni/test/SetRecordTest.java
+2
-1
test-suite/handwritten-src/objc/tests/DBMapRecordTests.mm
test-suite/handwritten-src/objc/tests/DBMapRecordTests.mm
+6
-7
test-suite/handwritten-src/objc/tests/DBSetRecordTests.mm
test-suite/handwritten-src/objc/tests/DBSetRecordTests.mm
+2
-2
No files found.
example/generated-src/jni/NativeItemList.cpp
View file @
1af60e92
...
@@ -13,7 +13,7 @@ NativeItemList::~NativeItemList() = default;
...
@@ -13,7 +13,7 @@ NativeItemList::~NativeItemList() = default;
auto
NativeItemList
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeItemList
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeItemList
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeItemList
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
List
<::
djinni
::
String
>::
fromCpp
(
jniEnv
,
c
.
items
).
get
(
))};
::
djinni
::
get
(
::
djinni
::
List
<::
djinni
::
String
>::
fromCpp
(
jniEnv
,
c
.
items
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
example/generated-src/jni/NativeSortItems.cpp
View file @
1af60e92
...
@@ -37,7 +37,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_textsort_SortItems_createWithListene
...
@@ -37,7 +37,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_textsort_SortItems_createWithListene
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
textsort
::
SortItems
::
create_with_listener
(
::
djinni_generated
::
NativeTextboxListener
::
toCpp
(
jniEnv
,
j_listener
));
auto
r
=
::
textsort
::
SortItems
::
create_with_listener
(
::
djinni_generated
::
NativeTextboxListener
::
toCpp
(
jniEnv
,
j_listener
));
return
::
djinni
_generated
::
NativeSortItems
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni_generated
::
NativeSortItems
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
...
example/generated-src/jni/NativeTextboxListener.cpp
View file @
1af60e92
...
@@ -19,7 +19,7 @@ void NativeTextboxListener::JavaProxy::update(const ::textsort::ItemList & items
...
@@ -19,7 +19,7 @@ void NativeTextboxListener::JavaProxy::update(const ::textsort::ItemList & items
::
djinni
::
JniLocalScope
jscope
(
jniEnv
,
10
);
::
djinni
::
JniLocalScope
jscope
(
jniEnv
,
10
);
const
auto
&
data
=
::
djinni
::
JniClass
<::
djinni_generated
::
NativeTextboxListener
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<::
djinni_generated
::
NativeTextboxListener
>::
get
();
jniEnv
->
CallVoidMethod
(
getGlobalRef
(),
data
.
method_update
,
jniEnv
->
CallVoidMethod
(
getGlobalRef
(),
data
.
method_update
,
::
djinni
_generated
::
NativeItemList
::
fromCpp
(
jniEnv
,
items
).
get
(
));
::
djinni
::
get
(
::
djinni_generated
::
NativeItemList
::
fromCpp
(
jniEnv
,
items
)
));
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
}
}
...
...
src/source/JNIGenerator.scala
View file @
1af60e92
...
@@ -135,8 +135,8 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
...
@@ -135,8 +135,8 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w
.
wl
(
","
)
w
.
wl
(
","
)
writeAlignedCall
(
w
,
" "
*
call
.
length
(),
r
.
fields
,
")}"
,
f
=>
{
writeAlignedCall
(
w
,
" "
*
call
.
length
(),
r
.
fields
,
")}"
,
f
=>
{
val
name
=
idCpp
.
field
(
f
.
ident
)
val
name
=
idCpp
.
field
(
f
.
ident
)
val
get
=
if
(
jniMarshal
.
isJavaHeapObject
(
f
.
ty
))
".get()"
else
""
val
param
=
jniMarshal
.
fromCpp
(
f
.
ty
,
s
"c.$name"
)
jniMarshal
.
fromCpp
(
f
.
ty
,
s
"c.$name"
)
+
get
s
"::djinni::get($param)"
})
})
}
}
else
else
...
@@ -261,8 +261,8 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
...
@@ -261,8 +261,8 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
if
(!
m
.
params
.
isEmpty
){
if
(!
m
.
params
.
isEmpty
){
w
.
wl
(
","
)
w
.
wl
(
","
)
writeAlignedCall
(
w
,
" "
*
call
.
length
(),
m
.
params
,
")"
,
p
=>
{
writeAlignedCall
(
w
,
" "
*
call
.
length
(),
m
.
params
,
")"
,
p
=>
{
val
get
=
if
(
jniMarshal
.
isJavaHeapObject
(
p
.
ty
))
".get()"
else
""
val
param
=
jniMarshal
.
fromCpp
(
p
.
ty
,
idCpp
.
local
(
p
.
ident
))
jniMarshal
.
fromCpp
(
p
.
ty
,
idCpp
.
local
(
p
.
ident
))
+
get
s
"::djinni::get($param)"
})
})
}
}
else
else
...
@@ -315,7 +315,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
...
@@ -315,7 +315,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
val
call
=
if
(
m
.
static
)
s
"$cppSelf::$methodName("
else
s
"ref->$methodName("
val
call
=
if
(
m
.
static
)
s
"$cppSelf::$methodName("
else
s
"ref->$methodName("
writeAlignedCall
(
w
,
ret
+
call
,
m
.
params
,
")"
,
p
=>
jniMarshal
.
toCpp
(
p
.
ty
,
"j_"
+
idJava
.
local
(
p
.
ident
)))
writeAlignedCall
(
w
,
ret
+
call
,
m
.
params
,
")"
,
p
=>
jniMarshal
.
toCpp
(
p
.
ty
,
"j_"
+
idJava
.
local
(
p
.
ident
)))
w
.
wl
(
";"
)
w
.
wl
(
";"
)
m
.
ret
.
fold
()(
r
=>
w
.
wl
(
s
"return
${jniMarshal.fromCpp(r, "
r
")}"
+
(
if
(
jniMarshal
.
isJavaHeapObject
(
r
))
".release();"
else
";"
)
))
m
.
ret
.
fold
()(
r
=>
w
.
wl
(
s
"return
::djinni::release(${jniMarshal.fromCpp(r, "
r
")});"
))
})
})
}
}
}
}
...
...
support-lib/jni/Marshal.hpp
View file @
1af60e92
...
@@ -312,7 +312,7 @@ namespace djinni
...
@@ -312,7 +312,7 @@ namespace djinni
for
(
const
auto
&
ce
:
c
)
for
(
const
auto
&
ce
:
c
)
{
{
auto
je
=
T
::
Boxed
::
fromCpp
(
jniEnv
,
ce
);
auto
je
=
T
::
Boxed
::
fromCpp
(
jniEnv
,
ce
);
jniEnv
->
CallBooleanMethod
(
j
,
data
.
method_add
,
je
.
get
(
));
jniEnv
->
CallBooleanMethod
(
j
,
data
.
method_add
,
get
(
je
));
jniExceptionCheck
(
jniEnv
);
jniExceptionCheck
(
jniEnv
);
}
}
return
j
;
return
j
;
...
@@ -373,7 +373,7 @@ namespace djinni
...
@@ -373,7 +373,7 @@ namespace djinni
for
(
const
auto
&
ce
:
c
)
for
(
const
auto
&
ce
:
c
)
{
{
auto
je
=
T
::
fromCpp
(
jniEnv
,
ce
);
auto
je
=
T
::
fromCpp
(
jniEnv
,
ce
);
jniEnv
->
CallBooleanMethod
(
j
,
data
.
method_add
,
je
.
get
(
));
jniEnv
->
CallBooleanMethod
(
j
,
data
.
method_add
,
get
(
je
));
jniExceptionCheck
(
jniEnv
);
jniExceptionCheck
(
jniEnv
);
}
}
return
j
;
return
j
;
...
@@ -452,7 +452,7 @@ namespace djinni
...
@@ -452,7 +452,7 @@ namespace djinni
{
{
auto
jKey
=
Key
::
Boxed
::
fromCpp
(
jniEnv
,
ce
.
first
);
auto
jKey
=
Key
::
Boxed
::
fromCpp
(
jniEnv
,
ce
.
first
);
auto
jValue
=
Value
::
Boxed
::
fromCpp
(
jniEnv
,
ce
.
second
);
auto
jValue
=
Value
::
Boxed
::
fromCpp
(
jniEnv
,
ce
.
second
);
jniEnv
->
CallObjectMethod
(
j
,
data
.
method_put
,
jKey
.
get
(),
jValue
.
get
(
));
jniEnv
->
CallObjectMethod
(
j
,
data
.
method_put
,
get
(
jKey
),
get
(
jValue
));
jniExceptionCheck
(
jniEnv
);
jniExceptionCheck
(
jniEnv
);
}
}
return
j
;
return
j
;
...
...
support-lib/jni/djinni_support.hpp
View file @
1af60e92
...
@@ -98,6 +98,18 @@ public:
...
@@ -98,6 +98,18 @@ public:
operator
PointerType
()
&&
=
delete
;
operator
PointerType
()
&&
=
delete
;
};
};
template
<
class
T
>
const
T
&
get
(
const
T
&
x
)
noexcept
{
return
x
;
}
template
<
class
T
>
typename
LocalRef
<
T
>::
pointer
get
(
const
LocalRef
<
T
>&
x
)
noexcept
{
return
x
.
get
();
}
template
<
class
T
>
const
T
&
release
(
const
T
&
x
)
noexcept
{
return
x
;
}
template
<
class
T
>
typename
LocalRef
<
T
>::
pointer
release
(
LocalRef
<
T
>&
x
)
noexcept
{
return
x
.
release
();
}
template
<
class
T
>
typename
LocalRef
<
T
>::
pointer
release
(
LocalRef
<
T
>&&
x
)
noexcept
{
return
x
.
release
();
}
/*
/*
* Exception to indicate that a Java exception is pending in the JVM.
* Exception to indicate that a Java exception is pending in the JVM.
*/
*/
...
...
test-suite/djinni/map.djinni
View file @
1af60e92
map_record = record {
map_record = record {
map: map<string, i64>;
map: map<string, i64>;
imap: map<i32, i32>;
}
}
map_list_record = record {
map_list_record = record {
...
...
test-suite/djinni/set.djinni
View file @
1af60e92
set_record = record {
set_record = record {
set: set<string>;
set: set<string>;
iset: set<i32>;
}
}
test-suite/generated-src/cpp/map_record.hpp
View file @
1af60e92
...
@@ -10,8 +10,11 @@
...
@@ -10,8 +10,11 @@
struct
MapRecord
final
{
struct
MapRecord
final
{
std
::
unordered_map
<
std
::
string
,
int64_t
>
map
;
std
::
unordered_map
<
std
::
string
,
int64_t
>
map
;
std
::
unordered_map
<
int32_t
,
int32_t
>
imap
;
MapRecord
(
std
::
unordered_map
<
std
::
string
,
int64_t
>
map
)
MapRecord
(
std
::
unordered_map
<
std
::
string
,
int64_t
>
map
,
std
::
unordered_map
<
int32_t
,
int32_t
>
imap
)
:
map
(
std
::
move
(
map
))
:
map
(
std
::
move
(
map
))
,
imap
(
std
::
move
(
imap
))
{}
{}
};
};
test-suite/generated-src/cpp/set_record.hpp
View file @
1af60e92
...
@@ -3,14 +3,18 @@
...
@@ -3,14 +3,18 @@
#pragma once
#pragma once
#include <cstdint>
#include <string>
#include <string>
#include <unordered_set>
#include <unordered_set>
#include <utility>
#include <utility>
struct
SetRecord
final
{
struct
SetRecord
final
{
std
::
unordered_set
<
std
::
string
>
set
;
std
::
unordered_set
<
std
::
string
>
set
;
std
::
unordered_set
<
int32_t
>
iset
;
SetRecord
(
std
::
unordered_set
<
std
::
string
>
set
)
SetRecord
(
std
::
unordered_set
<
std
::
string
>
set
,
std
::
unordered_set
<
int32_t
>
iset
)
:
set
(
std
::
move
(
set
))
:
set
(
std
::
move
(
set
))
,
iset
(
std
::
move
(
iset
))
{}
{}
};
};
test-suite/generated-src/java/com/dropbox/djinni/test/MapRecord.java
View file @
1af60e92
...
@@ -12,13 +12,22 @@ public final class MapRecord {
...
@@ -12,13 +12,22 @@ public final class MapRecord {
/*package*/
final
HashMap
<
String
,
Long
>
mMap
;
/*package*/
final
HashMap
<
String
,
Long
>
mMap
;
/*package*/
final
HashMap
<
Integer
,
Integer
>
mImap
;
public
MapRecord
(
public
MapRecord
(
@Nonnull
HashMap
<
String
,
Long
>
map
)
{
@Nonnull
HashMap
<
String
,
Long
>
map
,
@Nonnull
HashMap
<
Integer
,
Integer
>
imap
)
{
this
.
mMap
=
map
;
this
.
mMap
=
map
;
this
.
mImap
=
imap
;
}
}
@Nonnull
@Nonnull
public
HashMap
<
String
,
Long
>
getMap
()
{
public
HashMap
<
String
,
Long
>
getMap
()
{
return
mMap
;
return
mMap
;
}
}
@Nonnull
public
HashMap
<
Integer
,
Integer
>
getImap
()
{
return
mImap
;
}
}
}
test-suite/generated-src/java/com/dropbox/djinni/test/SetRecord.java
View file @
1af60e92
...
@@ -12,13 +12,22 @@ public final class SetRecord {
...
@@ -12,13 +12,22 @@ public final class SetRecord {
/*package*/
final
HashSet
<
String
>
mSet
;
/*package*/
final
HashSet
<
String
>
mSet
;
/*package*/
final
HashSet
<
Integer
>
mIset
;
public
SetRecord
(
public
SetRecord
(
@Nonnull
HashSet
<
String
>
set
)
{
@Nonnull
HashSet
<
String
>
set
,
@Nonnull
HashSet
<
Integer
>
iset
)
{
this
.
mSet
=
set
;
this
.
mSet
=
set
;
this
.
mIset
=
iset
;
}
}
@Nonnull
@Nonnull
public
HashSet
<
String
>
getSet
()
{
public
HashSet
<
String
>
getSet
()
{
return
mSet
;
return
mSet
;
}
}
@Nonnull
public
HashSet
<
Integer
>
getIset
()
{
return
mIset
;
}
}
}
test-suite/generated-src/jni/NativeAssortedPrimitives.cpp
View file @
1af60e92
...
@@ -13,20 +13,20 @@ NativeAssortedPrimitives::~NativeAssortedPrimitives() = default;
...
@@ -13,20 +13,20 @@ NativeAssortedPrimitives::~NativeAssortedPrimitives() = default;
auto
NativeAssortedPrimitives
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeAssortedPrimitives
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeAssortedPrimitives
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeAssortedPrimitives
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
c
.
b
),
::
djinni
::
get
(
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
c
.
b
)
),
::
djinni
::
I8
::
fromCpp
(
jniEnv
,
c
.
eight
),
::
djinni
::
get
(
::
djinni
::
I8
::
fromCpp
(
jniEnv
,
c
.
eight
)
),
::
djinni
::
I16
::
fromCpp
(
jniEnv
,
c
.
sixteen
),
::
djinni
::
get
(
::
djinni
::
I16
::
fromCpp
(
jniEnv
,
c
.
sixteen
)
),
::
djinni
::
I32
::
fromCpp
(
jniEnv
,
c
.
thirtytwo
),
::
djinni
::
get
(
::
djinni
::
I32
::
fromCpp
(
jniEnv
,
c
.
thirtytwo
)
),
::
djinni
::
I64
::
fromCpp
(
jniEnv
,
c
.
sixtyfour
),
::
djinni
::
get
(
::
djinni
::
I64
::
fromCpp
(
jniEnv
,
c
.
sixtyfour
)
),
::
djinni
::
F32
::
fromCpp
(
jniEnv
,
c
.
fthirtytwo
),
::
djinni
::
get
(
::
djinni
::
F32
::
fromCpp
(
jniEnv
,
c
.
fthirtytwo
)
),
::
djinni
::
F64
::
fromCpp
(
jniEnv
,
c
.
fsixtyfour
),
::
djinni
::
get
(
::
djinni
::
F64
::
fromCpp
(
jniEnv
,
c
.
fsixtyfour
)
),
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
Bool
>::
fromCpp
(
jniEnv
,
c
.
o_b
).
get
(
),
::
djinni
::
get
(
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
Bool
>::
fromCpp
(
jniEnv
,
c
.
o_b
)
),
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
I8
>::
fromCpp
(
jniEnv
,
c
.
o_eight
).
get
(
),
::
djinni
::
get
(
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
I8
>::
fromCpp
(
jniEnv
,
c
.
o_eight
)
),
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
I16
>::
fromCpp
(
jniEnv
,
c
.
o_sixteen
).
get
(
),
::
djinni
::
get
(
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
I16
>::
fromCpp
(
jniEnv
,
c
.
o_sixteen
)
),
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
I32
>::
fromCpp
(
jniEnv
,
c
.
o_thirtytwo
).
get
(
),
::
djinni
::
get
(
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
I32
>::
fromCpp
(
jniEnv
,
c
.
o_thirtytwo
)
),
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
I64
>::
fromCpp
(
jniEnv
,
c
.
o_sixtyfour
).
get
(
),
::
djinni
::
get
(
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
I64
>::
fromCpp
(
jniEnv
,
c
.
o_sixtyfour
)
),
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
F32
>::
fromCpp
(
jniEnv
,
c
.
o_fthirtytwo
).
get
(
),
::
djinni
::
get
(
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
F32
>::
fromCpp
(
jniEnv
,
c
.
o_fthirtytwo
)
),
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
F64
>::
fromCpp
(
jniEnv
,
c
.
o_fsixtyfour
).
get
(
))};
::
djinni
::
get
(
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
F64
>::
fromCpp
(
jniEnv
,
c
.
o_fsixtyfour
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
test-suite/generated-src/jni/NativeClientInterface.cpp
View file @
1af60e92
...
@@ -20,9 +20,9 @@ NativeClientInterface::JavaProxy::~JavaProxy() = default;
...
@@ -20,9 +20,9 @@ NativeClientInterface::JavaProxy::~JavaProxy() = default;
::
djinni
::
JniLocalScope
jscope
(
jniEnv
,
10
);
::
djinni
::
JniLocalScope
jscope
(
jniEnv
,
10
);
const
auto
&
data
=
::
djinni
::
JniClass
<::
djinni_generated
::
NativeClientInterface
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<::
djinni_generated
::
NativeClientInterface
>::
get
();
auto
jret
=
jniEnv
->
CallObjectMethod
(
getGlobalRef
(),
data
.
method_getRecord
,
auto
jret
=
jniEnv
->
CallObjectMethod
(
getGlobalRef
(),
data
.
method_getRecord
,
::
djinni
::
I64
::
fromCpp
(
jniEnv
,
record_id
),
::
djinni
::
get
(
::
djinni
::
I64
::
fromCpp
(
jniEnv
,
record_id
)
),
::
djinni
::
String
::
fromCpp
(
jniEnv
,
utf8string
).
get
(
),
::
djinni
::
get
(
::
djinni
::
String
::
fromCpp
(
jniEnv
,
utf8string
)
),
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
String
>::
fromCpp
(
jniEnv
,
misc
).
get
(
));
::
djinni
::
get
(
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
String
>::
fromCpp
(
jniEnv
,
misc
)
));
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
::
djinni_generated
::
NativeClientReturnedRecord
::
toCpp
(
jniEnv
,
jret
);
return
::
djinni_generated
::
NativeClientReturnedRecord
::
toCpp
(
jniEnv
,
jret
);
}
}
...
...
test-suite/generated-src/jni/NativeClientReturnedRecord.cpp
View file @
1af60e92
...
@@ -13,9 +13,9 @@ NativeClientReturnedRecord::~NativeClientReturnedRecord() = default;
...
@@ -13,9 +13,9 @@ NativeClientReturnedRecord::~NativeClientReturnedRecord() = default;
auto
NativeClientReturnedRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeClientReturnedRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeClientReturnedRecord
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeClientReturnedRecord
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
I64
::
fromCpp
(
jniEnv
,
c
.
record_id
),
::
djinni
::
get
(
::
djinni
::
I64
::
fromCpp
(
jniEnv
,
c
.
record_id
)
),
::
djinni
::
String
::
fromCpp
(
jniEnv
,
c
.
content
).
get
(
),
::
djinni
::
get
(
::
djinni
::
String
::
fromCpp
(
jniEnv
,
c
.
content
)
),
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
String
>::
fromCpp
(
jniEnv
,
c
.
misc
).
get
(
))};
::
djinni
::
get
(
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
String
>::
fromCpp
(
jniEnv
,
c
.
misc
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
test-suite/generated-src/jni/NativeConstants.cpp
View file @
1af60e92
...
@@ -13,8 +13,8 @@ NativeConstants::~NativeConstants() = default;
...
@@ -13,8 +13,8 @@ NativeConstants::~NativeConstants() = default;
auto
NativeConstants
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeConstants
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeConstants
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeConstants
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
I32
::
fromCpp
(
jniEnv
,
c
.
some_integer
),
::
djinni
::
get
(
::
djinni
::
I32
::
fromCpp
(
jniEnv
,
c
.
some_integer
)
),
::
djinni
::
String
::
fromCpp
(
jniEnv
,
c
.
some_string
).
get
(
))};
::
djinni
::
get
(
::
djinni
::
String
::
fromCpp
(
jniEnv
,
c
.
some_string
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
test-suite/generated-src/jni/NativeCppException.cpp
View file @
1af60e92
...
@@ -26,7 +26,7 @@ CJNIEXPORT jint JNICALL Java_com_dropbox_djinni_test_CppException_00024CppProxy_
...
@@ -26,7 +26,7 @@ CJNIEXPORT jint JNICALL Java_com_dropbox_djinni_test_CppException_00024CppProxy_
DJINNI_FUNCTION_PROLOGUE1
(
jniEnv
,
nativeRef
);
DJINNI_FUNCTION_PROLOGUE1
(
jniEnv
,
nativeRef
);
const
auto
&
ref
=
::
djinni
::
CppProxyHandle
<::
CppException
>::
get
(
nativeRef
);
const
auto
&
ref
=
::
djinni
::
CppProxyHandle
<::
CppException
>::
get
(
nativeRef
);
auto
r
=
ref
->
throw_an_exception
();
auto
r
=
ref
->
throw_an_exception
();
return
::
djinni
::
I32
::
fromCpp
(
jniEnv
,
r
);
return
::
djinni
::
release
(
::
djinni
::
I32
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -35,7 +35,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_CppException_get(JNIEnv*
...
@@ -35,7 +35,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_CppException_get(JNIEnv*
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
CppException
::
get
();
auto
r
=
::
CppException
::
get
();
return
::
djinni
_generated
::
NativeCppException
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni_generated
::
NativeCppException
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
...
test-suite/generated-src/jni/NativeDateRecord.cpp
View file @
1af60e92
...
@@ -13,7 +13,7 @@ NativeDateRecord::~NativeDateRecord() = default;
...
@@ -13,7 +13,7 @@ NativeDateRecord::~NativeDateRecord() = default;
auto
NativeDateRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeDateRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeDateRecord
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeDateRecord
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
Date
::
fromCpp
(
jniEnv
,
c
.
created_at
).
get
(
))};
::
djinni
::
get
(
::
djinni
::
Date
::
fromCpp
(
jniEnv
,
c
.
created_at
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
test-suite/generated-src/jni/NativeMapDateRecord.cpp
View file @
1af60e92
...
@@ -13,7 +13,7 @@ NativeMapDateRecord::~NativeMapDateRecord() = default;
...
@@ -13,7 +13,7 @@ NativeMapDateRecord::~NativeMapDateRecord() = default;
auto
NativeMapDateRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeMapDateRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeMapDateRecord
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeMapDateRecord
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
Date
>::
fromCpp
(
jniEnv
,
c
.
dates_by_id
).
get
(
))};
::
djinni
::
get
(
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
Date
>::
fromCpp
(
jniEnv
,
c
.
dates_by_id
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
test-suite/generated-src/jni/NativeMapListRecord.cpp
View file @
1af60e92
...
@@ -13,7 +13,7 @@ NativeMapListRecord::~NativeMapListRecord() = default;
...
@@ -13,7 +13,7 @@ NativeMapListRecord::~NativeMapListRecord() = default;
auto
NativeMapListRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeMapListRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeMapListRecord
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeMapListRecord
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
List
<::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>>::
fromCpp
(
jniEnv
,
c
.
map_list
).
get
(
))};
::
djinni
::
get
(
::
djinni
::
List
<::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>>::
fromCpp
(
jniEnv
,
c
.
map_list
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
test-suite/generated-src/jni/NativeMapRecord.cpp
View file @
1af60e92
...
@@ -13,16 +13,18 @@ NativeMapRecord::~NativeMapRecord() = default;
...
@@ -13,16 +13,18 @@ NativeMapRecord::~NativeMapRecord() = default;
auto
NativeMapRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeMapRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeMapRecord
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeMapRecord
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
fromCpp
(
jniEnv
,
c
.
map
).
get
())};
::
djinni
::
get
(
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
fromCpp
(
jniEnv
,
c
.
map
)),
::
djinni
::
get
(
::
djinni
::
Map
<::
djinni
::
I32
,
::
djinni
::
I32
>::
fromCpp
(
jniEnv
,
c
.
imap
)))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
auto
NativeMapRecord
::
toCpp
(
JNIEnv
*
jniEnv
,
JniType
j
)
->
CppType
{
auto
NativeMapRecord
::
toCpp
(
JNIEnv
*
jniEnv
,
JniType
j
)
->
CppType
{
::
djinni
::
JniLocalScope
jscope
(
jniEnv
,
2
);
::
djinni
::
JniLocalScope
jscope
(
jniEnv
,
3
);
assert
(
j
!=
nullptr
);
assert
(
j
!=
nullptr
);
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeMapRecord
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeMapRecord
>::
get
();
return
{
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
toCpp
(
jniEnv
,
jniEnv
->
GetObjectField
(
j
,
data
.
field_mMap
))};
return
{
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
toCpp
(
jniEnv
,
jniEnv
->
GetObjectField
(
j
,
data
.
field_mMap
)),
::
djinni
::
Map
<::
djinni
::
I32
,
::
djinni
::
I32
>::
toCpp
(
jniEnv
,
jniEnv
->
GetObjectField
(
j
,
data
.
field_mImap
))};
}
}
}
// namespace djinni_generated
}
// namespace djinni_generated
test-suite/generated-src/jni/NativeMapRecord.hpp
View file @
1af60e92
...
@@ -25,8 +25,9 @@ private:
...
@@ -25,8 +25,9 @@ private:
friend
::
djinni
::
JniClass
<
NativeMapRecord
>
;
friend
::
djinni
::
JniClass
<
NativeMapRecord
>
;
const
::
djinni
::
GlobalRef
<
jclass
>
clazz
{
::
djinni
::
jniFindClass
(
"com/dropbox/djinni/test/MapRecord"
)
};
const
::
djinni
::
GlobalRef
<
jclass
>
clazz
{
::
djinni
::
jniFindClass
(
"com/dropbox/djinni/test/MapRecord"
)
};
const
jmethodID
jconstructor
{
::
djinni
::
jniGetMethodID
(
clazz
.
get
(),
"<init>"
,
"(Ljava/util/HashMap;)V"
)
};
const
jmethodID
jconstructor
{
::
djinni
::
jniGetMethodID
(
clazz
.
get
(),
"<init>"
,
"(Ljava/util/HashMap;
Ljava/util/HashMap;
)V"
)
};
const
jfieldID
field_mMap
{
::
djinni
::
jniGetFieldID
(
clazz
.
get
(),
"mMap"
,
"Ljava/util/HashMap;"
)
};
const
jfieldID
field_mMap
{
::
djinni
::
jniGetFieldID
(
clazz
.
get
(),
"mMap"
,
"Ljava/util/HashMap;"
)
};
const
jfieldID
field_mImap
{
::
djinni
::
jniGetFieldID
(
clazz
.
get
(),
"mImap"
,
"Ljava/util/HashMap;"
)
};
};
};
}
// namespace djinni_generated
}
// namespace djinni_generated
test-suite/generated-src/jni/NativeNestedCollection.cpp
View file @
1af60e92
...
@@ -13,7 +13,7 @@ NativeNestedCollection::~NativeNestedCollection() = default;
...
@@ -13,7 +13,7 @@ NativeNestedCollection::~NativeNestedCollection() = default;
auto
NativeNestedCollection
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeNestedCollection
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeNestedCollection
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeNestedCollection
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
List
<::
djinni
::
Set
<::
djinni
::
String
>>::
fromCpp
(
jniEnv
,
c
.
set_list
).
get
(
))};
::
djinni
::
get
(
::
djinni
::
List
<::
djinni
::
Set
<::
djinni
::
String
>>::
fromCpp
(
jniEnv
,
c
.
set_list
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
test-suite/generated-src/jni/NativePrimitiveList.cpp
View file @
1af60e92
...
@@ -13,7 +13,7 @@ NativePrimitiveList::~NativePrimitiveList() = default;
...
@@ -13,7 +13,7 @@ NativePrimitiveList::~NativePrimitiveList() = default;
auto
NativePrimitiveList
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativePrimitiveList
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativePrimitiveList
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativePrimitiveList
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
List
<::
djinni
::
I64
>::
fromCpp
(
jniEnv
,
c
.
list
).
get
(
))};
::
djinni
::
get
(
::
djinni
::
List
<::
djinni
::
I64
>::
fromCpp
(
jniEnv
,
c
.
list
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
test-suite/generated-src/jni/NativeRecordWithDerivings.cpp
View file @
1af60e92
...
@@ -13,8 +13,8 @@ NativeRecordWithDerivings::~NativeRecordWithDerivings() = default;
...
@@ -13,8 +13,8 @@ NativeRecordWithDerivings::~NativeRecordWithDerivings() = default;
auto
NativeRecordWithDerivings
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeRecordWithDerivings
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeRecordWithDerivings
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeRecordWithDerivings
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
I32
::
fromCpp
(
jniEnv
,
c
.
key1
),
::
djinni
::
get
(
::
djinni
::
I32
::
fromCpp
(
jniEnv
,
c
.
key1
)
),
::
djinni
::
String
::
fromCpp
(
jniEnv
,
c
.
key2
).
get
(
))};
::
djinni
::
get
(
::
djinni
::
String
::
fromCpp
(
jniEnv
,
c
.
key2
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
test-suite/generated-src/jni/NativeRecordWithNestedDerivings.cpp
View file @
1af60e92
...
@@ -14,8 +14,8 @@ NativeRecordWithNestedDerivings::~NativeRecordWithNestedDerivings() = default;
...
@@ -14,8 +14,8 @@ NativeRecordWithNestedDerivings::~NativeRecordWithNestedDerivings() = default;
auto
NativeRecordWithNestedDerivings
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeRecordWithNestedDerivings
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeRecordWithNestedDerivings
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeRecordWithNestedDerivings
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
I32
::
fromCpp
(
jniEnv
,
c
.
key
),
::
djinni
::
get
(
::
djinni
::
I32
::
fromCpp
(
jniEnv
,
c
.
key
)
),
::
djinni
_generated
::
NativeRecordWithDerivings
::
fromCpp
(
jniEnv
,
c
.
rec
).
get
(
))};
::
djinni
::
get
(
::
djinni_generated
::
NativeRecordWithDerivings
::
fromCpp
(
jniEnv
,
c
.
rec
)
))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
...
...
test-suite/generated-src/jni/NativeSetRecord.cpp
View file @
1af60e92
...
@@ -13,16 +13,18 @@ NativeSetRecord::~NativeSetRecord() = default;
...
@@ -13,16 +13,18 @@ NativeSetRecord::~NativeSetRecord() = default;
auto
NativeSetRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
auto
NativeSetRecord
::
fromCpp
(
JNIEnv
*
jniEnv
,
const
CppType
&
c
)
->
::
djinni
::
LocalRef
<
JniType
>
{
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeSetRecord
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeSetRecord
>::
get
();
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
auto
r
=
::
djinni
::
LocalRef
<
JniType
>
{
jniEnv
->
NewObject
(
data
.
clazz
.
get
(),
data
.
jconstructor
,
::
djinni
::
Set
<::
djinni
::
String
>::
fromCpp
(
jniEnv
,
c
.
set
).
get
())};
::
djinni
::
get
(
::
djinni
::
Set
<::
djinni
::
String
>::
fromCpp
(
jniEnv
,
c
.
set
)),
::
djinni
::
get
(
::
djinni
::
Set
<::
djinni
::
I32
>::
fromCpp
(
jniEnv
,
c
.
iset
)))};
::
djinni
::
jniExceptionCheck
(
jniEnv
);
::
djinni
::
jniExceptionCheck
(
jniEnv
);
return
r
;
return
r
;
}
}
auto
NativeSetRecord
::
toCpp
(
JNIEnv
*
jniEnv
,
JniType
j
)
->
CppType
{
auto
NativeSetRecord
::
toCpp
(
JNIEnv
*
jniEnv
,
JniType
j
)
->
CppType
{
::
djinni
::
JniLocalScope
jscope
(
jniEnv
,
2
);
::
djinni
::
JniLocalScope
jscope
(
jniEnv
,
3
);
assert
(
j
!=
nullptr
);
assert
(
j
!=
nullptr
);
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeSetRecord
>::
get
();
const
auto
&
data
=
::
djinni
::
JniClass
<
NativeSetRecord
>::
get
();
return
{
::
djinni
::
Set
<::
djinni
::
String
>::
toCpp
(
jniEnv
,
jniEnv
->
GetObjectField
(
j
,
data
.
field_mSet
))};
return
{
::
djinni
::
Set
<::
djinni
::
String
>::
toCpp
(
jniEnv
,
jniEnv
->
GetObjectField
(
j
,
data
.
field_mSet
)),
::
djinni
::
Set
<::
djinni
::
I32
>::
toCpp
(
jniEnv
,
jniEnv
->
GetObjectField
(
j
,
data
.
field_mIset
))};
}
}
}
// namespace djinni_generated
}
// namespace djinni_generated
test-suite/generated-src/jni/NativeSetRecord.hpp
View file @
1af60e92
...
@@ -25,8 +25,9 @@ private:
...
@@ -25,8 +25,9 @@ private:
friend
::
djinni
::
JniClass
<
NativeSetRecord
>
;
friend
::
djinni
::
JniClass
<
NativeSetRecord
>
;
const
::
djinni
::
GlobalRef
<
jclass
>
clazz
{
::
djinni
::
jniFindClass
(
"com/dropbox/djinni/test/SetRecord"
)
};
const
::
djinni
::
GlobalRef
<
jclass
>
clazz
{
::
djinni
::
jniFindClass
(
"com/dropbox/djinni/test/SetRecord"
)
};
const
jmethodID
jconstructor
{
::
djinni
::
jniGetMethodID
(
clazz
.
get
(),
"<init>"
,
"(Ljava/util/HashSet;)V"
)
};
const
jmethodID
jconstructor
{
::
djinni
::
jniGetMethodID
(
clazz
.
get
(),
"<init>"
,
"(Ljava/util/HashSet;
Ljava/util/HashSet;
)V"
)
};
const
jfieldID
field_mSet
{
::
djinni
::
jniGetFieldID
(
clazz
.
get
(),
"mSet"
,
"Ljava/util/HashSet;"
)
};
const
jfieldID
field_mSet
{
::
djinni
::
jniGetFieldID
(
clazz
.
get
(),
"mSet"
,
"Ljava/util/HashSet;"
)
};
const
jfieldID
field_mIset
{
::
djinni
::
jniGetFieldID
(
clazz
.
get
(),
"mIset"
,
"Ljava/util/HashSet;"
)
};
};
};
}
// namespace djinni_generated
}
// namespace djinni_generated
test-suite/generated-src/jni/NativeTestHelpers.cpp
View file @
1af60e92
...
@@ -32,7 +32,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getSetRecord
...
@@ -32,7 +32,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getSetRecord
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
get_set_record
();
auto
r
=
::
TestHelpers
::
get_set_record
();
return
::
djinni
_generated
::
NativeSetRecord
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni_generated
::
NativeSetRecord
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -41,7 +41,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkSetRec
...
@@ -41,7 +41,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkSetRec
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
check_set_record
(
::
djinni_generated
::
NativeSetRecord
::
toCpp
(
jniEnv
,
j_rec
));
auto
r
=
::
TestHelpers
::
check_set_record
(
::
djinni_generated
::
NativeSetRecord
::
toCpp
(
jniEnv
,
j_rec
));
return
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
);
return
::
djinni
::
release
(
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -50,7 +50,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getPrimitive
...
@@ -50,7 +50,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getPrimitive
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
get_primitive_list
();
auto
r
=
::
TestHelpers
::
get_primitive_list
();
return
::
djinni
_generated
::
NativePrimitiveList
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni_generated
::
NativePrimitiveList
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -59,7 +59,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkPrimit
...
@@ -59,7 +59,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkPrimit
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
check_primitive_list
(
::
djinni_generated
::
NativePrimitiveList
::
toCpp
(
jniEnv
,
j_pl
));
auto
r
=
::
TestHelpers
::
check_primitive_list
(
::
djinni_generated
::
NativePrimitiveList
::
toCpp
(
jniEnv
,
j_pl
));
return
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
);
return
::
djinni
::
release
(
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -68,7 +68,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getNestedCol
...
@@ -68,7 +68,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getNestedCol
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
get_nested_collection
();
auto
r
=
::
TestHelpers
::
get_nested_collection
();
return
::
djinni
_generated
::
NativeNestedCollection
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni_generated
::
NativeNestedCollection
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -77,7 +77,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkNested
...
@@ -77,7 +77,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkNested
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
check_nested_collection
(
::
djinni_generated
::
NativeNestedCollection
::
toCpp
(
jniEnv
,
j_nc
));
auto
r
=
::
TestHelpers
::
check_nested_collection
(
::
djinni_generated
::
NativeNestedCollection
::
toCpp
(
jniEnv
,
j_nc
));
return
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
);
return
::
djinni
::
release
(
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -86,7 +86,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getMap(JNIEn
...
@@ -86,7 +86,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getMap(JNIEn
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
get_map
();
auto
r
=
::
TestHelpers
::
get_map
();
return
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -95,7 +95,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkMap(JN
...
@@ -95,7 +95,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkMap(JN
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
check_map
(
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
toCpp
(
jniEnv
,
j_m
));
auto
r
=
::
TestHelpers
::
check_map
(
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
toCpp
(
jniEnv
,
j_m
));
return
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
);
return
::
djinni
::
release
(
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -104,7 +104,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getEmptyMap(
...
@@ -104,7 +104,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getEmptyMap(
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
get_empty_map
();
auto
r
=
::
TestHelpers
::
get_empty_map
();
return
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -113,7 +113,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkEmptyM
...
@@ -113,7 +113,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkEmptyM
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
check_empty_map
(
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
toCpp
(
jniEnv
,
j_m
));
auto
r
=
::
TestHelpers
::
check_empty_map
(
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
toCpp
(
jniEnv
,
j_m
));
return
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
);
return
::
djinni
::
release
(
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -122,7 +122,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getMapListRe
...
@@ -122,7 +122,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_getMapListRe
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
get_map_list_record
();
auto
r
=
::
TestHelpers
::
get_map_list_record
();
return
::
djinni
_generated
::
NativeMapListRecord
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni_generated
::
NativeMapListRecord
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -131,7 +131,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkMapLis
...
@@ -131,7 +131,7 @@ CJNIEXPORT jboolean JNICALL Java_com_dropbox_djinni_test_TestHelpers_checkMapLis
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
check_map_list_record
(
::
djinni_generated
::
NativeMapListRecord
::
toCpp
(
jniEnv
,
j_m
));
auto
r
=
::
TestHelpers
::
check_map_list_record
(
::
djinni_generated
::
NativeMapListRecord
::
toCpp
(
jniEnv
,
j_m
));
return
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
);
return
::
djinni
::
release
(
::
djinni
::
Bool
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -172,7 +172,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_tokenId(JNIE
...
@@ -172,7 +172,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_tokenId(JNIE
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
token_id
(
::
djinni_generated
::
NativeToken
::
toCpp
(
jniEnv
,
j_t
));
auto
r
=
::
TestHelpers
::
token_id
(
::
djinni_generated
::
NativeToken
::
toCpp
(
jniEnv
,
j_t
));
return
::
djinni
_generated
::
NativeToken
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni_generated
::
NativeToken
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -181,7 +181,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_createCppTok
...
@@ -181,7 +181,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_createCppTok
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
create_cpp_token
();
auto
r
=
::
TestHelpers
::
create_cpp_token
();
return
::
djinni
_generated
::
NativeToken
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni_generated
::
NativeToken
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -198,7 +198,7 @@ CJNIEXPORT jlong JNICALL Java_com_dropbox_djinni_test_TestHelpers_cppTokenId(JNI
...
@@ -198,7 +198,7 @@ CJNIEXPORT jlong JNICALL Java_com_dropbox_djinni_test_TestHelpers_cppTokenId(JNI
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
cpp_token_id
(
::
djinni_generated
::
NativeToken
::
toCpp
(
jniEnv
,
j_t
));
auto
r
=
::
TestHelpers
::
cpp_token_id
(
::
djinni_generated
::
NativeToken
::
toCpp
(
jniEnv
,
j_t
));
return
::
djinni
::
I64
::
fromCpp
(
jniEnv
,
r
);
return
::
djinni
::
release
(
::
djinni
::
I64
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -216,7 +216,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_returnNone(J
...
@@ -216,7 +216,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_returnNone(J
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
return_none
();
auto
r
=
::
TestHelpers
::
return_none
();
return
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
I32
>::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni
::
Optional
<
std
::
experimental
::
optional
,
::
djinni
::
I32
>::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -225,7 +225,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_assortedPrim
...
@@ -225,7 +225,7 @@ CJNIEXPORT jobject JNICALL Java_com_dropbox_djinni_test_TestHelpers_assortedPrim
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
assorted_primitives_id
(
::
djinni_generated
::
NativeAssortedPrimitives
::
toCpp
(
jniEnv
,
j_i
));
auto
r
=
::
TestHelpers
::
assorted_primitives_id
(
::
djinni_generated
::
NativeAssortedPrimitives
::
toCpp
(
jniEnv
,
j_i
));
return
::
djinni
_generated
::
NativeAssortedPrimitives
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni_generated
::
NativeAssortedPrimitives
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
@@ -234,7 +234,7 @@ CJNIEXPORT jbyteArray JNICALL Java_com_dropbox_djinni_test_TestHelpers_idBinary(
...
@@ -234,7 +234,7 @@ CJNIEXPORT jbyteArray JNICALL Java_com_dropbox_djinni_test_TestHelpers_idBinary(
try
{
try
{
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
DJINNI_FUNCTION_PROLOGUE0
(
jniEnv
);
auto
r
=
::
TestHelpers
::
id_binary
(
::
djinni
::
Binary
::
toCpp
(
jniEnv
,
j_b
));
auto
r
=
::
TestHelpers
::
id_binary
(
::
djinni
::
Binary
::
toCpp
(
jniEnv
,
j_b
));
return
::
djinni
::
Binary
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni
::
Binary
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
...
test-suite/generated-src/jni/NativeToken.cpp
View file @
1af60e92
...
@@ -37,7 +37,7 @@ CJNIEXPORT jstring JNICALL Java_com_dropbox_djinni_test_Token_00024CppProxy_nati
...
@@ -37,7 +37,7 @@ CJNIEXPORT jstring JNICALL Java_com_dropbox_djinni_test_Token_00024CppProxy_nati
DJINNI_FUNCTION_PROLOGUE1
(
jniEnv
,
nativeRef
);
DJINNI_FUNCTION_PROLOGUE1
(
jniEnv
,
nativeRef
);
const
auto
&
ref
=
::
djinni
::
CppProxyHandle
<::
Token
>::
get
(
nativeRef
);
const
auto
&
ref
=
::
djinni
::
CppProxyHandle
<::
Token
>::
get
(
nativeRef
);
auto
r
=
ref
->
whoami
();
auto
r
=
ref
->
whoami
();
return
::
djinni
::
String
::
fromCpp
(
jniEnv
,
r
).
release
(
);
return
::
djinni
::
release
(
::
djinni
::
String
::
fromCpp
(
jniEnv
,
r
)
);
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
JNI_TRANSLATE_EXCEPTIONS_RETURN
(
jniEnv
,
0
/* value doesn't matter */
)
}
}
...
...
test-suite/generated-src/objc/DBMapRecord+Private.mm
View file @
1af60e92
...
@@ -10,12 +10,14 @@ namespace djinni_generated {
...
@@ -10,12 +10,14 @@ namespace djinni_generated {
auto
MapRecord
::
toCpp
(
ObjcType
obj
)
->
CppType
auto
MapRecord
::
toCpp
(
ObjcType
obj
)
->
CppType
{
{
assert
(
obj
);
assert
(
obj
);
return
{
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
toCpp
(
obj
.
map
)};
return
{
::
djinni
::
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
toCpp
(
obj
.
map
),
::
djinni
::
Map
<::
djinni
::
I32
,
::
djinni
::
I32
>::
toCpp
(
obj
.
imap
)};
}
}
auto
MapRecord
::
fromCpp
(
const
CppType
&
cpp
)
->
ObjcType
auto
MapRecord
::
fromCpp
(
const
CppType
&
cpp
)
->
ObjcType
{
{
return
[[
DBMapRecord
alloc
]
initWithMap
:(
::
djinni
:
:
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
fromCpp
(
cpp
.
map
))];
return
[[
DBMapRecord
alloc
]
initWithMap
:(
::
djinni
:
:
Map
<::
djinni
::
String
,
::
djinni
::
I64
>::
fromCpp
(
cpp
.
map
))
imap:
(
::
djinni
::
Map
<::
djinni
::
I32
,
::
djinni
::
I32
>::
fromCpp
(
cpp
.
imap
))];
}
}
}
// namespace djinni_generated
}
// namespace djinni_generated
test-suite/generated-src/objc/DBMapRecord.h
View file @
1af60e92
...
@@ -4,8 +4,11 @@
...
@@ -4,8 +4,11 @@
#import <Foundation/Foundation.h>
#import <Foundation/Foundation.h>
@interface
DBMapRecord
:
NSObject
@interface
DBMapRecord
:
NSObject
-
(
nonnull
id
)
initWithMap
:(
nonnull
NSDictionary
*
)
map
;
-
(
nonnull
id
)
initWithMap
:(
nonnull
NSDictionary
*
)
map
imap
:(
nonnull
NSDictionary
*
)
imap
;
@property
(
nonatomic
,
readonly
,
nonnull
)
NSDictionary
*
map
;
@property
(
nonatomic
,
readonly
,
nonnull
)
NSDictionary
*
map
;
@property
(
nonatomic
,
readonly
,
nonnull
)
NSDictionary
*
imap
;
@end
@end
test-suite/generated-src/objc/DBMapRecord.mm
View file @
1af60e92
...
@@ -7,9 +7,11 @@
...
@@ -7,9 +7,11 @@
@implementation
DBMapRecord
@implementation
DBMapRecord
-
(
id
)
initWithMap
:(
nonnull
NSDictionary
*
)
map
-
(
id
)
initWithMap
:(
nonnull
NSDictionary
*
)
map
imap
:(
nonnull
NSDictionary
*
)
imap
{
{
if
(
self
=
[
super
init
])
{
if
(
self
=
[
super
init
])
{
_map
=
map
;
_map
=
map
;
_imap
=
imap
;
}
}
return
self
;
return
self
;
}
}
...
...
test-suite/generated-src/objc/DBSetRecord+Private.mm
View file @
1af60e92
...
@@ -10,12 +10,14 @@ namespace djinni_generated {
...
@@ -10,12 +10,14 @@ namespace djinni_generated {
auto
SetRecord
::
toCpp
(
ObjcType
obj
)
->
CppType
auto
SetRecord
::
toCpp
(
ObjcType
obj
)
->
CppType
{
{
assert
(
obj
);
assert
(
obj
);
return
{
::
djinni
::
Set
<::
djinni
::
String
>::
toCpp
(
obj
.
set
)};
return
{
::
djinni
::
Set
<::
djinni
::
String
>::
toCpp
(
obj
.
set
),
::
djinni
::
Set
<::
djinni
::
I32
>::
toCpp
(
obj
.
iset
)};
}
}
auto
SetRecord
::
fromCpp
(
const
CppType
&
cpp
)
->
ObjcType
auto
SetRecord
::
fromCpp
(
const
CppType
&
cpp
)
->
ObjcType
{
{
return
[[
DBSetRecord
alloc
]
initWithSet
:(
::
djinni
:
:
Set
<::
djinni
::
String
>::
fromCpp
(
cpp
.
set
))];
return
[[
DBSetRecord
alloc
]
initWithSet
:(
::
djinni
:
:
Set
<::
djinni
::
String
>::
fromCpp
(
cpp
.
set
))
iset:
(
::
djinni
::
Set
<::
djinni
::
I32
>::
fromCpp
(
cpp
.
iset
))];
}
}
}
// namespace djinni_generated
}
// namespace djinni_generated
test-suite/generated-src/objc/DBSetRecord.h
View file @
1af60e92
...
@@ -4,8 +4,11 @@
...
@@ -4,8 +4,11 @@
#import <Foundation/Foundation.h>
#import <Foundation/Foundation.h>
@interface
DBSetRecord
:
NSObject
@interface
DBSetRecord
:
NSObject
-
(
nonnull
id
)
initWithSet
:(
nonnull
NSSet
*
)
set
;
-
(
nonnull
id
)
initWithSet
:(
nonnull
NSSet
*
)
set
iset
:(
nonnull
NSSet
*
)
iset
;
@property
(
nonatomic
,
readonly
,
nonnull
)
NSSet
*
set
;
@property
(
nonatomic
,
readonly
,
nonnull
)
NSSet
*
set
;
@property
(
nonatomic
,
readonly
,
nonnull
)
NSSet
*
iset
;
@end
@end
test-suite/generated-src/objc/DBSetRecord.mm
View file @
1af60e92
...
@@ -7,9 +7,11 @@
...
@@ -7,9 +7,11 @@
@implementation
DBSetRecord
@implementation
DBSetRecord
-
(
id
)
initWithSet
:(
nonnull
NSSet
*
)
set
-
(
id
)
initWithSet
:(
nonnull
NSSet
*
)
set
iset
:(
nonnull
NSSet
*
)
iset
{
{
if
(
self
=
[
super
init
])
{
if
(
self
=
[
super
init
])
{
_set
=
set
;
_set
=
set
;
_iset
=
iset
;
}
}
return
self
;
return
self
;
}
}
...
...
test-suite/handwritten-src/cpp/test_helpers.cpp
View file @
1af60e92
...
@@ -9,7 +9,7 @@ SetRecord TestHelpers::get_set_record() {
...
@@ -9,7 +9,7 @@ SetRecord TestHelpers::get_set_record() {
"StringA"
,
"StringA"
,
"StringB"
,
"StringB"
,
"StringC"
"StringC"
}
};
},
{
}
};
}
}
bool
TestHelpers
::
check_set_record
(
const
SetRecord
&
rec
)
{
bool
TestHelpers
::
check_set_record
(
const
SetRecord
&
rec
)
{
...
...
test-suite/handwritten-src/java/com/dropbox/djinni/test/SetRecordTest.java
View file @
1af60e92
...
@@ -17,10 +17,11 @@ public class SetRecordTest extends TestCase {
...
@@ -17,10 +17,11 @@ public class SetRecordTest extends TestCase {
public
void
testJavaSetToCppSet
()
{
public
void
testJavaSetToCppSet
()
{
HashSet
<
String
>
jSet
=
new
HashSet
<
String
>();
HashSet
<
String
>
jSet
=
new
HashSet
<
String
>();
HashSet
<
Integer
>
iSet
=
new
HashSet
<
Integer
>();
jSet
.
add
(
"StringA"
);
jSet
.
add
(
"StringA"
);
jSet
.
add
(
"StringB"
);
jSet
.
add
(
"StringB"
);
jSet
.
add
(
"StringC"
);
jSet
.
add
(
"StringC"
);
SetRecord
jSetRecord
=
new
SetRecord
(
jSet
);
SetRecord
jSetRecord
=
new
SetRecord
(
jSet
,
iSet
);
assertTrue
(
"checkSetRecord"
,
TestHelpers
.
checkSetRecord
(
jSetRecord
));
assertTrue
(
"checkSetRecord"
,
TestHelpers
.
checkSetRecord
(
jSetRecord
));
}
}
}
}
test-suite/handwritten-src/objc/tests/DBMapRecordTests.mm
View file @
1af60e92
...
@@ -24,21 +24,21 @@
...
@@ -24,21 +24,21 @@
-
(
void
)
testCppToObjc
-
(
void
)
testCppToObjc
{
{
MapRecord
cppMapRecord
([
self
getCppMap
]
);
MapRecord
cppMapRecord
([
self
getCppMap
],
{}
);
DBMapRecord
*
objcMapRecord
=
djinni_generated
::
MapRecord
::
fromCpp
(
cppMapRecord
);
DBMapRecord
*
objcMapRecord
=
djinni_generated
::
MapRecord
::
fromCpp
(
cppMapRecord
);
[
self
checkObjcMap
:
objcMapRecord
.
map
];
[
self
checkObjcMap
:
objcMapRecord
.
map
];
}
}
-
(
void
)
testObjcToCpp
-
(
void
)
testObjcToCpp
{
{
DBMapRecord
*
objcMapRecord
=
[[
DBMapRecord
alloc
]
initWithMap
:[
self
getObjcMap
]];
DBMapRecord
*
objcMapRecord
=
[[
DBMapRecord
alloc
]
initWithMap
:[
self
getObjcMap
]
imap
:[
NSDictionary
dictionary
]];
MapRecord
cppMapRecord
=
djinni_generated
::
MapRecord
::
toCpp
(
objcMapRecord
);
MapRecord
cppMapRecord
=
djinni_generated
::
MapRecord
::
toCpp
(
objcMapRecord
);
[
self
checkCppMap
:
cppMapRecord
.
map
];
[
self
checkCppMap
:
cppMapRecord
.
map
];
}
}
-
(
void
)
testCppToObjcEmpty
-
(
void
)
testCppToObjcEmpty
{
{
MapRecord
cppMapRecord
{
{}
};
MapRecord
cppMapRecord
{
{},
{}
};
DBMapRecord
*
objcMapRecord
=
djinni_generated
::
MapRecord
::
fromCpp
(
cppMapRecord
);
DBMapRecord
*
objcMapRecord
=
djinni_generated
::
MapRecord
::
fromCpp
(
cppMapRecord
);
XCTAssertEqual
([
objcMapRecord
.
map
count
],
(
NSUInteger
)
0
,
@"Count 0 expected, actual: %lu"
,
(
unsigned
long
)[
objcMapRecord
.
map
count
]);
XCTAssertEqual
([
objcMapRecord
.
map
count
],
(
NSUInteger
)
0
,
@"Count 0 expected, actual: %lu"
,
(
unsigned
long
)[
objcMapRecord
.
map
count
]);
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
-
(
void
)
testObjcToCppEmpty
-
(
void
)
testObjcToCppEmpty
{
{
DBMapRecord
*
objcMapRecord
=
[[
DBMapRecord
alloc
]
initWithMap
:[
[
NSDictionary
alloc
]
init
]];
DBMapRecord
*
objcMapRecord
=
[[
DBMapRecord
alloc
]
initWithMap
:[
NSDictionary
dictionary
]
imap
:[
NSDictionary
dictionary
]];
MapRecord
cppMapRecord
=
djinni_generated
::
MapRecord
::
toCpp
(
objcMapRecord
);
MapRecord
cppMapRecord
=
djinni_generated
::
MapRecord
::
toCpp
(
objcMapRecord
);
auto
&
cppMap
=
cppMapRecord
.
map
;
auto
&
cppMap
=
cppMapRecord
.
map
;
XCTAssertEqual
(
cppMap
.
size
(),
(
size_t
)
0
,
@"Count 0 expected, actual: %zd"
,
cppMap
.
size
());
XCTAssertEqual
(
cppMap
.
size
(),
(
size_t
)
0
,
@"Count 0 expected, actual: %zd"
,
cppMap
.
size
());
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
-
(
void
)
testObjcMapListToCpp
-
(
void
)
testObjcMapListToCpp
{
{
NSArray
*
objcMapList
=
[[
NSArray
alloc
]
initWithObjects
:[
self
getObjcMap
],
nil
];
NSArray
*
objcMapList
=
@[
[
self
getObjcMap
]
];
DBMapListRecord
*
objcMapListRecord
=
[[
DBMapListRecord
alloc
]
initWithMapList
:
objcMapList
];
DBMapListRecord
*
objcMapListRecord
=
[[
DBMapListRecord
alloc
]
initWithMapList
:
objcMapList
];
auto
cppMapListRecord
=
djinni_generated
::
MapListRecord
::
toCpp
(
objcMapListRecord
);
auto
cppMapListRecord
=
djinni_generated
::
MapListRecord
::
toCpp
(
objcMapListRecord
);
auto
&
cppMapList
=
cppMapListRecord
.
map_list
;
auto
&
cppMapList
=
cppMapListRecord
.
map_list
;
...
@@ -102,5 +102,4 @@
...
@@ -102,5 +102,4 @@
return
@{
@"String1"
:
@1
,
@"String2"
:
@2
,
@"String3"
:
@3
};
return
@{
@"String1"
:
@1
,
@"String2"
:
@2
,
@"String3"
:
@3
};
}
}
@end
@end
test-suite/handwritten-src/objc/tests/DBSetRecordTests.mm
View file @
1af60e92
...
@@ -11,13 +11,13 @@
...
@@ -11,13 +11,13 @@
-
(
SetRecord
)
getCppSetRecord
-
(
SetRecord
)
getCppSetRecord
{
{
return
SetRecord
({
"StringA"
,
"StringB"
,
"StringC"
});
return
SetRecord
({
"StringA"
,
"StringB"
,
"StringC"
},
{
});
}
}
-
(
DBSetRecord
*
)
getObjcSetRecord
-
(
DBSetRecord
*
)
getObjcSetRecord
{
{
NSSet
*
set
=
[[
NSSet
alloc
]
initWithObjects
:
@"StringA"
,
@"StringB"
,
@"StringC"
,
nil
];
NSSet
*
set
=
[[
NSSet
alloc
]
initWithObjects
:
@"StringA"
,
@"StringB"
,
@"StringC"
,
nil
];
DBSetRecord
*
objcSetRecord
=
[[
DBSetRecord
alloc
]
initWithSet
:
set
];
DBSetRecord
*
objcSetRecord
=
[[
DBSetRecord
alloc
]
initWithSet
:
set
iset
:[
NSSet
set
]
];
return
objcSetRecord
;
return
objcSetRecord
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment