mirror of
https://github.com/golang/go.git
synced 2025-05-15 12:24:37 +00:00
In Android's NDK16, jobject is now declared as: #ifdef __cplusplus class _jobject {}; typedef _jobject* jobject; #else /* not __cplusplus */ typedef void* jobject; #endif This makes the jobject to uintptr check fail because it expects the following definition: struct _jobject; typedef struct _jobject *jobject; Update the type check to handle that new type definition in both C and C++ modes. Fixes #26213 Change-Id: Ic36d4a5176526998d2d5e4e404f8943961141f7a GitHub-Last-Rev: 42037c3c584579c2b3281c25372b830e864e7aec GitHub-Pull-Request: golang/go#26221 Reviewed-on: https://go-review.googlesource.com/122217 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
30 lines
874 B
C
30 lines
874 B
C
// Copyright 2018 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// It's going to be hard to include a whole real JVM to test this.
|
|
// So we'll simulate a really easy JVM using just the parts we need.
|
|
|
|
// This is the relevant part of jni.h.
|
|
|
|
// On Android NDK16, jobject is defined like this in C and C++
|
|
typedef void* jobject;
|
|
|
|
typedef jobject jclass;
|
|
typedef jobject jthrowable;
|
|
typedef jobject jstring;
|
|
typedef jobject jarray;
|
|
typedef jarray jbooleanArray;
|
|
typedef jarray jbyteArray;
|
|
typedef jarray jcharArray;
|
|
typedef jarray jshortArray;
|
|
typedef jarray jintArray;
|
|
typedef jarray jlongArray;
|
|
typedef jarray jfloatArray;
|
|
typedef jarray jdoubleArray;
|
|
typedef jarray jobjectArray;
|
|
|
|
typedef jobject jweak;
|
|
|
|
// Note: jvalue is already a non-pointer type due to it being a C union.
|