mirror of
https://github.com/netbirdio/gomobile-tvos-fork.git
synced 2026-05-22 18:43:29 -07:00
mobile/bind: handle null references from Java in Go
The Seq Java class has a special case for null references. Expand the special case to Go so that null references from Java are properly translated to nil. Fixes golang/go#14228 Change-Id: I915d1f843c9db299d6910480f6d10dae0121a3b4 Reviewed-on: https://go-review.googlesource.com/19460 Reviewed-by: David Crawshaw <crawshaw@golang.org>
This commit is contained in:
committed by
David Crawshaw
parent
46f9e01d1e
commit
d1c2f486a3
+4
-1
@@ -77,6 +77,8 @@ public class Seq {
|
||||
public native void writeByteArray(byte[] v);
|
||||
|
||||
public void writeRef(Ref ref) {
|
||||
if (ref == null)
|
||||
ref = RefTracker.nullRef;
|
||||
tracker.inc(ref);
|
||||
writeInt32(ref.refnum);
|
||||
}
|
||||
@@ -172,9 +174,10 @@ public class Seq {
|
||||
|
||||
static final class RefTracker {
|
||||
private static final int REF_OFFSET = 42;
|
||||
private static final int NULL_REFNUM = 41; // also known to bind/seq/ref.go
|
||||
|
||||
// use single Ref for null Seq.Object
|
||||
private static final Ref nullRef = new Ref(REF_OFFSET - 1, null);
|
||||
private static final Ref nullRef = new Ref(NULL_REFNUM, null);
|
||||
|
||||
// Next Java object reference number.
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user