[jnigen] Further FFI improvements (https://github.com/dart-lang/jnigen/issues/254)
* Add DllMain lock initialization in windows
* release lock on second init check
* Use wrapper class instead of extensions.
* Rename GlobalJniEnv in C to `GlobalJniEnvStruct`, and `JniAccessors` to `JniAccessorsStruct`
* In dart, generate wrapper classes that store a pointer to above.
* Then generate methods which are semantically equivalent to the extensions in previous iterations.
* But internally, results of `asFunction` are cached to late field instead of being called again. (This is what ffigen does too).
* Do not generate extensions for local env & javavm types
* Remove -j
* Add --test-randomize-ordering-seed random
diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml
index f1afa9d..a5bb09e 100644
--- a/.github/workflows/test-package.yml
+++ b/.github/workflows/test-package.yml
@@ -169,7 +169,7 @@
- name: Get dependencies
run: dart pub get
- name: Run tests
- run: dart test
+ run: dart test --test-randomize-ordering-seed random
- name: Install coverage
run: dart pub global activate coverage
- name: Collect coverage
@@ -209,9 +209,7 @@
- run: Add-Content $env:GITHUB_PATH "$env:JAVA_HOME\bin\server"
- run: dart pub get
- run: dart run jni:setup
- ## TODO(#51): -j 1 is required to avoid a rare race condition which is caused by
- ## all tests which spawn JVM being run in same process.
- - run: dart test -j 1
+ - run: dart test --test-randomize-ordering-seed random
test_jnigen_windows_minimal:
needs: [analyze_jnigen]
@@ -266,9 +264,7 @@
java-version: '11'
- run: dart pub get
- run: dart run jni:setup
- ## TODO(#51): -j 1 is required to avoid a rare race condition which is caused by
- ## all tests which spawn JVM being run in same process.
- - run: dart test -j 1
+ - run: dart test --test-randomize-ordering-seed random
test_jnigen_macos_minimal:
needs: [analyze_jnigen]
diff --git a/pkgs/jni/lib/src/accessors.dart b/pkgs/jni/lib/src/accessors.dart
index 66045ae..e2bee89 100644
--- a/pkgs/jni/lib/src/accessors.dart
+++ b/pkgs/jni/lib/src/accessors.dart
@@ -100,7 +100,7 @@
}
}
-extension JniAccessorWrappers on Pointer<JniAccessors> {
+extension JniAccessorWrappers on JniAccessors {
/// Rethrows Java exception in Dart as [JniException].
///
/// The original exception object is deleted by this method. The message
diff --git a/pkgs/jni/lib/src/jni.dart b/pkgs/jni/lib/src/jni.dart
index 8ad7fd4..277c2a5 100644
--- a/pkgs/jni/lib/src/jni.dart
+++ b/pkgs/jni/lib/src/jni.dart
@@ -156,9 +156,9 @@
return _bindings.GetJavaVM();
}
- /// Returns the instance of [GlobalJniEnv], which is an abstraction over JNIEnv
+ /// Returns the instance of [GlobalJniEnvStruct], which is an abstraction over JNIEnv
/// without the same-thread restriction.
- static Pointer<GlobalJniEnv> _fetchGlobalEnv() {
+ static Pointer<GlobalJniEnvStruct> _fetchGlobalEnv() {
final env = _bindings.GetGlobalEnv();
if (env == nullptr) {
throw NoJvmInstanceException();
@@ -166,17 +166,17 @@
return env;
}
- static Pointer<GlobalJniEnv>? _env;
+ static GlobalJniEnv? _env;
- /// Points to a process-wide shared instance of [GlobalJniEnv].
+ /// Points to a process-wide shared instance of [GlobalJniEnvStruct].
///
/// It provides an indirection over [JniEnv] so that it can be used from
/// any thread, and always returns global object references.
- static Pointer<GlobalJniEnv> get env {
- return _env ??= _fetchGlobalEnv();
+ static GlobalJniEnv get env {
+ return _env ??= GlobalJniEnv(_fetchGlobalEnv());
}
- static Pointer<JniAccessors> get accessors => _bindings.GetAccessors();
+ static JniAccessors get accessors => JniAccessors(_bindings.GetAccessors());
/// Returns a new PortContinuation.
static JObjectPtr newPortContinuation(ReceivePort port) {
@@ -288,7 +288,7 @@
}
}
-extension AdditionalEnvMethods on Pointer<GlobalJniEnv> {
+extension AdditionalEnvMethods on GlobalJniEnv {
/// Convenience method for converting a [JStringPtr]
/// to dart string.
/// if [deleteOriginal] is specified, jstring passed will be deleted using
diff --git a/pkgs/jni/lib/src/jreference.dart b/pkgs/jni/lib/src/jreference.dart
index e71febf..3a96bb3 100644
--- a/pkgs/jni/lib/src/jreference.dart
+++ b/pkgs/jni/lib/src/jreference.dart
@@ -8,7 +8,8 @@
/// which disposes the reference(s).
abstract class JReference implements Finalizable {
//TODO(PR): Is it safe to cast void *f (void *) to void f (void *)?
- static final _finalizer = NativeFinalizer(_env.ref.DeleteGlobalRef.cast());
+ static final _finalizer =
+ NativeFinalizer(_env.ptr.ref.DeleteGlobalRef.cast());
JReference.fromRef(this.reference) {
_finalizer.attach(this, reference, detach: this);
diff --git a/pkgs/jni/lib/src/third_party/global_env_extensions.dart b/pkgs/jni/lib/src/third_party/global_env_extensions.dart
index e561eef..2d2a028 100644
--- a/pkgs/jni/lib/src/third_party/global_env_extensions.dart
+++ b/pkgs/jni/lib/src/third_party/global_env_extensions.dart
@@ -35,1357 +35,1480 @@
import "../accessors.dart";
-extension EnvExtension on ffi.Pointer<GlobalJniEnv> {
- int GetVersion() =>
- ref.GetVersion.asFunction<JniResult Function()>()().integer;
+/// Wraps over Pointer<GlobalJniEnvStruct> and exposes function pointer fields
+/// as methods.
+class GlobalJniEnv {
+ final ffi.Pointer<GlobalJniEnvStruct> ptr;
+ GlobalJniEnv(this.ptr);
+ late final _GetVersion =
+ ptr.ref.GetVersion.asFunction<JniResult Function()>();
+
+ int GetVersion() => _GetVersion().integer;
+
+ late final _DefineClass = ptr.ref.DefineClass.asFunction<
+ JniClassLookupResult Function(ffi.Pointer<ffi.Char> name,
+ JObjectPtr loader, ffi.Pointer<JByteMarker> buf, int bufLen)>();
JClassPtr DefineClass(ffi.Pointer<ffi.Char> name, JObjectPtr loader,
ffi.Pointer<JByteMarker> buf, int bufLen) =>
- ref.DefineClass.asFunction<
- JniClassLookupResult Function(
- ffi.Pointer<ffi.Char> name,
- JObjectPtr loader,
- ffi.Pointer<JByteMarker> buf,
- int bufLen)>()(name, loader, buf, bufLen)
- .value;
+ _DefineClass(name, loader, buf, bufLen).value;
- JClassPtr FindClass(ffi.Pointer<ffi.Char> name) => ref.FindClass.asFunction<
- JniClassLookupResult Function(ffi.Pointer<ffi.Char> name)>()(name)
- .value;
+ late final _FindClass = ptr.ref.FindClass
+ .asFunction<JniClassLookupResult Function(ffi.Pointer<ffi.Char> name)>();
- JMethodIDPtr FromReflectedMethod(JObjectPtr method) => ref.FromReflectedMethod
- .asFunction<JniPointerResult Function(JObjectPtr method)>()(method)
- .methodID;
+ JClassPtr FindClass(ffi.Pointer<ffi.Char> name) => _FindClass(name).value;
- JFieldIDPtr FromReflectedField(JObjectPtr field) => ref.FromReflectedField
- .asFunction<JniPointerResult Function(JObjectPtr field)>()(field)
- .fieldID;
+ late final _FromReflectedMethod = ptr.ref.FromReflectedMethod
+ .asFunction<JniPointerResult Function(JObjectPtr method)>();
+
+ JMethodIDPtr FromReflectedMethod(JObjectPtr method) =>
+ _FromReflectedMethod(method).methodID;
+
+ late final _FromReflectedField = ptr.ref.FromReflectedField
+ .asFunction<JniPointerResult Function(JObjectPtr field)>();
+
+ JFieldIDPtr FromReflectedField(JObjectPtr field) =>
+ _FromReflectedField(field).fieldID;
+
+ late final _ToReflectedMethod = ptr.ref.ToReflectedMethod.asFunction<
+ JniResult Function(JClassPtr cls, JMethodIDPtr methodId, int isStatic)>();
JObjectPtr ToReflectedMethod(
JClassPtr cls, JMethodIDPtr methodId, int isStatic) =>
- ref.ToReflectedMethod.asFunction<
- JniResult Function(JClassPtr cls, JMethodIDPtr methodId,
- int isStatic)>()(cls, methodId, isStatic)
- .object;
+ _ToReflectedMethod(cls, methodId, isStatic).object;
- JClassPtr GetSuperclass(JClassPtr clazz) => ref.GetSuperclass.asFunction<
- JniClassLookupResult Function(JClassPtr clazz)>()(clazz)
- .value;
+ late final _GetSuperclass = ptr.ref.GetSuperclass
+ .asFunction<JniClassLookupResult Function(JClassPtr clazz)>();
+
+ JClassPtr GetSuperclass(JClassPtr clazz) => _GetSuperclass(clazz).value;
+
+ late final _IsAssignableFrom = ptr.ref.IsAssignableFrom
+ .asFunction<JniResult Function(JClassPtr clazz1, JClassPtr clazz2)>();
bool IsAssignableFrom(JClassPtr clazz1, JClassPtr clazz2) =>
- ref.IsAssignableFrom.asFunction<
- JniResult Function(
- JClassPtr clazz1, JClassPtr clazz2)>()(clazz1, clazz2)
- .boolean;
+ _IsAssignableFrom(clazz1, clazz2).boolean;
+
+ late final _ToReflectedField = ptr.ref.ToReflectedField.asFunction<
+ JniResult Function(JClassPtr cls, JFieldIDPtr fieldID, int isStatic)>();
JObjectPtr ToReflectedField(
JClassPtr cls, JFieldIDPtr fieldID, int isStatic) =>
- ref.ToReflectedField.asFunction<
- JniResult Function(JClassPtr cls, JFieldIDPtr fieldID,
- int isStatic)>()(cls, fieldID, isStatic)
- .object;
+ _ToReflectedField(cls, fieldID, isStatic).object;
- int Throw(JThrowablePtr obj) =>
- ref.Throw.asFunction<JniResult Function(JThrowablePtr obj)>()(obj)
- .integer;
+ late final _Throw =
+ ptr.ref.Throw.asFunction<JniResult Function(JThrowablePtr obj)>();
+
+ int Throw(JThrowablePtr obj) => _Throw(obj).integer;
+
+ late final _ThrowNew = ptr.ref.ThrowNew.asFunction<
+ JniResult Function(JClassPtr clazz, ffi.Pointer<ffi.Char> message)>();
int ThrowNew(JClassPtr clazz, ffi.Pointer<ffi.Char> message) =>
- ref.ThrowNew.asFunction<
- JniResult Function(JClassPtr clazz,
- ffi.Pointer<ffi.Char> message)>()(clazz, message)
- .integer;
+ _ThrowNew(clazz, message).integer;
- JThrowablePtr ExceptionOccurred() =>
- ref.ExceptionOccurred.asFunction<JniResult Function()>()().object;
+ late final _ExceptionOccurred =
+ ptr.ref.ExceptionOccurred.asFunction<JniResult Function()>();
- void ExceptionDescribe() =>
- ref.ExceptionDescribe.asFunction<JThrowablePtr Function()>()().check();
+ JThrowablePtr ExceptionOccurred() => _ExceptionOccurred().object;
- void ExceptionClear() =>
- ref.ExceptionClear.asFunction<JThrowablePtr Function()>()().check();
+ late final _ExceptionDescribe =
+ ptr.ref.ExceptionDescribe.asFunction<JThrowablePtr Function()>();
- void FatalError(ffi.Pointer<ffi.Char> msg) => ref.FatalError.asFunction<
- JThrowablePtr Function(ffi.Pointer<ffi.Char> msg)>()(msg)
- .check();
+ void ExceptionDescribe() => _ExceptionDescribe().check();
- int PushLocalFrame(int capacity) =>
- ref.PushLocalFrame.asFunction<JniResult Function(int capacity)>()(
- capacity)
- .integer;
+ late final _ExceptionClear =
+ ptr.ref.ExceptionClear.asFunction<JThrowablePtr Function()>();
- JObjectPtr PopLocalFrame(JObjectPtr result) =>
- ref.PopLocalFrame.asFunction<JniResult Function(JObjectPtr result)>()(
- result)
- .object;
+ void ExceptionClear() => _ExceptionClear().check();
- JObjectPtr NewGlobalRef(JObjectPtr obj) =>
- ref.NewGlobalRef.asFunction<JniResult Function(JObjectPtr obj)>()(obj)
- .object;
+ late final _FatalError = ptr.ref.FatalError
+ .asFunction<JThrowablePtr Function(ffi.Pointer<ffi.Char> msg)>();
- void DeleteGlobalRef(JObjectPtr globalRef) => ref.DeleteGlobalRef.asFunction<
- JThrowablePtr Function(JObjectPtr globalRef)>()(globalRef)
- .check();
+ void FatalError(ffi.Pointer<ffi.Char> msg) => _FatalError(msg).check();
- void DeleteLocalRef(JObjectPtr localRef) => ref.DeleteLocalRef.asFunction<
- JThrowablePtr Function(JObjectPtr localRef)>()(localRef)
- .check();
+ late final _PushLocalFrame =
+ ptr.ref.PushLocalFrame.asFunction<JniResult Function(int capacity)>();
+
+ int PushLocalFrame(int capacity) => _PushLocalFrame(capacity).integer;
+
+ late final _PopLocalFrame =
+ ptr.ref.PopLocalFrame.asFunction<JniResult Function(JObjectPtr result)>();
+
+ JObjectPtr PopLocalFrame(JObjectPtr result) => _PopLocalFrame(result).object;
+
+ late final _NewGlobalRef =
+ ptr.ref.NewGlobalRef.asFunction<JniResult Function(JObjectPtr obj)>();
+
+ JObjectPtr NewGlobalRef(JObjectPtr obj) => _NewGlobalRef(obj).object;
+
+ late final _DeleteGlobalRef = ptr.ref.DeleteGlobalRef
+ .asFunction<JThrowablePtr Function(JObjectPtr globalRef)>();
+
+ void DeleteGlobalRef(JObjectPtr globalRef) =>
+ _DeleteGlobalRef(globalRef).check();
+
+ late final _DeleteLocalRef = ptr.ref.DeleteLocalRef
+ .asFunction<JThrowablePtr Function(JObjectPtr localRef)>();
+
+ void DeleteLocalRef(JObjectPtr localRef) => _DeleteLocalRef(localRef).check();
+
+ late final _IsSameObject = ptr.ref.IsSameObject
+ .asFunction<JniResult Function(JObjectPtr ref1, JObjectPtr ref2)>();
bool IsSameObject(JObjectPtr ref1, JObjectPtr ref2) =>
- ref.IsSameObject.asFunction<
- JniResult Function(
- JObjectPtr ref1, JObjectPtr ref2)>()(ref1, ref2)
- .boolean;
+ _IsSameObject(ref1, ref2).boolean;
- JObjectPtr NewLocalRef(JObjectPtr obj) =>
- ref.NewLocalRef.asFunction<JniResult Function(JObjectPtr obj)>()(obj)
- .object;
+ late final _NewLocalRef =
+ ptr.ref.NewLocalRef.asFunction<JniResult Function(JObjectPtr obj)>();
+
+ JObjectPtr NewLocalRef(JObjectPtr obj) => _NewLocalRef(obj).object;
+
+ late final _EnsureLocalCapacity = ptr.ref.EnsureLocalCapacity
+ .asFunction<JniResult Function(int capacity)>();
int EnsureLocalCapacity(int capacity) =>
- ref.EnsureLocalCapacity.asFunction<JniResult Function(int capacity)>()(
- capacity)
- .integer;
+ _EnsureLocalCapacity(capacity).integer;
- JObjectPtr AllocObject(JClassPtr clazz) =>
- ref.AllocObject.asFunction<JniResult Function(JClassPtr clazz)>()(clazz)
- .object;
+ late final _AllocObject =
+ ptr.ref.AllocObject.asFunction<JniResult Function(JClassPtr clazz)>();
+
+ JObjectPtr AllocObject(JClassPtr clazz) => _AllocObject(clazz).object;
+
+ late final _NewObject = ptr.ref.NewObject
+ .asFunction<JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>();
JObjectPtr NewObject(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.NewObject.asFunction<
- JniResult Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .object;
+ _NewObject(clazz, methodID).object;
+
+ late final _NewObjectA = ptr.ref.NewObjectA.asFunction<
+ JniResult Function(
+ JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
JObjectPtr NewObjectA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.NewObjectA.asFunction<
- JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .object;
+ _NewObjectA(clazz, methodID, args).object;
- JClassPtr GetObjectClass(JObjectPtr obj) => ref.GetObjectClass.asFunction<
- JniClassLookupResult Function(JObjectPtr obj)>()(obj)
- .value;
+ late final _GetObjectClass = ptr.ref.GetObjectClass
+ .asFunction<JniClassLookupResult Function(JObjectPtr obj)>();
+
+ JClassPtr GetObjectClass(JObjectPtr obj) => _GetObjectClass(obj).value;
+
+ late final _IsInstanceOf = ptr.ref.IsInstanceOf
+ .asFunction<JniResult Function(JObjectPtr obj, JClassPtr clazz)>();
bool IsInstanceOf(JObjectPtr obj, JClassPtr clazz) =>
- ref.IsInstanceOf.asFunction<
- JniResult Function(JObjectPtr obj, JClassPtr clazz)>()(obj, clazz)
- .boolean;
+ _IsInstanceOf(obj, clazz).boolean;
+
+ late final _GetMethodID = ptr.ref.GetMethodID.asFunction<
+ JniPointerResult Function(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
+ ffi.Pointer<ffi.Char> sig)>();
JMethodIDPtr GetMethodID(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig) =>
- ref.GetMethodID.asFunction<
- JniPointerResult Function(
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>()(clazz, name, sig)
- .methodID;
+ _GetMethodID(clazz, name, sig).methodID;
+
+ late final _CallObjectMethod = ptr.ref.CallObjectMethod
+ .asFunction<JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>();
JObjectPtr CallObjectMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- ref.CallObjectMethod.asFunction<
- JniResult Function(
- JObjectPtr obj, JMethodIDPtr methodID)>()(obj, methodID)
- .object;
+ _CallObjectMethod(obj, methodID).object;
+
+ late final _CallObjectMethodA = ptr.ref.CallObjectMethodA.asFunction<
+ JniResult Function(
+ JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
JObjectPtr CallObjectMethodA(
JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallObjectMethodA.asFunction<
- JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, methodID, args)
- .object;
+ _CallObjectMethodA(obj, methodID, args).object;
+
+ late final _CallBooleanMethod = ptr.ref.CallBooleanMethod
+ .asFunction<JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>();
bool CallBooleanMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- ref.CallBooleanMethod.asFunction<
- JniResult Function(
- JObjectPtr obj, JMethodIDPtr methodID)>()(obj, methodID)
- .boolean;
+ _CallBooleanMethod(obj, methodID).boolean;
+
+ late final _CallBooleanMethodA = ptr.ref.CallBooleanMethodA.asFunction<
+ JniResult Function(
+ JObjectPtr obj, JMethodIDPtr methodId, ffi.Pointer<JValue> args)>();
bool CallBooleanMethodA(
JObjectPtr obj, JMethodIDPtr methodId, ffi.Pointer<JValue> args) =>
- ref.CallBooleanMethodA.asFunction<
- JniResult Function(JObjectPtr obj, JMethodIDPtr methodId,
- ffi.Pointer<JValue> args)>()(obj, methodId, args)
- .boolean;
+ _CallBooleanMethodA(obj, methodId, args).boolean;
+
+ late final _CallByteMethod = ptr.ref.CallByteMethod
+ .asFunction<JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>();
int CallByteMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- ref.CallByteMethod.asFunction<
- JniResult Function(
- JObjectPtr obj, JMethodIDPtr methodID)>()(obj, methodID)
- .byte;
+ _CallByteMethod(obj, methodID).byte;
+
+ late final _CallByteMethodA = ptr.ref.CallByteMethodA.asFunction<
+ JniResult Function(
+ JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallByteMethodA(
JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallByteMethodA.asFunction<
- JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, methodID, args)
- .byte;
+ _CallByteMethodA(obj, methodID, args).byte;
+
+ late final _CallCharMethod = ptr.ref.CallCharMethod
+ .asFunction<JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>();
int CallCharMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- ref.CallCharMethod.asFunction<
- JniResult Function(
- JObjectPtr obj, JMethodIDPtr methodID)>()(obj, methodID)
- .char;
+ _CallCharMethod(obj, methodID).char;
+
+ late final _CallCharMethodA = ptr.ref.CallCharMethodA.asFunction<
+ JniResult Function(
+ JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallCharMethodA(
JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallCharMethodA.asFunction<
- JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, methodID, args)
- .char;
+ _CallCharMethodA(obj, methodID, args).char;
+
+ late final _CallShortMethod = ptr.ref.CallShortMethod
+ .asFunction<JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>();
int CallShortMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- ref.CallShortMethod.asFunction<
- JniResult Function(
- JObjectPtr obj, JMethodIDPtr methodID)>()(obj, methodID)
- .short;
+ _CallShortMethod(obj, methodID).short;
+
+ late final _CallShortMethodA = ptr.ref.CallShortMethodA.asFunction<
+ JniResult Function(
+ JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallShortMethodA(
JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallShortMethodA.asFunction<
- JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, methodID, args)
- .short;
+ _CallShortMethodA(obj, methodID, args).short;
+
+ late final _CallIntMethod = ptr.ref.CallIntMethod
+ .asFunction<JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>();
int CallIntMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- ref.CallIntMethod.asFunction<
- JniResult Function(
- JObjectPtr obj, JMethodIDPtr methodID)>()(obj, methodID)
- .integer;
+ _CallIntMethod(obj, methodID).integer;
+
+ late final _CallIntMethodA = ptr.ref.CallIntMethodA.asFunction<
+ JniResult Function(
+ JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallIntMethodA(
JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallIntMethodA.asFunction<
- JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, methodID, args)
- .integer;
+ _CallIntMethodA(obj, methodID, args).integer;
+
+ late final _CallLongMethod = ptr.ref.CallLongMethod
+ .asFunction<JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>();
int CallLongMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- ref.CallLongMethod.asFunction<
- JniResult Function(
- JObjectPtr obj, JMethodIDPtr methodID)>()(obj, methodID)
- .long;
+ _CallLongMethod(obj, methodID).long;
+
+ late final _CallLongMethodA = ptr.ref.CallLongMethodA.asFunction<
+ JniResult Function(
+ JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallLongMethodA(
JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallLongMethodA.asFunction<
- JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, methodID, args)
- .long;
+ _CallLongMethodA(obj, methodID, args).long;
+
+ late final _CallFloatMethod = ptr.ref.CallFloatMethod
+ .asFunction<JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>();
double CallFloatMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- ref.CallFloatMethod.asFunction<
- JniResult Function(
- JObjectPtr obj, JMethodIDPtr methodID)>()(obj, methodID)
- .float;
+ _CallFloatMethod(obj, methodID).float;
+
+ late final _CallFloatMethodA = ptr.ref.CallFloatMethodA.asFunction<
+ JniResult Function(
+ JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
double CallFloatMethodA(
JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallFloatMethodA.asFunction<
- JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, methodID, args)
- .float;
+ _CallFloatMethodA(obj, methodID, args).float;
+
+ late final _CallDoubleMethod = ptr.ref.CallDoubleMethod
+ .asFunction<JniResult Function(JObjectPtr obj, JMethodIDPtr methodID)>();
double CallDoubleMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- ref.CallDoubleMethod.asFunction<
- JniResult Function(
- JObjectPtr obj, JMethodIDPtr methodID)>()(obj, methodID)
- .doubleFloat;
+ _CallDoubleMethod(obj, methodID).doubleFloat;
+
+ late final _CallDoubleMethodA = ptr.ref.CallDoubleMethodA.asFunction<
+ JniResult Function(
+ JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
double CallDoubleMethodA(
JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallDoubleMethodA.asFunction<
- JniResult Function(JObjectPtr obj, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, methodID, args)
- .doubleFloat;
+ _CallDoubleMethodA(obj, methodID, args).doubleFloat;
+
+ late final _CallVoidMethod = ptr.ref.CallVoidMethod.asFunction<
+ JThrowablePtr Function(JObjectPtr obj, JMethodIDPtr methodID)>();
void CallVoidMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- ref.CallVoidMethod.asFunction<
- JThrowablePtr Function(
- JObjectPtr obj, JMethodIDPtr methodID)>()(obj, methodID)
- .check();
+ _CallVoidMethod(obj, methodID).check();
+
+ late final _CallVoidMethodA = ptr.ref.CallVoidMethodA.asFunction<
+ JThrowablePtr Function(
+ JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
void CallVoidMethodA(
JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallVoidMethodA.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, methodID, args)
- .check();
+ _CallVoidMethodA(obj, methodID, args).check();
+
+ late final _CallNonvirtualObjectMethod = ptr.ref.CallNonvirtualObjectMethod
+ .asFunction<
+ JniResult Function(
+ JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>();
JObjectPtr CallNonvirtualObjectMethod(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallNonvirtualObjectMethod.asFunction<
- JniResult Function(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID)>()(obj, clazz, methodID)
- .object;
+ _CallNonvirtualObjectMethod(obj, clazz, methodID).object;
+
+ late final _CallNonvirtualObjectMethodA = ptr.ref.CallNonvirtualObjectMethodA
+ .asFunction<
+ JniResult Function(JObjectPtr obj, JClassPtr clazz,
+ JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
JObjectPtr CallNonvirtualObjectMethodA(JObjectPtr obj, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallNonvirtualObjectMethodA.asFunction<
- JniResult Function(
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, clazz, methodID, args)
- .object;
+ _CallNonvirtualObjectMethodA(obj, clazz, methodID, args).object;
+
+ late final _CallNonvirtualBooleanMethod = ptr.ref.CallNonvirtualBooleanMethod
+ .asFunction<
+ JniResult Function(
+ JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>();
bool CallNonvirtualBooleanMethod(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallNonvirtualBooleanMethod.asFunction<
- JniResult Function(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID)>()(obj, clazz, methodID)
- .boolean;
+ _CallNonvirtualBooleanMethod(obj, clazz, methodID).boolean;
+
+ late final _CallNonvirtualBooleanMethodA =
+ ptr.ref.CallNonvirtualBooleanMethodA.asFunction<
+ JniResult Function(JObjectPtr obj, JClassPtr clazz,
+ JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
bool CallNonvirtualBooleanMethodA(JObjectPtr obj, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallNonvirtualBooleanMethodA.asFunction<
- JniResult Function(
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, clazz, methodID, args)
- .boolean;
+ _CallNonvirtualBooleanMethodA(obj, clazz, methodID, args).boolean;
+
+ late final _CallNonvirtualByteMethod = ptr.ref.CallNonvirtualByteMethod
+ .asFunction<
+ JniResult Function(
+ JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>();
int CallNonvirtualByteMethod(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallNonvirtualByteMethod.asFunction<
- JniResult Function(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID)>()(obj, clazz, methodID)
- .byte;
+ _CallNonvirtualByteMethod(obj, clazz, methodID).byte;
+
+ late final _CallNonvirtualByteMethodA = ptr.ref.CallNonvirtualByteMethodA
+ .asFunction<
+ JniResult Function(JObjectPtr obj, JClassPtr clazz,
+ JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallNonvirtualByteMethodA(JObjectPtr obj, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallNonvirtualByteMethodA.asFunction<
- JniResult Function(
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, clazz, methodID, args)
- .byte;
+ _CallNonvirtualByteMethodA(obj, clazz, methodID, args).byte;
+
+ late final _CallNonvirtualCharMethod = ptr.ref.CallNonvirtualCharMethod
+ .asFunction<
+ JniResult Function(
+ JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>();
int CallNonvirtualCharMethod(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallNonvirtualCharMethod.asFunction<
- JniResult Function(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID)>()(obj, clazz, methodID)
- .char;
+ _CallNonvirtualCharMethod(obj, clazz, methodID).char;
+
+ late final _CallNonvirtualCharMethodA = ptr.ref.CallNonvirtualCharMethodA
+ .asFunction<
+ JniResult Function(JObjectPtr obj, JClassPtr clazz,
+ JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallNonvirtualCharMethodA(JObjectPtr obj, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallNonvirtualCharMethodA.asFunction<
- JniResult Function(
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, clazz, methodID, args)
- .char;
+ _CallNonvirtualCharMethodA(obj, clazz, methodID, args).char;
+
+ late final _CallNonvirtualShortMethod = ptr.ref.CallNonvirtualShortMethod
+ .asFunction<
+ JniResult Function(
+ JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>();
int CallNonvirtualShortMethod(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallNonvirtualShortMethod.asFunction<
- JniResult Function(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID)>()(obj, clazz, methodID)
- .short;
+ _CallNonvirtualShortMethod(obj, clazz, methodID).short;
+
+ late final _CallNonvirtualShortMethodA = ptr.ref.CallNonvirtualShortMethodA
+ .asFunction<
+ JniResult Function(JObjectPtr obj, JClassPtr clazz,
+ JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallNonvirtualShortMethodA(JObjectPtr obj, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallNonvirtualShortMethodA.asFunction<
- JniResult Function(
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, clazz, methodID, args)
- .short;
+ _CallNonvirtualShortMethodA(obj, clazz, methodID, args).short;
+
+ late final _CallNonvirtualIntMethod = ptr.ref.CallNonvirtualIntMethod
+ .asFunction<
+ JniResult Function(
+ JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>();
int CallNonvirtualIntMethod(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallNonvirtualIntMethod.asFunction<
- JniResult Function(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID)>()(obj, clazz, methodID)
- .integer;
+ _CallNonvirtualIntMethod(obj, clazz, methodID).integer;
+
+ late final _CallNonvirtualIntMethodA = ptr.ref.CallNonvirtualIntMethodA
+ .asFunction<
+ JniResult Function(JObjectPtr obj, JClassPtr clazz,
+ JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallNonvirtualIntMethodA(JObjectPtr obj, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallNonvirtualIntMethodA.asFunction<
- JniResult Function(
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, clazz, methodID, args)
- .integer;
+ _CallNonvirtualIntMethodA(obj, clazz, methodID, args).integer;
+
+ late final _CallNonvirtualLongMethod = ptr.ref.CallNonvirtualLongMethod
+ .asFunction<
+ JniResult Function(
+ JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>();
int CallNonvirtualLongMethod(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallNonvirtualLongMethod.asFunction<
- JniResult Function(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID)>()(obj, clazz, methodID)
- .long;
+ _CallNonvirtualLongMethod(obj, clazz, methodID).long;
+
+ late final _CallNonvirtualLongMethodA = ptr.ref.CallNonvirtualLongMethodA
+ .asFunction<
+ JniResult Function(JObjectPtr obj, JClassPtr clazz,
+ JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallNonvirtualLongMethodA(JObjectPtr obj, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallNonvirtualLongMethodA.asFunction<
- JniResult Function(
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, clazz, methodID, args)
- .long;
+ _CallNonvirtualLongMethodA(obj, clazz, methodID, args).long;
+
+ late final _CallNonvirtualFloatMethod = ptr.ref.CallNonvirtualFloatMethod
+ .asFunction<
+ JniResult Function(
+ JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>();
double CallNonvirtualFloatMethod(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallNonvirtualFloatMethod.asFunction<
- JniResult Function(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID)>()(obj, clazz, methodID)
- .float;
+ _CallNonvirtualFloatMethod(obj, clazz, methodID).float;
+
+ late final _CallNonvirtualFloatMethodA = ptr.ref.CallNonvirtualFloatMethodA
+ .asFunction<
+ JniResult Function(JObjectPtr obj, JClassPtr clazz,
+ JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
double CallNonvirtualFloatMethodA(JObjectPtr obj, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallNonvirtualFloatMethodA.asFunction<
- JniResult Function(
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, clazz, methodID, args)
- .float;
+ _CallNonvirtualFloatMethodA(obj, clazz, methodID, args).float;
+
+ late final _CallNonvirtualDoubleMethod = ptr.ref.CallNonvirtualDoubleMethod
+ .asFunction<
+ JniResult Function(
+ JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>();
double CallNonvirtualDoubleMethod(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallNonvirtualDoubleMethod.asFunction<
- JniResult Function(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID)>()(obj, clazz, methodID)
- .doubleFloat;
+ _CallNonvirtualDoubleMethod(obj, clazz, methodID).doubleFloat;
+
+ late final _CallNonvirtualDoubleMethodA = ptr.ref.CallNonvirtualDoubleMethodA
+ .asFunction<
+ JniResult Function(JObjectPtr obj, JClassPtr clazz,
+ JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
double CallNonvirtualDoubleMethodA(JObjectPtr obj, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallNonvirtualDoubleMethodA.asFunction<
- JniResult Function(
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, clazz, methodID, args)
- .doubleFloat;
+ _CallNonvirtualDoubleMethodA(obj, clazz, methodID, args).doubleFloat;
+
+ late final _CallNonvirtualVoidMethod = ptr.ref.CallNonvirtualVoidMethod
+ .asFunction<
+ JThrowablePtr Function(
+ JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>();
void CallNonvirtualVoidMethod(
JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallNonvirtualVoidMethod.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID)>()(obj, clazz, methodID)
- .check();
+ _CallNonvirtualVoidMethod(obj, clazz, methodID).check();
+
+ late final _CallNonvirtualVoidMethodA = ptr.ref.CallNonvirtualVoidMethodA
+ .asFunction<
+ JThrowablePtr Function(JObjectPtr obj, JClassPtr clazz,
+ JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
void CallNonvirtualVoidMethodA(JObjectPtr obj, JClassPtr clazz,
JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallNonvirtualVoidMethodA.asFunction<
- JThrowablePtr Function(
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(obj, clazz, methodID, args)
- .check();
+ _CallNonvirtualVoidMethodA(obj, clazz, methodID, args).check();
+
+ late final _GetFieldID = ptr.ref.GetFieldID.asFunction<
+ JniPointerResult Function(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
+ ffi.Pointer<ffi.Char> sig)>();
JFieldIDPtr GetFieldID(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig) =>
- ref.GetFieldID.asFunction<
- JniPointerResult Function(
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>()(clazz, name, sig)
- .fieldID;
+ _GetFieldID(clazz, name, sig).fieldID;
+
+ late final _GetObjectField = ptr.ref.GetObjectField
+ .asFunction<JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>();
JObjectPtr GetObjectField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- ref.GetObjectField.asFunction<
- JniResult Function(
- JObjectPtr obj, JFieldIDPtr fieldID)>()(obj, fieldID)
- .object;
+ _GetObjectField(obj, fieldID).object;
+
+ late final _GetBooleanField = ptr.ref.GetBooleanField
+ .asFunction<JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>();
bool GetBooleanField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- ref.GetBooleanField.asFunction<
- JniResult Function(
- JObjectPtr obj, JFieldIDPtr fieldID)>()(obj, fieldID)
- .boolean;
+ _GetBooleanField(obj, fieldID).boolean;
+
+ late final _GetByteField = ptr.ref.GetByteField
+ .asFunction<JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>();
int GetByteField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- ref.GetByteField.asFunction<
- JniResult Function(
- JObjectPtr obj, JFieldIDPtr fieldID)>()(obj, fieldID)
- .byte;
+ _GetByteField(obj, fieldID).byte;
+
+ late final _GetCharField = ptr.ref.GetCharField
+ .asFunction<JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>();
int GetCharField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- ref.GetCharField.asFunction<
- JniResult Function(
- JObjectPtr obj, JFieldIDPtr fieldID)>()(obj, fieldID)
- .char;
+ _GetCharField(obj, fieldID).char;
+
+ late final _GetShortField = ptr.ref.GetShortField
+ .asFunction<JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>();
int GetShortField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- ref.GetShortField.asFunction<
- JniResult Function(
- JObjectPtr obj, JFieldIDPtr fieldID)>()(obj, fieldID)
- .short;
+ _GetShortField(obj, fieldID).short;
+
+ late final _GetIntField = ptr.ref.GetIntField
+ .asFunction<JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>();
int GetIntField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- ref.GetIntField.asFunction<
- JniResult Function(
- JObjectPtr obj, JFieldIDPtr fieldID)>()(obj, fieldID)
- .integer;
+ _GetIntField(obj, fieldID).integer;
+
+ late final _GetLongField = ptr.ref.GetLongField
+ .asFunction<JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>();
int GetLongField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- ref.GetLongField.asFunction<
- JniResult Function(
- JObjectPtr obj, JFieldIDPtr fieldID)>()(obj, fieldID)
- .long;
+ _GetLongField(obj, fieldID).long;
+
+ late final _GetFloatField = ptr.ref.GetFloatField
+ .asFunction<JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>();
double GetFloatField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- ref.GetFloatField.asFunction<
- JniResult Function(
- JObjectPtr obj, JFieldIDPtr fieldID)>()(obj, fieldID)
- .float;
+ _GetFloatField(obj, fieldID).float;
+
+ late final _GetDoubleField = ptr.ref.GetDoubleField
+ .asFunction<JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID)>();
double GetDoubleField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- ref.GetDoubleField.asFunction<
- JniResult Function(
- JObjectPtr obj, JFieldIDPtr fieldID)>()(obj, fieldID)
- .doubleFloat;
+ _GetDoubleField(obj, fieldID).doubleFloat;
+
+ late final _SetObjectField = ptr.ref.SetObjectField.asFunction<
+ JThrowablePtr Function(
+ JObjectPtr obj, JFieldIDPtr fieldID, JObjectPtr val)>();
void SetObjectField(JObjectPtr obj, JFieldIDPtr fieldID, JObjectPtr val) =>
- ref.SetObjectField.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID,
- JObjectPtr val)>()(obj, fieldID, val)
- .check();
+ _SetObjectField(obj, fieldID, val).check();
+
+ late final _SetBooleanField = ptr.ref.SetBooleanField.asFunction<
+ JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, int val)>();
void SetBooleanField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- ref.SetBooleanField.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID,
- int val)>()(obj, fieldID, val)
- .check();
+ _SetBooleanField(obj, fieldID, val).check();
+
+ late final _SetByteField = ptr.ref.SetByteField.asFunction<
+ JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, int val)>();
void SetByteField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- ref.SetByteField.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID,
- int val)>()(obj, fieldID, val)
- .check();
+ _SetByteField(obj, fieldID, val).check();
+
+ late final _SetCharField = ptr.ref.SetCharField.asFunction<
+ JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, int val)>();
void SetCharField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- ref.SetCharField.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID,
- int val)>()(obj, fieldID, val)
- .check();
+ _SetCharField(obj, fieldID, val).check();
+
+ late final _SetShortField = ptr.ref.SetShortField.asFunction<
+ JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, int val)>();
void SetShortField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- ref.SetShortField.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID,
- int val)>()(obj, fieldID, val)
- .check();
+ _SetShortField(obj, fieldID, val).check();
+
+ late final _SetIntField = ptr.ref.SetIntField.asFunction<
+ JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, int val)>();
void SetIntField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- ref.SetIntField.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID,
- int val)>()(obj, fieldID, val)
- .check();
+ _SetIntField(obj, fieldID, val).check();
+
+ late final _SetLongField = ptr.ref.SetLongField.asFunction<
+ JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID, int val)>();
void SetLongField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- ref.SetLongField.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID,
- int val)>()(obj, fieldID, val)
- .check();
+ _SetLongField(obj, fieldID, val).check();
+
+ late final _SetFloatField = ptr.ref.SetFloatField.asFunction<
+ JThrowablePtr Function(
+ JObjectPtr obj, JFieldIDPtr fieldID, double val)>();
void SetFloatField(JObjectPtr obj, JFieldIDPtr fieldID, double val) =>
- ref.SetFloatField.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID,
- double val)>()(obj, fieldID, val)
- .check();
+ _SetFloatField(obj, fieldID, val).check();
+
+ late final _SetDoubleField = ptr.ref.SetDoubleField.asFunction<
+ JThrowablePtr Function(
+ JObjectPtr obj, JFieldIDPtr fieldID, double val)>();
void SetDoubleField(JObjectPtr obj, JFieldIDPtr fieldID, double val) =>
- ref.SetDoubleField.asFunction<
- JThrowablePtr Function(JObjectPtr obj, JFieldIDPtr fieldID,
- double val)>()(obj, fieldID, val)
- .check();
+ _SetDoubleField(obj, fieldID, val).check();
+
+ late final _GetStaticMethodID = ptr.ref.GetStaticMethodID.asFunction<
+ JniPointerResult Function(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
+ ffi.Pointer<ffi.Char> sig)>();
JMethodIDPtr GetStaticMethodID(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig) =>
- ref.GetStaticMethodID.asFunction<
- JniPointerResult Function(
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>()(clazz, name, sig)
- .methodID;
+ _GetStaticMethodID(clazz, name, sig).methodID;
+
+ late final _CallStaticObjectMethod = ptr.ref.CallStaticObjectMethod
+ .asFunction<JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>();
JObjectPtr CallStaticObjectMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallStaticObjectMethod.asFunction<
- JniResult Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .object;
+ _CallStaticObjectMethod(clazz, methodID).object;
+
+ late final _CallStaticObjectMethodA = ptr.ref.CallStaticObjectMethodA
+ .asFunction<
+ JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
+ ffi.Pointer<JValue> args)>();
JObjectPtr CallStaticObjectMethodA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallStaticObjectMethodA.asFunction<
- JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .object;
+ _CallStaticObjectMethodA(clazz, methodID, args).object;
+
+ late final _CallStaticBooleanMethod = ptr.ref.CallStaticBooleanMethod
+ .asFunction<JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>();
bool CallStaticBooleanMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallStaticBooleanMethod.asFunction<
- JniResult Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .boolean;
+ _CallStaticBooleanMethod(clazz, methodID).boolean;
+
+ late final _CallStaticBooleanMethodA = ptr.ref.CallStaticBooleanMethodA
+ .asFunction<
+ JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
+ ffi.Pointer<JValue> args)>();
bool CallStaticBooleanMethodA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallStaticBooleanMethodA.asFunction<
- JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .boolean;
+ _CallStaticBooleanMethodA(clazz, methodID, args).boolean;
+
+ late final _CallStaticByteMethod = ptr.ref.CallStaticByteMethod
+ .asFunction<JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>();
int CallStaticByteMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallStaticByteMethod.asFunction<
- JniResult Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .byte;
+ _CallStaticByteMethod(clazz, methodID).byte;
+
+ late final _CallStaticByteMethodA = ptr.ref.CallStaticByteMethodA.asFunction<
+ JniResult Function(
+ JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallStaticByteMethodA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallStaticByteMethodA.asFunction<
- JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .byte;
+ _CallStaticByteMethodA(clazz, methodID, args).byte;
+
+ late final _CallStaticCharMethod = ptr.ref.CallStaticCharMethod
+ .asFunction<JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>();
int CallStaticCharMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallStaticCharMethod.asFunction<
- JniResult Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .char;
+ _CallStaticCharMethod(clazz, methodID).char;
+
+ late final _CallStaticCharMethodA = ptr.ref.CallStaticCharMethodA.asFunction<
+ JniResult Function(
+ JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallStaticCharMethodA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallStaticCharMethodA.asFunction<
- JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .char;
+ _CallStaticCharMethodA(clazz, methodID, args).char;
+
+ late final _CallStaticShortMethod = ptr.ref.CallStaticShortMethod
+ .asFunction<JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>();
int CallStaticShortMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallStaticShortMethod.asFunction<
- JniResult Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .short;
+ _CallStaticShortMethod(clazz, methodID).short;
+
+ late final _CallStaticShortMethodA = ptr.ref.CallStaticShortMethodA
+ .asFunction<
+ JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
+ ffi.Pointer<JValue> args)>();
int CallStaticShortMethodA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallStaticShortMethodA.asFunction<
- JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .short;
+ _CallStaticShortMethodA(clazz, methodID, args).short;
+
+ late final _CallStaticIntMethod = ptr.ref.CallStaticIntMethod
+ .asFunction<JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>();
int CallStaticIntMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallStaticIntMethod.asFunction<
- JniResult Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .integer;
+ _CallStaticIntMethod(clazz, methodID).integer;
+
+ late final _CallStaticIntMethodA = ptr.ref.CallStaticIntMethodA.asFunction<
+ JniResult Function(
+ JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallStaticIntMethodA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallStaticIntMethodA.asFunction<
- JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .integer;
+ _CallStaticIntMethodA(clazz, methodID, args).integer;
+
+ late final _CallStaticLongMethod = ptr.ref.CallStaticLongMethod
+ .asFunction<JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>();
int CallStaticLongMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallStaticLongMethod.asFunction<
- JniResult Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .long;
+ _CallStaticLongMethod(clazz, methodID).long;
+
+ late final _CallStaticLongMethodA = ptr.ref.CallStaticLongMethodA.asFunction<
+ JniResult Function(
+ JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
int CallStaticLongMethodA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallStaticLongMethodA.asFunction<
- JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .long;
+ _CallStaticLongMethodA(clazz, methodID, args).long;
+
+ late final _CallStaticFloatMethod = ptr.ref.CallStaticFloatMethod
+ .asFunction<JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>();
double CallStaticFloatMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallStaticFloatMethod.asFunction<
- JniResult Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .float;
+ _CallStaticFloatMethod(clazz, methodID).float;
+
+ late final _CallStaticFloatMethodA = ptr.ref.CallStaticFloatMethodA
+ .asFunction<
+ JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
+ ffi.Pointer<JValue> args)>();
double CallStaticFloatMethodA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallStaticFloatMethodA.asFunction<
- JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .float;
+ _CallStaticFloatMethodA(clazz, methodID, args).float;
+
+ late final _CallStaticDoubleMethod = ptr.ref.CallStaticDoubleMethod
+ .asFunction<JniResult Function(JClassPtr clazz, JMethodIDPtr methodID)>();
double CallStaticDoubleMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallStaticDoubleMethod.asFunction<
- JniResult Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .doubleFloat;
+ _CallStaticDoubleMethod(clazz, methodID).doubleFloat;
+
+ late final _CallStaticDoubleMethodA = ptr.ref.CallStaticDoubleMethodA
+ .asFunction<
+ JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
+ ffi.Pointer<JValue> args)>();
double CallStaticDoubleMethodA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallStaticDoubleMethodA.asFunction<
- JniResult Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .doubleFloat;
+ _CallStaticDoubleMethodA(clazz, methodID, args).doubleFloat;
+
+ late final _CallStaticVoidMethod = ptr.ref.CallStaticVoidMethod.asFunction<
+ JThrowablePtr Function(JClassPtr clazz, JMethodIDPtr methodID)>();
void CallStaticVoidMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- ref.CallStaticVoidMethod.asFunction<
- JThrowablePtr Function(
- JClassPtr clazz, JMethodIDPtr methodID)>()(clazz, methodID)
- .check();
+ _CallStaticVoidMethod(clazz, methodID).check();
+
+ late final _CallStaticVoidMethodA = ptr.ref.CallStaticVoidMethodA.asFunction<
+ JThrowablePtr Function(
+ JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args)>();
void CallStaticVoidMethodA(
JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- ref.CallStaticVoidMethodA.asFunction<
- JThrowablePtr Function(JClassPtr clazz, JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(clazz, methodID, args)
- .check();
+ _CallStaticVoidMethodA(clazz, methodID, args).check();
+
+ late final _GetStaticFieldID = ptr.ref.GetStaticFieldID.asFunction<
+ JniPointerResult Function(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
+ ffi.Pointer<ffi.Char> sig)>();
JFieldIDPtr GetStaticFieldID(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
ffi.Pointer<ffi.Char> sig) =>
- ref.GetStaticFieldID.asFunction<
- JniPointerResult Function(
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>()(clazz, name, sig)
- .fieldID;
+ _GetStaticFieldID(clazz, name, sig).fieldID;
+
+ late final _GetStaticObjectField = ptr.ref.GetStaticObjectField
+ .asFunction<JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>();
JObjectPtr GetStaticObjectField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- ref.GetStaticObjectField.asFunction<
- JniResult Function(
- JClassPtr clazz, JFieldIDPtr fieldID)>()(clazz, fieldID)
- .object;
+ _GetStaticObjectField(clazz, fieldID).object;
+
+ late final _GetStaticBooleanField = ptr.ref.GetStaticBooleanField
+ .asFunction<JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>();
bool GetStaticBooleanField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- ref.GetStaticBooleanField.asFunction<
- JniResult Function(
- JClassPtr clazz, JFieldIDPtr fieldID)>()(clazz, fieldID)
- .boolean;
+ _GetStaticBooleanField(clazz, fieldID).boolean;
+
+ late final _GetStaticByteField = ptr.ref.GetStaticByteField
+ .asFunction<JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>();
int GetStaticByteField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- ref.GetStaticByteField.asFunction<
- JniResult Function(
- JClassPtr clazz, JFieldIDPtr fieldID)>()(clazz, fieldID)
- .byte;
+ _GetStaticByteField(clazz, fieldID).byte;
+
+ late final _GetStaticCharField = ptr.ref.GetStaticCharField
+ .asFunction<JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>();
int GetStaticCharField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- ref.GetStaticCharField.asFunction<
- JniResult Function(
- JClassPtr clazz, JFieldIDPtr fieldID)>()(clazz, fieldID)
- .char;
+ _GetStaticCharField(clazz, fieldID).char;
+
+ late final _GetStaticShortField = ptr.ref.GetStaticShortField
+ .asFunction<JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>();
int GetStaticShortField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- ref.GetStaticShortField.asFunction<
- JniResult Function(
- JClassPtr clazz, JFieldIDPtr fieldID)>()(clazz, fieldID)
- .short;
+ _GetStaticShortField(clazz, fieldID).short;
+
+ late final _GetStaticIntField = ptr.ref.GetStaticIntField
+ .asFunction<JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>();
int GetStaticIntField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- ref.GetStaticIntField.asFunction<
- JniResult Function(
- JClassPtr clazz, JFieldIDPtr fieldID)>()(clazz, fieldID)
- .integer;
+ _GetStaticIntField(clazz, fieldID).integer;
+
+ late final _GetStaticLongField = ptr.ref.GetStaticLongField
+ .asFunction<JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>();
int GetStaticLongField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- ref.GetStaticLongField.asFunction<
- JniResult Function(
- JClassPtr clazz, JFieldIDPtr fieldID)>()(clazz, fieldID)
- .long;
+ _GetStaticLongField(clazz, fieldID).long;
+
+ late final _GetStaticFloatField = ptr.ref.GetStaticFloatField
+ .asFunction<JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>();
double GetStaticFloatField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- ref.GetStaticFloatField.asFunction<
- JniResult Function(
- JClassPtr clazz, JFieldIDPtr fieldID)>()(clazz, fieldID)
- .float;
+ _GetStaticFloatField(clazz, fieldID).float;
+
+ late final _GetStaticDoubleField = ptr.ref.GetStaticDoubleField
+ .asFunction<JniResult Function(JClassPtr clazz, JFieldIDPtr fieldID)>();
double GetStaticDoubleField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- ref.GetStaticDoubleField.asFunction<
- JniResult Function(
- JClassPtr clazz, JFieldIDPtr fieldID)>()(clazz, fieldID)
- .doubleFloat;
+ _GetStaticDoubleField(clazz, fieldID).doubleFloat;
+
+ late final _SetStaticObjectField = ptr.ref.SetStaticObjectField.asFunction<
+ JThrowablePtr Function(
+ JClassPtr clazz, JFieldIDPtr fieldID, JObjectPtr val)>();
void SetStaticObjectField(
JClassPtr clazz, JFieldIDPtr fieldID, JObjectPtr val) =>
- ref.SetStaticObjectField.asFunction<
- JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID,
- JObjectPtr val)>()(clazz, fieldID, val)
- .check();
+ _SetStaticObjectField(clazz, fieldID, val).check();
+
+ late final _SetStaticBooleanField = ptr.ref.SetStaticBooleanField.asFunction<
+ JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, int val)>();
void SetStaticBooleanField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- ref.SetStaticBooleanField.asFunction<
- JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID,
- int val)>()(clazz, fieldID, val)
- .check();
+ _SetStaticBooleanField(clazz, fieldID, val).check();
+
+ late final _SetStaticByteField = ptr.ref.SetStaticByteField.asFunction<
+ JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, int val)>();
void SetStaticByteField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- ref.SetStaticByteField.asFunction<
- JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID,
- int val)>()(clazz, fieldID, val)
- .check();
+ _SetStaticByteField(clazz, fieldID, val).check();
+
+ late final _SetStaticCharField = ptr.ref.SetStaticCharField.asFunction<
+ JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, int val)>();
void SetStaticCharField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- ref.SetStaticCharField.asFunction<
- JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID,
- int val)>()(clazz, fieldID, val)
- .check();
+ _SetStaticCharField(clazz, fieldID, val).check();
+
+ late final _SetStaticShortField = ptr.ref.SetStaticShortField.asFunction<
+ JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, int val)>();
void SetStaticShortField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- ref.SetStaticShortField.asFunction<
- JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID,
- int val)>()(clazz, fieldID, val)
- .check();
+ _SetStaticShortField(clazz, fieldID, val).check();
+
+ late final _SetStaticIntField = ptr.ref.SetStaticIntField.asFunction<
+ JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, int val)>();
void SetStaticIntField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- ref.SetStaticIntField.asFunction<
- JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID,
- int val)>()(clazz, fieldID, val)
- .check();
+ _SetStaticIntField(clazz, fieldID, val).check();
+
+ late final _SetStaticLongField = ptr.ref.SetStaticLongField.asFunction<
+ JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID, int val)>();
void SetStaticLongField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- ref.SetStaticLongField.asFunction<
- JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID,
- int val)>()(clazz, fieldID, val)
- .check();
+ _SetStaticLongField(clazz, fieldID, val).check();
+
+ late final _SetStaticFloatField = ptr.ref.SetStaticFloatField.asFunction<
+ JThrowablePtr Function(
+ JClassPtr clazz, JFieldIDPtr fieldID, double val)>();
void SetStaticFloatField(JClassPtr clazz, JFieldIDPtr fieldID, double val) =>
- ref.SetStaticFloatField.asFunction<
- JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID,
- double val)>()(clazz, fieldID, val)
- .check();
+ _SetStaticFloatField(clazz, fieldID, val).check();
+
+ late final _SetStaticDoubleField = ptr.ref.SetStaticDoubleField.asFunction<
+ JThrowablePtr Function(
+ JClassPtr clazz, JFieldIDPtr fieldID, double val)>();
void SetStaticDoubleField(JClassPtr clazz, JFieldIDPtr fieldID, double val) =>
- ref.SetStaticDoubleField.asFunction<
- JThrowablePtr Function(JClassPtr clazz, JFieldIDPtr fieldID,
- double val)>()(clazz, fieldID, val)
- .check();
+ _SetStaticDoubleField(clazz, fieldID, val).check();
+
+ late final _NewString = ptr.ref.NewString.asFunction<
+ JniResult Function(ffi.Pointer<JCharMarker> unicodeChars, int len)>();
JStringPtr NewString(ffi.Pointer<JCharMarker> unicodeChars, int len) =>
- ref.NewString.asFunction<
- JniResult Function(ffi.Pointer<JCharMarker> unicodeChars,
- int len)>()(unicodeChars, len)
- .object;
+ _NewString(unicodeChars, len).object;
- int GetStringLength(JStringPtr string) =>
- ref.GetStringLength.asFunction<JniResult Function(JStringPtr string)>()(
- string)
- .integer;
+ late final _GetStringLength = ptr.ref.GetStringLength
+ .asFunction<JniResult Function(JStringPtr string)>();
+
+ int GetStringLength(JStringPtr string) => _GetStringLength(string).integer;
+
+ late final _GetStringChars = ptr.ref.GetStringChars.asFunction<
+ JniPointerResult Function(
+ JStringPtr string, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<JCharMarker> GetStringChars(
JStringPtr string, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetStringChars.asFunction<
- JniPointerResult Function(JStringPtr string,
- ffi.Pointer<JBooleanMarker> isCopy)>()(string, isCopy)
- .getPointer<JCharMarker>();
+ _GetStringChars(string, isCopy).getPointer<JCharMarker>();
+
+ late final _ReleaseStringChars = ptr.ref.ReleaseStringChars.asFunction<
+ JThrowablePtr Function(
+ JStringPtr string, ffi.Pointer<JCharMarker> isCopy)>();
void ReleaseStringChars(JStringPtr string, ffi.Pointer<JCharMarker> isCopy) =>
- ref.ReleaseStringChars.asFunction<
- JThrowablePtr Function(JStringPtr string,
- ffi.Pointer<JCharMarker> isCopy)>()(string, isCopy)
- .check();
+ _ReleaseStringChars(string, isCopy).check();
- JStringPtr NewStringUTF(ffi.Pointer<ffi.Char> bytes) => ref.NewStringUTF
- .asFunction<JniResult Function(ffi.Pointer<ffi.Char> bytes)>()(bytes)
- .object;
+ late final _NewStringUTF = ptr.ref.NewStringUTF
+ .asFunction<JniResult Function(ffi.Pointer<ffi.Char> bytes)>();
- int GetStringUTFLength(JStringPtr string) => ref.GetStringUTFLength
- .asFunction<JniResult Function(JStringPtr string)>()(string)
- .integer;
+ JStringPtr NewStringUTF(ffi.Pointer<ffi.Char> bytes) =>
+ _NewStringUTF(bytes).object;
+
+ late final _GetStringUTFLength = ptr.ref.GetStringUTFLength
+ .asFunction<JniResult Function(JStringPtr string)>();
+
+ int GetStringUTFLength(JStringPtr string) =>
+ _GetStringUTFLength(string).integer;
+
+ late final _GetStringUTFChars = ptr.ref.GetStringUTFChars.asFunction<
+ JniPointerResult Function(
+ JStringPtr string, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<ffi.Char> GetStringUTFChars(
JStringPtr string, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetStringUTFChars.asFunction<
- JniPointerResult Function(JStringPtr string,
- ffi.Pointer<JBooleanMarker> isCopy)>()(string, isCopy)
- .getPointer<ffi.Char>();
+ _GetStringUTFChars(string, isCopy).getPointer<ffi.Char>();
+
+ late final _ReleaseStringUTFChars = ptr.ref.ReleaseStringUTFChars.asFunction<
+ JThrowablePtr Function(JStringPtr string, ffi.Pointer<ffi.Char> utf)>();
void ReleaseStringUTFChars(JStringPtr string, ffi.Pointer<ffi.Char> utf) =>
- ref.ReleaseStringUTFChars.asFunction<
- JThrowablePtr Function(
- JStringPtr string, ffi.Pointer<ffi.Char> utf)>()(string, utf)
- .check();
+ _ReleaseStringUTFChars(string, utf).check();
- int GetArrayLength(JArrayPtr array) =>
- ref.GetArrayLength.asFunction<JniResult Function(JArrayPtr array)>()(
- array)
- .integer;
+ late final _GetArrayLength =
+ ptr.ref.GetArrayLength.asFunction<JniResult Function(JArrayPtr array)>();
+
+ int GetArrayLength(JArrayPtr array) => _GetArrayLength(array).integer;
+
+ late final _NewObjectArray = ptr.ref.NewObjectArray.asFunction<
+ JniResult Function(
+ int length, JClassPtr elementClass, JObjectPtr initialElement)>();
JObjectArrayPtr NewObjectArray(
int length, JClassPtr elementClass, JObjectPtr initialElement) =>
- ref.NewObjectArray.asFunction<
- JniResult Function(int length, JClassPtr elementClass,
- JObjectPtr initialElement)>()(
- length, elementClass, initialElement)
- .object;
+ _NewObjectArray(length, elementClass, initialElement).object;
+
+ late final _GetObjectArrayElement = ptr.ref.GetObjectArrayElement
+ .asFunction<JniResult Function(JObjectArrayPtr array, int index)>();
JObjectPtr GetObjectArrayElement(JObjectArrayPtr array, int index) =>
- ref.GetObjectArrayElement.asFunction<
- JniResult Function(
- JObjectArrayPtr array, int index)>()(array, index)
- .object;
+ _GetObjectArrayElement(array, index).object;
+
+ late final _SetObjectArrayElement = ptr.ref.SetObjectArrayElement.asFunction<
+ JThrowablePtr Function(
+ JObjectArrayPtr array, int index, JObjectPtr val)>();
void SetObjectArrayElement(
JObjectArrayPtr array, int index, JObjectPtr val) =>
- ref.SetObjectArrayElement.asFunction<
- JThrowablePtr Function(JObjectArrayPtr array, int index,
- JObjectPtr val)>()(array, index, val)
- .check();
+ _SetObjectArrayElement(array, index, val).check();
+
+ late final _NewBooleanArray =
+ ptr.ref.NewBooleanArray.asFunction<JniResult Function(int length)>();
JBooleanArrayPtr NewBooleanArray(int length) =>
- ref.NewBooleanArray.asFunction<JniResult Function(int length)>()(length)
- .object;
+ _NewBooleanArray(length).object;
- JByteArrayPtr NewByteArray(int length) =>
- ref.NewByteArray.asFunction<JniResult Function(int length)>()(length)
- .object;
+ late final _NewByteArray =
+ ptr.ref.NewByteArray.asFunction<JniResult Function(int length)>();
- JCharArrayPtr NewCharArray(int length) =>
- ref.NewCharArray.asFunction<JniResult Function(int length)>()(length)
- .object;
+ JByteArrayPtr NewByteArray(int length) => _NewByteArray(length).object;
- JShortArrayPtr NewShortArray(int length) =>
- ref.NewShortArray.asFunction<JniResult Function(int length)>()(length)
- .object;
+ late final _NewCharArray =
+ ptr.ref.NewCharArray.asFunction<JniResult Function(int length)>();
- JIntArrayPtr NewIntArray(int length) =>
- ref.NewIntArray.asFunction<JniResult Function(int length)>()(length)
- .object;
+ JCharArrayPtr NewCharArray(int length) => _NewCharArray(length).object;
- JLongArrayPtr NewLongArray(int length) =>
- ref.NewLongArray.asFunction<JniResult Function(int length)>()(length)
- .object;
+ late final _NewShortArray =
+ ptr.ref.NewShortArray.asFunction<JniResult Function(int length)>();
- JFloatArrayPtr NewFloatArray(int length) =>
- ref.NewFloatArray.asFunction<JniResult Function(int length)>()(length)
- .object;
+ JShortArrayPtr NewShortArray(int length) => _NewShortArray(length).object;
- JDoubleArrayPtr NewDoubleArray(int length) =>
- ref.NewDoubleArray.asFunction<JniResult Function(int length)>()(length)
- .object;
+ late final _NewIntArray =
+ ptr.ref.NewIntArray.asFunction<JniResult Function(int length)>();
+
+ JIntArrayPtr NewIntArray(int length) => _NewIntArray(length).object;
+
+ late final _NewLongArray =
+ ptr.ref.NewLongArray.asFunction<JniResult Function(int length)>();
+
+ JLongArrayPtr NewLongArray(int length) => _NewLongArray(length).object;
+
+ late final _NewFloatArray =
+ ptr.ref.NewFloatArray.asFunction<JniResult Function(int length)>();
+
+ JFloatArrayPtr NewFloatArray(int length) => _NewFloatArray(length).object;
+
+ late final _NewDoubleArray =
+ ptr.ref.NewDoubleArray.asFunction<JniResult Function(int length)>();
+
+ JDoubleArrayPtr NewDoubleArray(int length) => _NewDoubleArray(length).object;
+
+ late final _GetBooleanArrayElements = ptr.ref.GetBooleanArrayElements
+ .asFunction<
+ JniPointerResult Function(
+ JBooleanArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<JBooleanMarker> GetBooleanArrayElements(
JBooleanArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetBooleanArrayElements.asFunction<
- JniPointerResult Function(JBooleanArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(array, isCopy)
- .getPointer<JBooleanMarker>();
+ _GetBooleanArrayElements(array, isCopy).getPointer<JBooleanMarker>();
+
+ late final _GetByteArrayElements = ptr.ref.GetByteArrayElements.asFunction<
+ JniPointerResult Function(
+ JByteArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<JByteMarker> GetByteArrayElements(
JByteArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetByteArrayElements.asFunction<
- JniPointerResult Function(JByteArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(array, isCopy)
- .getPointer<JByteMarker>();
+ _GetByteArrayElements(array, isCopy).getPointer<JByteMarker>();
+
+ late final _GetCharArrayElements = ptr.ref.GetCharArrayElements.asFunction<
+ JniPointerResult Function(
+ JCharArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<JCharMarker> GetCharArrayElements(
JCharArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetCharArrayElements.asFunction<
- JniPointerResult Function(JCharArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(array, isCopy)
- .getPointer<JCharMarker>();
+ _GetCharArrayElements(array, isCopy).getPointer<JCharMarker>();
+
+ late final _GetShortArrayElements = ptr.ref.GetShortArrayElements.asFunction<
+ JniPointerResult Function(
+ JShortArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<JShortMarker> GetShortArrayElements(
JShortArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetShortArrayElements.asFunction<
- JniPointerResult Function(JShortArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(array, isCopy)
- .getPointer<JShortMarker>();
+ _GetShortArrayElements(array, isCopy).getPointer<JShortMarker>();
+
+ late final _GetIntArrayElements = ptr.ref.GetIntArrayElements.asFunction<
+ JniPointerResult Function(
+ JIntArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<JIntMarker> GetIntArrayElements(
JIntArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetIntArrayElements.asFunction<
- JniPointerResult Function(JIntArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(array, isCopy)
- .getPointer<JIntMarker>();
+ _GetIntArrayElements(array, isCopy).getPointer<JIntMarker>();
+
+ late final _GetLongArrayElements = ptr.ref.GetLongArrayElements.asFunction<
+ JniPointerResult Function(
+ JLongArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<JLongMarker> GetLongArrayElements(
JLongArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetLongArrayElements.asFunction<
- JniPointerResult Function(JLongArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(array, isCopy)
- .getPointer<JLongMarker>();
+ _GetLongArrayElements(array, isCopy).getPointer<JLongMarker>();
+
+ late final _GetFloatArrayElements = ptr.ref.GetFloatArrayElements.asFunction<
+ JniPointerResult Function(
+ JFloatArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<JFloatMarker> GetFloatArrayElements(
JFloatArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetFloatArrayElements.asFunction<
- JniPointerResult Function(JFloatArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(array, isCopy)
- .getPointer<JFloatMarker>();
+ _GetFloatArrayElements(array, isCopy).getPointer<JFloatMarker>();
+
+ late final _GetDoubleArrayElements = ptr.ref.GetDoubleArrayElements
+ .asFunction<
+ JniPointerResult Function(
+ JDoubleArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<JDoubleMarker> GetDoubleArrayElements(
JDoubleArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetDoubleArrayElements.asFunction<
- JniPointerResult Function(JDoubleArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(array, isCopy)
- .getPointer<JDoubleMarker>();
+ _GetDoubleArrayElements(array, isCopy).getPointer<JDoubleMarker>();
+
+ late final _ReleaseBooleanArrayElements = ptr.ref.ReleaseBooleanArrayElements
+ .asFunction<
+ JThrowablePtr Function(JBooleanArrayPtr array,
+ ffi.Pointer<JBooleanMarker> elems, int mode)>();
void ReleaseBooleanArrayElements(JBooleanArrayPtr array,
ffi.Pointer<JBooleanMarker> elems, int mode) =>
- ref.ReleaseBooleanArrayElements.asFunction<
- JThrowablePtr Function(
- JBooleanArrayPtr array,
- ffi.Pointer<JBooleanMarker> elems,
- int mode)>()(array, elems, mode)
- .check();
+ _ReleaseBooleanArrayElements(array, elems, mode).check();
+
+ late final _ReleaseByteArrayElements = ptr.ref.ReleaseByteArrayElements
+ .asFunction<
+ JThrowablePtr Function(
+ JByteArrayPtr array, ffi.Pointer<JByteMarker> elems, int mode)>();
void ReleaseByteArrayElements(
JByteArrayPtr array, ffi.Pointer<JByteMarker> elems, int mode) =>
- ref.ReleaseByteArrayElements.asFunction<
- JThrowablePtr Function(
- JByteArrayPtr array,
- ffi.Pointer<JByteMarker> elems,
- int mode)>()(array, elems, mode)
- .check();
+ _ReleaseByteArrayElements(array, elems, mode).check();
+
+ late final _ReleaseCharArrayElements = ptr.ref.ReleaseCharArrayElements
+ .asFunction<
+ JThrowablePtr Function(
+ JCharArrayPtr array, ffi.Pointer<JCharMarker> elems, int mode)>();
void ReleaseCharArrayElements(
JCharArrayPtr array, ffi.Pointer<JCharMarker> elems, int mode) =>
- ref.ReleaseCharArrayElements.asFunction<
- JThrowablePtr Function(
- JCharArrayPtr array,
- ffi.Pointer<JCharMarker> elems,
- int mode)>()(array, elems, mode)
- .check();
+ _ReleaseCharArrayElements(array, elems, mode).check();
+
+ late final _ReleaseShortArrayElements = ptr.ref.ReleaseShortArrayElements
+ .asFunction<
+ JThrowablePtr Function(JShortArrayPtr array,
+ ffi.Pointer<JShortMarker> elems, int mode)>();
void ReleaseShortArrayElements(
JShortArrayPtr array, ffi.Pointer<JShortMarker> elems, int mode) =>
- ref.ReleaseShortArrayElements.asFunction<
- JThrowablePtr Function(
- JShortArrayPtr array,
- ffi.Pointer<JShortMarker> elems,
- int mode)>()(array, elems, mode)
- .check();
+ _ReleaseShortArrayElements(array, elems, mode).check();
+
+ late final _ReleaseIntArrayElements = ptr.ref.ReleaseIntArrayElements
+ .asFunction<
+ JThrowablePtr Function(
+ JIntArrayPtr array, ffi.Pointer<JIntMarker> elems, int mode)>();
void ReleaseIntArrayElements(
JIntArrayPtr array, ffi.Pointer<JIntMarker> elems, int mode) =>
- ref.ReleaseIntArrayElements.asFunction<
- JThrowablePtr Function(
- JIntArrayPtr array,
- ffi.Pointer<JIntMarker> elems,
- int mode)>()(array, elems, mode)
- .check();
+ _ReleaseIntArrayElements(array, elems, mode).check();
+
+ late final _ReleaseLongArrayElements = ptr.ref.ReleaseLongArrayElements
+ .asFunction<
+ JThrowablePtr Function(
+ JLongArrayPtr array, ffi.Pointer<JLongMarker> elems, int mode)>();
void ReleaseLongArrayElements(
JLongArrayPtr array, ffi.Pointer<JLongMarker> elems, int mode) =>
- ref.ReleaseLongArrayElements.asFunction<
- JThrowablePtr Function(
- JLongArrayPtr array,
- ffi.Pointer<JLongMarker> elems,
- int mode)>()(array, elems, mode)
- .check();
+ _ReleaseLongArrayElements(array, elems, mode).check();
+
+ late final _ReleaseFloatArrayElements = ptr.ref.ReleaseFloatArrayElements
+ .asFunction<
+ JThrowablePtr Function(JFloatArrayPtr array,
+ ffi.Pointer<JFloatMarker> elems, int mode)>();
void ReleaseFloatArrayElements(
JFloatArrayPtr array, ffi.Pointer<JFloatMarker> elems, int mode) =>
- ref.ReleaseFloatArrayElements.asFunction<
- JThrowablePtr Function(
- JFloatArrayPtr array,
- ffi.Pointer<JFloatMarker> elems,
- int mode)>()(array, elems, mode)
- .check();
+ _ReleaseFloatArrayElements(array, elems, mode).check();
+
+ late final _ReleaseDoubleArrayElements = ptr.ref.ReleaseDoubleArrayElements
+ .asFunction<
+ JThrowablePtr Function(JDoubleArrayPtr array,
+ ffi.Pointer<JDoubleMarker> elems, int mode)>();
void ReleaseDoubleArrayElements(
JDoubleArrayPtr array, ffi.Pointer<JDoubleMarker> elems, int mode) =>
- ref.ReleaseDoubleArrayElements.asFunction<
- JThrowablePtr Function(
- JDoubleArrayPtr array,
- ffi.Pointer<JDoubleMarker> elems,
- int mode)>()(array, elems, mode)
- .check();
+ _ReleaseDoubleArrayElements(array, elems, mode).check();
+
+ late final _GetBooleanArrayRegion = ptr.ref.GetBooleanArrayRegion.asFunction<
+ JThrowablePtr Function(JBooleanArrayPtr array, int start, int len,
+ ffi.Pointer<JBooleanMarker> buf)>();
void GetBooleanArrayRegion(JBooleanArrayPtr array, int start, int len,
ffi.Pointer<JBooleanMarker> buf) =>
- ref.GetBooleanArrayRegion.asFunction<
- JThrowablePtr Function(JBooleanArrayPtr array, int start, int len,
- ffi.Pointer<JBooleanMarker> buf)>()(array, start, len, buf)
- .check();
+ _GetBooleanArrayRegion(array, start, len, buf).check();
+
+ late final _GetByteArrayRegion = ptr.ref.GetByteArrayRegion.asFunction<
+ JThrowablePtr Function(JByteArrayPtr array, int start, int len,
+ ffi.Pointer<JByteMarker> buf)>();
void GetByteArrayRegion(JByteArrayPtr array, int start, int len,
ffi.Pointer<JByteMarker> buf) =>
- ref.GetByteArrayRegion.asFunction<
- JThrowablePtr Function(JByteArrayPtr array, int start, int len,
- ffi.Pointer<JByteMarker> buf)>()(array, start, len, buf)
- .check();
+ _GetByteArrayRegion(array, start, len, buf).check();
+
+ late final _GetCharArrayRegion = ptr.ref.GetCharArrayRegion.asFunction<
+ JThrowablePtr Function(JCharArrayPtr array, int start, int len,
+ ffi.Pointer<JCharMarker> buf)>();
void GetCharArrayRegion(JCharArrayPtr array, int start, int len,
ffi.Pointer<JCharMarker> buf) =>
- ref.GetCharArrayRegion.asFunction<
- JThrowablePtr Function(JCharArrayPtr array, int start, int len,
- ffi.Pointer<JCharMarker> buf)>()(array, start, len, buf)
- .check();
+ _GetCharArrayRegion(array, start, len, buf).check();
+
+ late final _GetShortArrayRegion = ptr.ref.GetShortArrayRegion.asFunction<
+ JThrowablePtr Function(JShortArrayPtr array, int start, int len,
+ ffi.Pointer<JShortMarker> buf)>();
void GetShortArrayRegion(JShortArrayPtr array, int start, int len,
ffi.Pointer<JShortMarker> buf) =>
- ref.GetShortArrayRegion.asFunction<
- JThrowablePtr Function(JShortArrayPtr array, int start, int len,
- ffi.Pointer<JShortMarker> buf)>()(array, start, len, buf)
- .check();
+ _GetShortArrayRegion(array, start, len, buf).check();
+
+ late final _GetIntArrayRegion = ptr.ref.GetIntArrayRegion.asFunction<
+ JThrowablePtr Function(JIntArrayPtr array, int start, int len,
+ ffi.Pointer<JIntMarker> buf)>();
void GetIntArrayRegion(JIntArrayPtr array, int start, int len,
ffi.Pointer<JIntMarker> buf) =>
- ref.GetIntArrayRegion.asFunction<
- JThrowablePtr Function(JIntArrayPtr array, int start, int len,
- ffi.Pointer<JIntMarker> buf)>()(array, start, len, buf)
- .check();
+ _GetIntArrayRegion(array, start, len, buf).check();
+
+ late final _GetLongArrayRegion = ptr.ref.GetLongArrayRegion.asFunction<
+ JThrowablePtr Function(JLongArrayPtr array, int start, int len,
+ ffi.Pointer<JLongMarker> buf)>();
void GetLongArrayRegion(JLongArrayPtr array, int start, int len,
ffi.Pointer<JLongMarker> buf) =>
- ref.GetLongArrayRegion.asFunction<
- JThrowablePtr Function(JLongArrayPtr array, int start, int len,
- ffi.Pointer<JLongMarker> buf)>()(array, start, len, buf)
- .check();
+ _GetLongArrayRegion(array, start, len, buf).check();
+
+ late final _GetFloatArrayRegion = ptr.ref.GetFloatArrayRegion.asFunction<
+ JThrowablePtr Function(JFloatArrayPtr array, int start, int len,
+ ffi.Pointer<JFloatMarker> buf)>();
void GetFloatArrayRegion(JFloatArrayPtr array, int start, int len,
ffi.Pointer<JFloatMarker> buf) =>
- ref.GetFloatArrayRegion.asFunction<
- JThrowablePtr Function(JFloatArrayPtr array, int start, int len,
- ffi.Pointer<JFloatMarker> buf)>()(array, start, len, buf)
- .check();
+ _GetFloatArrayRegion(array, start, len, buf).check();
+
+ late final _GetDoubleArrayRegion = ptr.ref.GetDoubleArrayRegion.asFunction<
+ JThrowablePtr Function(JDoubleArrayPtr array, int start, int len,
+ ffi.Pointer<JDoubleMarker> buf)>();
void GetDoubleArrayRegion(JDoubleArrayPtr array, int start, int len,
ffi.Pointer<JDoubleMarker> buf) =>
- ref.GetDoubleArrayRegion.asFunction<
- JThrowablePtr Function(JDoubleArrayPtr array, int start, int len,
- ffi.Pointer<JDoubleMarker> buf)>()(array, start, len, buf)
- .check();
+ _GetDoubleArrayRegion(array, start, len, buf).check();
+
+ late final _SetBooleanArrayRegion = ptr.ref.SetBooleanArrayRegion.asFunction<
+ JThrowablePtr Function(JBooleanArrayPtr array, int start, int len,
+ ffi.Pointer<JBooleanMarker> buf)>();
void SetBooleanArrayRegion(JBooleanArrayPtr array, int start, int len,
ffi.Pointer<JBooleanMarker> buf) =>
- ref.SetBooleanArrayRegion.asFunction<
- JThrowablePtr Function(JBooleanArrayPtr array, int start, int len,
- ffi.Pointer<JBooleanMarker> buf)>()(array, start, len, buf)
- .check();
+ _SetBooleanArrayRegion(array, start, len, buf).check();
+
+ late final _SetByteArrayRegion = ptr.ref.SetByteArrayRegion.asFunction<
+ JThrowablePtr Function(JByteArrayPtr array, int start, int len,
+ ffi.Pointer<JByteMarker> buf)>();
void SetByteArrayRegion(JByteArrayPtr array, int start, int len,
ffi.Pointer<JByteMarker> buf) =>
- ref.SetByteArrayRegion.asFunction<
- JThrowablePtr Function(JByteArrayPtr array, int start, int len,
- ffi.Pointer<JByteMarker> buf)>()(array, start, len, buf)
- .check();
+ _SetByteArrayRegion(array, start, len, buf).check();
+
+ late final _SetCharArrayRegion = ptr.ref.SetCharArrayRegion.asFunction<
+ JThrowablePtr Function(JCharArrayPtr array, int start, int len,
+ ffi.Pointer<JCharMarker> buf)>();
void SetCharArrayRegion(JCharArrayPtr array, int start, int len,
ffi.Pointer<JCharMarker> buf) =>
- ref.SetCharArrayRegion.asFunction<
- JThrowablePtr Function(JCharArrayPtr array, int start, int len,
- ffi.Pointer<JCharMarker> buf)>()(array, start, len, buf)
- .check();
+ _SetCharArrayRegion(array, start, len, buf).check();
+
+ late final _SetShortArrayRegion = ptr.ref.SetShortArrayRegion.asFunction<
+ JThrowablePtr Function(JShortArrayPtr array, int start, int len,
+ ffi.Pointer<JShortMarker> buf)>();
void SetShortArrayRegion(JShortArrayPtr array, int start, int len,
ffi.Pointer<JShortMarker> buf) =>
- ref.SetShortArrayRegion.asFunction<
- JThrowablePtr Function(JShortArrayPtr array, int start, int len,
- ffi.Pointer<JShortMarker> buf)>()(array, start, len, buf)
- .check();
+ _SetShortArrayRegion(array, start, len, buf).check();
+
+ late final _SetIntArrayRegion = ptr.ref.SetIntArrayRegion.asFunction<
+ JThrowablePtr Function(JIntArrayPtr array, int start, int len,
+ ffi.Pointer<JIntMarker> buf)>();
void SetIntArrayRegion(JIntArrayPtr array, int start, int len,
ffi.Pointer<JIntMarker> buf) =>
- ref.SetIntArrayRegion.asFunction<
- JThrowablePtr Function(JIntArrayPtr array, int start, int len,
- ffi.Pointer<JIntMarker> buf)>()(array, start, len, buf)
- .check();
+ _SetIntArrayRegion(array, start, len, buf).check();
+
+ late final _SetLongArrayRegion = ptr.ref.SetLongArrayRegion.asFunction<
+ JThrowablePtr Function(JLongArrayPtr array, int start, int len,
+ ffi.Pointer<JLongMarker> buf)>();
void SetLongArrayRegion(JLongArrayPtr array, int start, int len,
ffi.Pointer<JLongMarker> buf) =>
- ref.SetLongArrayRegion.asFunction<
- JThrowablePtr Function(JLongArrayPtr array, int start, int len,
- ffi.Pointer<JLongMarker> buf)>()(array, start, len, buf)
- .check();
+ _SetLongArrayRegion(array, start, len, buf).check();
+
+ late final _SetFloatArrayRegion = ptr.ref.SetFloatArrayRegion.asFunction<
+ JThrowablePtr Function(JFloatArrayPtr array, int start, int len,
+ ffi.Pointer<JFloatMarker> buf)>();
void SetFloatArrayRegion(JFloatArrayPtr array, int start, int len,
ffi.Pointer<JFloatMarker> buf) =>
- ref.SetFloatArrayRegion.asFunction<
- JThrowablePtr Function(JFloatArrayPtr array, int start, int len,
- ffi.Pointer<JFloatMarker> buf)>()(array, start, len, buf)
- .check();
+ _SetFloatArrayRegion(array, start, len, buf).check();
+
+ late final _SetDoubleArrayRegion = ptr.ref.SetDoubleArrayRegion.asFunction<
+ JThrowablePtr Function(JDoubleArrayPtr array, int start, int len,
+ ffi.Pointer<JDoubleMarker> buf)>();
void SetDoubleArrayRegion(JDoubleArrayPtr array, int start, int len,
ffi.Pointer<JDoubleMarker> buf) =>
- ref.SetDoubleArrayRegion.asFunction<
- JThrowablePtr Function(JDoubleArrayPtr array, int start, int len,
- ffi.Pointer<JDoubleMarker> buf)>()(array, start, len, buf)
- .check();
+ _SetDoubleArrayRegion(array, start, len, buf).check();
+
+ late final _RegisterNatives = ptr.ref.RegisterNatives.asFunction<
+ JniResult Function(JClassPtr clazz, ffi.Pointer<JNINativeMethod> methods,
+ int nMethods)>();
int RegisterNatives(JClassPtr clazz, ffi.Pointer<JNINativeMethod> methods,
int nMethods) =>
- ref.RegisterNatives.asFunction<
- JniResult Function(
- JClassPtr clazz,
- ffi.Pointer<JNINativeMethod> methods,
- int nMethods)>()(clazz, methods, nMethods)
- .integer;
+ _RegisterNatives(clazz, methods, nMethods).integer;
- int UnregisterNatives(JClassPtr clazz) =>
- ref.UnregisterNatives.asFunction<JniResult Function(JClassPtr clazz)>()(
- clazz)
- .integer;
+ late final _UnregisterNatives = ptr.ref.UnregisterNatives
+ .asFunction<JniResult Function(JClassPtr clazz)>();
- int MonitorEnter(JObjectPtr obj) =>
- ref.MonitorEnter.asFunction<JniResult Function(JObjectPtr obj)>()(obj)
- .integer;
+ int UnregisterNatives(JClassPtr clazz) => _UnregisterNatives(clazz).integer;
- int MonitorExit(JObjectPtr obj) =>
- ref.MonitorExit.asFunction<JniResult Function(JObjectPtr obj)>()(obj)
- .integer;
+ late final _MonitorEnter =
+ ptr.ref.MonitorEnter.asFunction<JniResult Function(JObjectPtr obj)>();
- int GetJavaVM(ffi.Pointer<ffi.Pointer<JavaVM1>> vm) =>
- ref.GetJavaVM.asFunction<
- JniResult Function(ffi.Pointer<ffi.Pointer<JavaVM1>> vm)>()(vm)
- .integer;
+ int MonitorEnter(JObjectPtr obj) => _MonitorEnter(obj).integer;
+
+ late final _MonitorExit =
+ ptr.ref.MonitorExit.asFunction<JniResult Function(JObjectPtr obj)>();
+
+ int MonitorExit(JObjectPtr obj) => _MonitorExit(obj).integer;
+
+ late final _GetJavaVM = ptr.ref.GetJavaVM
+ .asFunction<JniResult Function(ffi.Pointer<ffi.Pointer<JavaVM1>> vm)>();
+
+ int GetJavaVM(ffi.Pointer<ffi.Pointer<JavaVM1>> vm) => _GetJavaVM(vm).integer;
+
+ late final _GetStringRegion = ptr.ref.GetStringRegion.asFunction<
+ JThrowablePtr Function(
+ JStringPtr str, int start, int len, ffi.Pointer<JCharMarker> buf)>();
void GetStringRegion(
JStringPtr str, int start, int len, ffi.Pointer<JCharMarker> buf) =>
- ref.GetStringRegion.asFunction<
- JThrowablePtr Function(JStringPtr str, int start, int len,
- ffi.Pointer<JCharMarker> buf)>()(str, start, len, buf)
- .check();
+ _GetStringRegion(str, start, len, buf).check();
+
+ late final _GetStringUTFRegion = ptr.ref.GetStringUTFRegion.asFunction<
+ JThrowablePtr Function(
+ JStringPtr str, int start, int len, ffi.Pointer<ffi.Char> buf)>();
void GetStringUTFRegion(
JStringPtr str, int start, int len, ffi.Pointer<ffi.Char> buf) =>
- ref.GetStringUTFRegion.asFunction<
- JThrowablePtr Function(JStringPtr str, int start, int len,
- ffi.Pointer<ffi.Char> buf)>()(str, start, len, buf)
- .check();
+ _GetStringUTFRegion(str, start, len, buf).check();
+
+ late final _GetPrimitiveArrayCritical = ptr.ref.GetPrimitiveArrayCritical
+ .asFunction<
+ JniPointerResult Function(
+ JArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<ffi.Void> GetPrimitiveArrayCritical(
JArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetPrimitiveArrayCritical.asFunction<
- JniPointerResult Function(JArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(array, isCopy)
- .getPointer<ffi.Void>();
+ _GetPrimitiveArrayCritical(array, isCopy).getPointer<ffi.Void>();
+
+ late final _ReleasePrimitiveArrayCritical =
+ ptr.ref.ReleasePrimitiveArrayCritical.asFunction<
+ JThrowablePtr Function(
+ JArrayPtr array, ffi.Pointer<ffi.Void> carray, int mode)>();
void ReleasePrimitiveArrayCritical(
JArrayPtr array, ffi.Pointer<ffi.Void> carray, int mode) =>
- ref.ReleasePrimitiveArrayCritical.asFunction<
- JThrowablePtr Function(
- JArrayPtr array,
- ffi.Pointer<ffi.Void> carray,
- int mode)>()(array, carray, mode)
- .check();
+ _ReleasePrimitiveArrayCritical(array, carray, mode).check();
+
+ late final _GetStringCritical = ptr.ref.GetStringCritical.asFunction<
+ JniPointerResult Function(
+ JStringPtr str, ffi.Pointer<JBooleanMarker> isCopy)>();
ffi.Pointer<JCharMarker> GetStringCritical(
JStringPtr str, ffi.Pointer<JBooleanMarker> isCopy) =>
- ref.GetStringCritical.asFunction<
- JniPointerResult Function(JStringPtr str,
- ffi.Pointer<JBooleanMarker> isCopy)>()(str, isCopy)
- .getPointer<JCharMarker>();
+ _GetStringCritical(str, isCopy).getPointer<JCharMarker>();
+
+ late final _ReleaseStringCritical = ptr.ref.ReleaseStringCritical.asFunction<
+ JThrowablePtr Function(
+ JStringPtr str, ffi.Pointer<JCharMarker> carray)>();
void ReleaseStringCritical(JStringPtr str, ffi.Pointer<JCharMarker> carray) =>
- ref.ReleaseStringCritical.asFunction<
- JThrowablePtr Function(JStringPtr str,
- ffi.Pointer<JCharMarker> carray)>()(str, carray)
- .check();
+ _ReleaseStringCritical(str, carray).check();
- JWeakPtr NewWeakGlobalRef(JObjectPtr obj) =>
- ref.NewWeakGlobalRef.asFunction<JniResult Function(JObjectPtr obj)>()(obj)
- .object;
+ late final _NewWeakGlobalRef =
+ ptr.ref.NewWeakGlobalRef.asFunction<JniResult Function(JObjectPtr obj)>();
- void DeleteWeakGlobalRef(JWeakPtr obj) => ref.DeleteWeakGlobalRef.asFunction<
- JThrowablePtr Function(JWeakPtr obj)>()(obj)
- .check();
+ JWeakPtr NewWeakGlobalRef(JObjectPtr obj) => _NewWeakGlobalRef(obj).object;
- bool ExceptionCheck() =>
- ref.ExceptionCheck.asFunction<JniResult Function()>()().boolean;
+ late final _DeleteWeakGlobalRef = ptr.ref.DeleteWeakGlobalRef
+ .asFunction<JThrowablePtr Function(JWeakPtr obj)>();
+
+ void DeleteWeakGlobalRef(JWeakPtr obj) => _DeleteWeakGlobalRef(obj).check();
+
+ late final _ExceptionCheck =
+ ptr.ref.ExceptionCheck.asFunction<JniResult Function()>();
+
+ bool ExceptionCheck() => _ExceptionCheck().boolean;
+
+ late final _NewDirectByteBuffer = ptr.ref.NewDirectByteBuffer.asFunction<
+ JniResult Function(ffi.Pointer<ffi.Void> address, int capacity)>();
JObjectPtr NewDirectByteBuffer(ffi.Pointer<ffi.Void> address, int capacity) =>
- ref.NewDirectByteBuffer.asFunction<
- JniResult Function(ffi.Pointer<ffi.Void> address,
- int capacity)>()(address, capacity)
- .object;
+ _NewDirectByteBuffer(address, capacity).object;
+
+ late final _GetDirectBufferAddress = ptr.ref.GetDirectBufferAddress
+ .asFunction<JniPointerResult Function(JObjectPtr buf)>();
ffi.Pointer<ffi.Void> GetDirectBufferAddress(JObjectPtr buf) =>
- ref.GetDirectBufferAddress.asFunction<
- JniPointerResult Function(JObjectPtr buf)>()(buf)
- .getPointer<ffi.Void>();
+ _GetDirectBufferAddress(buf).getPointer<ffi.Void>();
- int GetDirectBufferCapacity(JObjectPtr buf) => ref.GetDirectBufferCapacity
- .asFunction<JniResult Function(JObjectPtr buf)>()(buf)
- .long;
+ late final _GetDirectBufferCapacity = ptr.ref.GetDirectBufferCapacity
+ .asFunction<JniResult Function(JObjectPtr buf)>();
- int GetObjectRefType(JObjectPtr obj) =>
- ref.GetObjectRefType.asFunction<JniResult Function(JObjectPtr obj)>()(obj)
- .integer;
+ int GetDirectBufferCapacity(JObjectPtr buf) =>
+ _GetDirectBufferCapacity(buf).long;
+
+ late final _GetObjectRefType =
+ ptr.ref.GetObjectRefType.asFunction<JniResult Function(JObjectPtr obj)>();
+
+ int GetObjectRefType(JObjectPtr obj) => _GetObjectRefType(obj).integer;
}
-extension JniAccessorsExtension on ffi.Pointer<JniAccessors> {
- JniClassLookupResult getClass(ffi.Pointer<ffi.Char> internalName) =>
- ref.getClass.asFunction<
- JniClassLookupResult Function(
- ffi.Pointer<ffi.Char> internalName)>()(internalName);
+/// Wraps over the function pointers in JniAccessorsStruct and exposes them as methods.
+class JniAccessors {
+ final ffi.Pointer<JniAccessorsStruct> ptr;
+ JniAccessors(this.ptr);
+ late final _getClass = ptr.ref.getClass.asFunction<
+ JniClassLookupResult Function(ffi.Pointer<ffi.Char> internalName)>();
+ JniClassLookupResult getClass(ffi.Pointer<ffi.Char> internalName) =>
+ _getClass(internalName);
+
+ late final _getFieldID = ptr.ref.getFieldID.asFunction<
+ JniPointerResult Function(JClassPtr cls, ffi.Pointer<ffi.Char> fieldName,
+ ffi.Pointer<ffi.Char> signature)>();
JniPointerResult getFieldID(JClassPtr cls, ffi.Pointer<ffi.Char> fieldName,
ffi.Pointer<ffi.Char> signature) =>
- ref.getFieldID.asFunction<
- JniPointerResult Function(
- JClassPtr cls,
- ffi.Pointer<ffi.Char> fieldName,
- ffi.Pointer<ffi.Char> signature)>()(cls, fieldName, signature);
+ _getFieldID(cls, fieldName, signature);
+ late final _getStaticFieldID = ptr.ref.getStaticFieldID.asFunction<
+ JniPointerResult Function(JClassPtr cls, ffi.Pointer<ffi.Char> fieldName,
+ ffi.Pointer<ffi.Char> signature)>();
JniPointerResult getStaticFieldID(JClassPtr cls,
ffi.Pointer<ffi.Char> fieldName, ffi.Pointer<ffi.Char> signature) =>
- ref.getStaticFieldID.asFunction<
- JniPointerResult Function(
- JClassPtr cls,
- ffi.Pointer<ffi.Char> fieldName,
- ffi.Pointer<ffi.Char> signature)>()(cls, fieldName, signature);
+ _getStaticFieldID(cls, fieldName, signature);
+ late final _getMethodID = ptr.ref.getMethodID.asFunction<
+ JniPointerResult Function(JClassPtr cls, ffi.Pointer<ffi.Char> methodName,
+ ffi.Pointer<ffi.Char> signature)>();
JniPointerResult getMethodID(JClassPtr cls, ffi.Pointer<ffi.Char> methodName,
ffi.Pointer<ffi.Char> signature) =>
- ref.getMethodID.asFunction<
- JniPointerResult Function(
- JClassPtr cls,
- ffi.Pointer<ffi.Char> methodName,
- ffi.Pointer<ffi.Char> signature)>()(cls, methodName, signature);
+ _getMethodID(cls, methodName, signature);
+ late final _getStaticMethodID = ptr.ref.getStaticMethodID.asFunction<
+ JniPointerResult Function(JClassPtr cls, ffi.Pointer<ffi.Char> methodName,
+ ffi.Pointer<ffi.Char> signature)>();
JniPointerResult getStaticMethodID(JClassPtr cls,
ffi.Pointer<ffi.Char> methodName, ffi.Pointer<ffi.Char> signature) =>
- ref.getStaticMethodID.asFunction<
- JniPointerResult Function(
- JClassPtr cls,
- ffi.Pointer<ffi.Char> methodName,
- ffi.Pointer<ffi.Char> signature)>()(cls, methodName, signature);
+ _getStaticMethodID(cls, methodName, signature);
+ late final _newObject = ptr.ref.newObject.asFunction<
+ JniResult Function(
+ JClassPtr cls, JMethodIDPtr ctor, ffi.Pointer<JValue> args)>();
JniResult newObject(
JClassPtr cls, JMethodIDPtr ctor, ffi.Pointer<JValue> args) =>
- ref.newObject.asFunction<
- JniResult Function(JClassPtr cls, JMethodIDPtr ctor,
- ffi.Pointer<JValue> args)>()(cls, ctor, args);
+ _newObject(cls, ctor, args);
+ late final _newPrimitiveArray = ptr.ref.newPrimitiveArray
+ .asFunction<JniPointerResult Function(int length, int type)>();
JniPointerResult newPrimitiveArray(int length, int type) =>
- ref.newPrimitiveArray
- .asFunction<JniPointerResult Function(int length, int type)>()(
- length, type);
+ _newPrimitiveArray(length, type);
+ late final _newObjectArray = ptr.ref.newObjectArray.asFunction<
+ JniPointerResult Function(
+ int length, JClassPtr elementClass, JObjectPtr initialElement)>();
JniPointerResult newObjectArray(
int length, JClassPtr elementClass, JObjectPtr initialElement) =>
- ref.newObjectArray.asFunction<
- JniPointerResult Function(int length, JClassPtr elementClass,
- JObjectPtr initialElement)>()(
- length, elementClass, initialElement);
+ _newObjectArray(length, elementClass, initialElement);
+ late final _getArrayElement = ptr.ref.getArrayElement
+ .asFunction<JniResult Function(JArrayPtr array, int index, int type)>();
JniResult getArrayElement(JArrayPtr array, int index, int type) =>
- ref.getArrayElement.asFunction<
- JniResult Function(
- JArrayPtr array, int index, int type)>()(array, index, type);
+ _getArrayElement(array, index, type);
+ late final _callMethod = ptr.ref.callMethod.asFunction<
+ JniResult Function(JObjectPtr obj, JMethodIDPtr methodID, int callType,
+ ffi.Pointer<JValue> args)>();
JniResult callMethod(JObjectPtr obj, JMethodIDPtr methodID, int callType,
ffi.Pointer<JValue> args) =>
- ref.callMethod.asFunction<
- JniResult Function(
- JObjectPtr obj,
- JMethodIDPtr methodID,
- int callType,
- ffi.Pointer<JValue> args)>()(obj, methodID, callType, args);
+ _callMethod(obj, methodID, callType, args);
+ late final _callStaticMethod = ptr.ref.callStaticMethod.asFunction<
+ JniResult Function(JClassPtr cls, JMethodIDPtr methodID, int callType,
+ ffi.Pointer<JValue> args)>();
JniResult callStaticMethod(JClassPtr cls, JMethodIDPtr methodID, int callType,
ffi.Pointer<JValue> args) =>
- ref.callStaticMethod.asFunction<
- JniResult Function(JClassPtr cls, JMethodIDPtr methodID, int callType,
- ffi.Pointer<JValue> args)>()(cls, methodID, callType, args);
+ _callStaticMethod(cls, methodID, callType, args);
+ late final _getField = ptr.ref.getField.asFunction<
+ JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID, int callType)>();
JniResult getField(JObjectPtr obj, JFieldIDPtr fieldID, int callType) =>
- ref.getField.asFunction<
- JniResult Function(JObjectPtr obj, JFieldIDPtr fieldID,
- int callType)>()(obj, fieldID, callType);
+ _getField(obj, fieldID, callType);
+ late final _getStaticField = ptr.ref.getStaticField.asFunction<
+ JniResult Function(JClassPtr cls, JFieldIDPtr fieldID, int callType)>();
JniResult getStaticField(JClassPtr cls, JFieldIDPtr fieldID, int callType) =>
- ref.getStaticField.asFunction<
- JniResult Function(JClassPtr cls, JFieldIDPtr fieldID,
- int callType)>()(cls, fieldID, callType);
+ _getStaticField(cls, fieldID, callType);
- JniExceptionDetails getExceptionDetails(JThrowablePtr exception) => ref
- .getExceptionDetails
- .asFunction<JniExceptionDetails Function(JThrowablePtr exception)>()(
- exception);
+ late final _getExceptionDetails = ptr.ref.getExceptionDetails
+ .asFunction<JniExceptionDetails Function(JThrowablePtr exception)>();
+ JniExceptionDetails getExceptionDetails(JThrowablePtr exception) =>
+ _getExceptionDetails(exception);
}
diff --git a/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart b/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart
index eb5ba0b..6d54cda 100644
--- a/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart
+++ b/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart
@@ -63,15 +63,15 @@
lookup)
: _lookup = lookup;
- ffi.Pointer<JniAccessors> GetAccessors() {
+ ffi.Pointer<JniAccessorsStruct> GetAccessors() {
return _GetAccessors();
}
late final _GetAccessorsPtr =
- _lookup<ffi.NativeFunction<ffi.Pointer<JniAccessors> Function()>>(
+ _lookup<ffi.NativeFunction<ffi.Pointer<JniAccessorsStruct> Function()>>(
'GetAccessors');
late final _GetAccessors =
- _GetAccessorsPtr.asFunction<ffi.Pointer<JniAccessors> Function()>();
+ _GetAccessorsPtr.asFunction<ffi.Pointer<JniAccessorsStruct> Function()>();
ffi.Pointer<JavaVM> GetJavaVM() {
return _GetJavaVM();
@@ -192,15 +192,15 @@
late final _PortContinuation__ctor =
_PortContinuation__ctorPtr.asFunction<JniResult Function(int)>();
- ffi.Pointer<GlobalJniEnv> GetGlobalEnv() {
+ ffi.Pointer<GlobalJniEnvStruct> GetGlobalEnv() {
return _GetGlobalEnv();
}
late final _GetGlobalEnvPtr =
- _lookup<ffi.NativeFunction<ffi.Pointer<GlobalJniEnv> Function()>>(
+ _lookup<ffi.NativeFunction<ffi.Pointer<GlobalJniEnvStruct> Function()>>(
'GetGlobalEnv');
late final _GetGlobalEnv =
- _GetGlobalEnvPtr.asFunction<ffi.Pointer<GlobalJniEnv> Function()>();
+ _GetGlobalEnvPtr.asFunction<ffi.Pointer<GlobalJniEnvStruct> Function()>();
}
/// Types used by JNI API to distinguish between primitive types.
@@ -301,7 +301,7 @@
/// Flutter embedding checks for pending JNI exceptions before an FFI transition, which requires us
/// to check for and clear the exception before returning to dart code, which requires these functions
/// to return result types.
-class JniAccessors extends ffi.Struct {
+class JniAccessorsStruct extends ffi.Struct {
external ffi.Pointer<
ffi.NativeFunction<
JniClassLookupResult Function(
@@ -1936,7 +1936,7 @@
external ffi.Pointer<ffi.Void> extraInfo;
}
-class GlobalJniEnv extends ffi.Struct {
+class GlobalJniEnvStruct extends ffi.Struct {
external ffi.Pointer<ffi.Void> reserved0;
external ffi.Pointer<ffi.Void> reserved1;
diff --git a/pkgs/jni/lib/src/third_party/jnienv_javavm_extensions.dart b/pkgs/jni/lib/src/third_party/jnienv_javavm_extensions.dart
deleted file mode 100644
index 7c145f9..0000000
--- a/pkgs/jni/lib/src/third_party/jnienv_javavm_extensions.dart
+++ /dev/null
@@ -1,1409 +0,0 @@
-// Auto generated file. Do not edit.
-
-// This is generated from JNI header in Android NDK. License for the same is
-// provided below.
-
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * JNI specification, as defined by Sun:
- * http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/jniTOC.html
- *
- * Everything here is expected to be VM-neutral.
- */
-
-// ignore_for_file: non_constant_identifier_names
-// coverage:ignore-file
-
-import "dart:ffi" as ffi;
-
-import "jni_bindings_generated.dart";
-
-extension JniEnvExtension on ffi.Pointer<JniEnv> {
- int GetVersion() => value.ref.GetVersion
- .asFunction<int Function(ffi.Pointer<JniEnv1> env)>()(this);
-
- JClassPtr DefineClass(ffi.Pointer<ffi.Char> name, JObjectPtr loader,
- ffi.Pointer<JByteMarker> buf, int bufLen) =>
- value.ref.DefineClass.asFunction<
- JClassPtr Function(
- ffi.Pointer<JniEnv1> env,
- ffi.Pointer<ffi.Char> name,
- JObjectPtr loader,
- ffi.Pointer<JByteMarker> buf,
- int bufLen)>()(this, name, loader, buf, bufLen);
-
- JClassPtr FindClass(ffi.Pointer<ffi.Char> name) => value.ref.FindClass
- .asFunction<
- JClassPtr Function(ffi.Pointer<JniEnv1> env,
- ffi.Pointer<ffi.Char> name)>()(this, name);
-
- JMethodIDPtr FromReflectedMethod(JObjectPtr method) =>
- value.ref.FromReflectedMethod.asFunction<
- JMethodIDPtr Function(
- ffi.Pointer<JniEnv1> env, JObjectPtr method)>()(this, method);
-
- JFieldIDPtr FromReflectedField(JObjectPtr field) =>
- value.ref.FromReflectedField.asFunction<
- JFieldIDPtr Function(
- ffi.Pointer<JniEnv1> env, JObjectPtr field)>()(this, field);
-
- JObjectPtr ToReflectedMethod(
- JClassPtr cls, JMethodIDPtr methodId, int isStatic) =>
- value.ref.ToReflectedMethod.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr cls,
- JMethodIDPtr methodId,
- int isStatic)>()(this, cls, methodId, isStatic);
-
- JClassPtr GetSuperclass(JClassPtr clazz) =>
- value.ref.GetSuperclass.asFunction<
- JClassPtr Function(
- ffi.Pointer<JniEnv1> env, JClassPtr clazz)>()(this, clazz);
-
- int IsAssignableFrom(JClassPtr clazz1, JClassPtr clazz2) =>
- value.ref.IsAssignableFrom.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz1,
- JClassPtr clazz2)>()(this, clazz1, clazz2);
-
- JObjectPtr ToReflectedField(
- JClassPtr cls, JFieldIDPtr fieldID, int isStatic) =>
- value.ref.ToReflectedField.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr cls,
- JFieldIDPtr fieldID,
- int isStatic)>()(this, cls, fieldID, isStatic);
-
- int Throw(JThrowablePtr obj) => value.ref.Throw.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JThrowablePtr obj)>()(this, obj);
-
- int ThrowNew(JClassPtr clazz, ffi.Pointer<ffi.Char> message) =>
- value.ref.ThrowNew.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- ffi.Pointer<ffi.Char> message)>()(this, clazz, message);
-
- JThrowablePtr ExceptionOccurred() => value.ref.ExceptionOccurred
- .asFunction<JThrowablePtr Function(ffi.Pointer<JniEnv1> env)>()(this);
-
- void ExceptionDescribe() => value.ref.ExceptionDescribe
- .asFunction<void Function(ffi.Pointer<JniEnv1> env)>()(this);
-
- void ExceptionClear() => value.ref.ExceptionClear
- .asFunction<void Function(ffi.Pointer<JniEnv1> env)>()(this);
-
- void FatalError(ffi.Pointer<ffi.Char> msg) => value.ref.FatalError.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env, ffi.Pointer<ffi.Char> msg)>()(this, msg);
-
- int PushLocalFrame(int capacity) => value.ref.PushLocalFrame
- .asFunction<int Function(ffi.Pointer<JniEnv1> env, int capacity)>()(
- this, capacity);
-
- JObjectPtr PopLocalFrame(JObjectPtr result) => value.ref.PopLocalFrame
- .asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env, JObjectPtr result)>()(this, result);
-
- JObjectPtr NewGlobalRef(JObjectPtr obj) => value.ref.NewGlobalRef.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env, JObjectPtr obj)>()(this, obj);
-
- void DeleteGlobalRef(JObjectPtr globalRef) =>
- value.ref.DeleteGlobalRef.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr globalRef)>()(
- this, globalRef);
-
- void DeleteLocalRef(JObjectPtr localRef) =>
- value.ref.DeleteLocalRef.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env, JObjectPtr localRef)>()(this, localRef);
-
- int IsSameObject(JObjectPtr ref1, JObjectPtr ref2) =>
- value.ref.IsSameObject.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr ref1,
- JObjectPtr ref2)>()(this, ref1, ref2);
-
- JObjectPtr NewLocalRef(JObjectPtr obj) => value.ref.NewLocalRef.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env, JObjectPtr obj)>()(this, obj);
-
- int EnsureLocalCapacity(int capacity) => value.ref.EnsureLocalCapacity
- .asFunction<int Function(ffi.Pointer<JniEnv1> env, int capacity)>()(
- this, capacity);
-
- JObjectPtr AllocObject(JClassPtr clazz) => value.ref.AllocObject.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env, JClassPtr clazz)>()(this, clazz);
-
- JObjectPtr NewObject(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.NewObject.asFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- JObjectPtr NewObjectA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.NewObjectA.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- JClassPtr GetObjectClass(JObjectPtr obj) =>
- value.ref.GetObjectClass.asFunction<
- JClassPtr Function(
- ffi.Pointer<JniEnv1> env, JObjectPtr obj)>()(this, obj);
-
- int IsInstanceOf(JObjectPtr obj, JClassPtr clazz) =>
- value.ref.IsInstanceOf.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JClassPtr clazz)>()(this, obj, clazz);
-
- JMethodIDPtr GetMethodID(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig) =>
- value.ref.GetMethodID.asFunction<
- JMethodIDPtr Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>()(this, clazz, name, sig);
-
- JObjectPtr CallObjectMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- value.ref.CallObjectMethod.asFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>()(this, obj, methodID);
-
- JObjectPtr CallObjectMethodA(
- JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallObjectMethodA.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, methodID, args);
-
- int CallBooleanMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- value.ref.CallBooleanMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>()(this, obj, methodID);
-
- int CallBooleanMethodA(
- JObjectPtr obj, JMethodIDPtr methodId, ffi.Pointer<JValue> args) =>
- value.ref.CallBooleanMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JMethodIDPtr methodId,
- ffi.Pointer<JValue> args)>()(this, obj, methodId, args);
-
- int CallByteMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- value.ref.CallByteMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>()(this, obj, methodID);
-
- int CallByteMethodA(
- JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallByteMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, methodID, args);
-
- int CallCharMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- value.ref.CallCharMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>()(this, obj, methodID);
-
- int CallCharMethodA(
- JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallCharMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, methodID, args);
-
- int CallShortMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- value.ref.CallShortMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>()(this, obj, methodID);
-
- int CallShortMethodA(
- JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallShortMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, methodID, args);
-
- int CallIntMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- value.ref.CallIntMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>()(this, obj, methodID);
-
- int CallIntMethodA(
- JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallIntMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, methodID, args);
-
- int CallLongMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- value.ref.CallLongMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>()(this, obj, methodID);
-
- int CallLongMethodA(
- JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallLongMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, methodID, args);
-
- double CallFloatMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- value.ref.CallFloatMethod.asFunction<
- double Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>()(this, obj, methodID);
-
- double CallFloatMethodA(
- JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallFloatMethodA.asFunction<
- double Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, methodID, args);
-
- double CallDoubleMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- value.ref.CallDoubleMethod.asFunction<
- double Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>()(this, obj, methodID);
-
- double CallDoubleMethodA(
- JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallDoubleMethodA.asFunction<
- double Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, methodID, args);
-
- void CallVoidMethod(JObjectPtr obj, JMethodIDPtr methodID) =>
- value.ref.CallVoidMethod.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>()(this, obj, methodID);
-
- void CallVoidMethodA(
- JObjectPtr obj, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallVoidMethodA.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, methodID, args);
-
- JObjectPtr CallNonvirtualObjectMethod(
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallNonvirtualObjectMethod.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, obj, clazz, methodID);
-
- JObjectPtr CallNonvirtualObjectMethodA(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallNonvirtualObjectMethodA.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, clazz, methodID, args);
-
- int CallNonvirtualBooleanMethod(
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallNonvirtualBooleanMethod.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, obj, clazz, methodID);
-
- int CallNonvirtualBooleanMethodA(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallNonvirtualBooleanMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, clazz, methodID, args);
-
- int CallNonvirtualByteMethod(
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallNonvirtualByteMethod.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, obj, clazz, methodID);
-
- int CallNonvirtualByteMethodA(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallNonvirtualByteMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, clazz, methodID, args);
-
- int CallNonvirtualCharMethod(
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallNonvirtualCharMethod.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, obj, clazz, methodID);
-
- int CallNonvirtualCharMethodA(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallNonvirtualCharMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, clazz, methodID, args);
-
- int CallNonvirtualShortMethod(
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallNonvirtualShortMethod.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, obj, clazz, methodID);
-
- int CallNonvirtualShortMethodA(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallNonvirtualShortMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, clazz, methodID, args);
-
- int CallNonvirtualIntMethod(
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallNonvirtualIntMethod.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, obj, clazz, methodID);
-
- int CallNonvirtualIntMethodA(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallNonvirtualIntMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, clazz, methodID, args);
-
- int CallNonvirtualLongMethod(
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallNonvirtualLongMethod.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, obj, clazz, methodID);
-
- int CallNonvirtualLongMethodA(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallNonvirtualLongMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, clazz, methodID, args);
-
- double CallNonvirtualFloatMethod(
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallNonvirtualFloatMethod.asFunction<
- double Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, obj, clazz, methodID);
-
- double CallNonvirtualFloatMethodA(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallNonvirtualFloatMethodA.asFunction<
- double Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, clazz, methodID, args);
-
- double CallNonvirtualDoubleMethod(
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallNonvirtualDoubleMethod.asFunction<
- double Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, obj, clazz, methodID);
-
- double CallNonvirtualDoubleMethodA(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallNonvirtualDoubleMethodA.asFunction<
- double Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, clazz, methodID, args);
-
- void CallNonvirtualVoidMethod(
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallNonvirtualVoidMethod.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, obj, clazz, methodID);
-
- void CallNonvirtualVoidMethodA(JObjectPtr obj, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallNonvirtualVoidMethodA.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, obj, clazz, methodID, args);
-
- JFieldIDPtr GetFieldID(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig) =>
- value.ref.GetFieldID.asFunction<
- JFieldIDPtr Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>()(this, clazz, name, sig);
-
- JObjectPtr GetObjectField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- value.ref.GetObjectField.asFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>()(this, obj, fieldID);
-
- int GetBooleanField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- value.ref.GetBooleanField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>()(this, obj, fieldID);
-
- int GetByteField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- value.ref.GetByteField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>()(this, obj, fieldID);
-
- int GetCharField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- value.ref.GetCharField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>()(this, obj, fieldID);
-
- int GetShortField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- value.ref.GetShortField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>()(this, obj, fieldID);
-
- int GetIntField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- value.ref.GetIntField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>()(this, obj, fieldID);
-
- int GetLongField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- value.ref.GetLongField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>()(this, obj, fieldID);
-
- double GetFloatField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- value.ref.GetFloatField.asFunction<
- double Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>()(this, obj, fieldID);
-
- double GetDoubleField(JObjectPtr obj, JFieldIDPtr fieldID) =>
- value.ref.GetDoubleField.asFunction<
- double Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>()(this, obj, fieldID);
-
- void SetObjectField(JObjectPtr obj, JFieldIDPtr fieldID, JObjectPtr val) =>
- value.ref.SetObjectField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JObjectPtr val)>()(this, obj, fieldID, val);
-
- void SetBooleanField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- value.ref.SetBooleanField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, int val)>()(this, obj, fieldID, val);
-
- void SetByteField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- value.ref.SetByteField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, int val)>()(this, obj, fieldID, val);
-
- void SetCharField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- value.ref.SetCharField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, int val)>()(this, obj, fieldID, val);
-
- void SetShortField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- value.ref.SetShortField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, int val)>()(this, obj, fieldID, val);
-
- void SetIntField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- value.ref.SetIntField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, int val)>()(this, obj, fieldID, val);
-
- void SetLongField(JObjectPtr obj, JFieldIDPtr fieldID, int val) =>
- value.ref.SetLongField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, int val)>()(this, obj, fieldID, val);
-
- void SetFloatField(JObjectPtr obj, JFieldIDPtr fieldID, double val) =>
- value.ref.SetFloatField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, double val)>()(this, obj, fieldID, val);
-
- void SetDoubleField(JObjectPtr obj, JFieldIDPtr fieldID, double val) =>
- value.ref.SetDoubleField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, double val)>()(this, obj, fieldID, val);
-
- JMethodIDPtr GetStaticMethodID(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig) =>
- value.ref.GetStaticMethodID.asFunction<
- JMethodIDPtr Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>()(this, clazz, name, sig);
-
- JObjectPtr CallStaticObjectMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallStaticObjectMethod.asFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- JObjectPtr CallStaticObjectMethodA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallStaticObjectMethodA.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- int CallStaticBooleanMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallStaticBooleanMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- int CallStaticBooleanMethodA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallStaticBooleanMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- int CallStaticByteMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallStaticByteMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- int CallStaticByteMethodA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallStaticByteMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- int CallStaticCharMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallStaticCharMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- int CallStaticCharMethodA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallStaticCharMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- int CallStaticShortMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallStaticShortMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- int CallStaticShortMethodA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallStaticShortMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- int CallStaticIntMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallStaticIntMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- int CallStaticIntMethodA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallStaticIntMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- int CallStaticLongMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallStaticLongMethod.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- int CallStaticLongMethodA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallStaticLongMethodA.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- double CallStaticFloatMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallStaticFloatMethod.asFunction<
- double Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- double CallStaticFloatMethodA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallStaticFloatMethodA.asFunction<
- double Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- double CallStaticDoubleMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallStaticDoubleMethod.asFunction<
- double Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- double CallStaticDoubleMethodA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallStaticDoubleMethodA.asFunction<
- double Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- void CallStaticVoidMethod(JClassPtr clazz, JMethodIDPtr methodID) =>
- value.ref.CallStaticVoidMethod.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>()(this, clazz, methodID);
-
- void CallStaticVoidMethodA(
- JClassPtr clazz, JMethodIDPtr methodID, ffi.Pointer<JValue> args) =>
- value.ref.CallStaticVoidMethodA.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>()(this, clazz, methodID, args);
-
- JFieldIDPtr GetStaticFieldID(JClassPtr clazz, ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig) =>
- value.ref.GetStaticFieldID.asFunction<
- JFieldIDPtr Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>()(this, clazz, name, sig);
-
- JObjectPtr GetStaticObjectField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- value.ref.GetStaticObjectField.asFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>()(this, clazz, fieldID);
-
- int GetStaticBooleanField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- value.ref.GetStaticBooleanField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>()(this, clazz, fieldID);
-
- int GetStaticByteField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- value.ref.GetStaticByteField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>()(this, clazz, fieldID);
-
- int GetStaticCharField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- value.ref.GetStaticCharField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>()(this, clazz, fieldID);
-
- int GetStaticShortField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- value.ref.GetStaticShortField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>()(this, clazz, fieldID);
-
- int GetStaticIntField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- value.ref.GetStaticIntField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>()(this, clazz, fieldID);
-
- int GetStaticLongField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- value.ref.GetStaticLongField.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>()(this, clazz, fieldID);
-
- double GetStaticFloatField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- value.ref.GetStaticFloatField.asFunction<
- double Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>()(this, clazz, fieldID);
-
- double GetStaticDoubleField(JClassPtr clazz, JFieldIDPtr fieldID) =>
- value.ref.GetStaticDoubleField.asFunction<
- double Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>()(this, clazz, fieldID);
-
- void SetStaticObjectField(
- JClassPtr clazz, JFieldIDPtr fieldID, JObjectPtr val) =>
- value.ref.SetStaticObjectField.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- JFieldIDPtr fieldID,
- JObjectPtr val)>()(this, clazz, fieldID, val);
-
- void SetStaticBooleanField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- value.ref.SetStaticBooleanField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, int val)>()(this, clazz, fieldID, val);
-
- void SetStaticByteField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- value.ref.SetStaticByteField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, int val)>()(this, clazz, fieldID, val);
-
- void SetStaticCharField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- value.ref.SetStaticCharField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, int val)>()(this, clazz, fieldID, val);
-
- void SetStaticShortField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- value.ref.SetStaticShortField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, int val)>()(this, clazz, fieldID, val);
-
- void SetStaticIntField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- value.ref.SetStaticIntField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, int val)>()(this, clazz, fieldID, val);
-
- void SetStaticLongField(JClassPtr clazz, JFieldIDPtr fieldID, int val) =>
- value.ref.SetStaticLongField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, int val)>()(this, clazz, fieldID, val);
-
- void SetStaticFloatField(JClassPtr clazz, JFieldIDPtr fieldID, double val) =>
- value.ref.SetStaticFloatField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, double val)>()(this, clazz, fieldID, val);
-
- void SetStaticDoubleField(JClassPtr clazz, JFieldIDPtr fieldID, double val) =>
- value.ref.SetStaticDoubleField.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, double val)>()(this, clazz, fieldID, val);
-
- JStringPtr NewString(ffi.Pointer<JCharMarker> unicodeChars, int len) =>
- value.ref.NewString.asFunction<
- JStringPtr Function(
- ffi.Pointer<JniEnv1> env,
- ffi.Pointer<JCharMarker> unicodeChars,
- int len)>()(this, unicodeChars, len);
-
- int GetStringLength(JStringPtr string) =>
- value.ref.GetStringLength.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env, JStringPtr string)>()(this, string);
-
- ffi.Pointer<JCharMarker> GetStringChars(
- JStringPtr string, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetStringChars.asFunction<
- ffi.Pointer<JCharMarker> Function(
- ffi.Pointer<JniEnv1> env,
- JStringPtr string,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, string, isCopy);
-
- void ReleaseStringChars(JStringPtr string, ffi.Pointer<JCharMarker> isCopy) =>
- value.ref.ReleaseStringChars.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JStringPtr string,
- ffi.Pointer<JCharMarker> isCopy)>()(this, string, isCopy);
-
- JStringPtr NewStringUTF(ffi.Pointer<ffi.Char> bytes) =>
- value.ref.NewStringUTF.asFunction<
- JStringPtr Function(ffi.Pointer<JniEnv1> env,
- ffi.Pointer<ffi.Char> bytes)>()(this, bytes);
-
- int GetStringUTFLength(JStringPtr string) =>
- value.ref.GetStringUTFLength.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env, JStringPtr string)>()(this, string);
-
- ffi.Pointer<ffi.Char> GetStringUTFChars(
- JStringPtr string, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetStringUTFChars.asFunction<
- ffi.Pointer<ffi.Char> Function(
- ffi.Pointer<JniEnv1> env,
- JStringPtr string,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, string, isCopy);
-
- void ReleaseStringUTFChars(JStringPtr string, ffi.Pointer<ffi.Char> utf) =>
- value.ref.ReleaseStringUTFChars.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JStringPtr string,
- ffi.Pointer<ffi.Char> utf)>()(this, string, utf);
-
- int GetArrayLength(JArrayPtr array) => value.ref.GetArrayLength.asFunction<
- int Function(ffi.Pointer<JniEnv1> env, JArrayPtr array)>()(this, array);
-
- JObjectArrayPtr NewObjectArray(
- int length, JClassPtr elementClass, JObjectPtr initialElement) =>
- value.ref.NewObjectArray.asFunction<
- JObjectArrayPtr Function(ffi.Pointer<JniEnv1> env, int length,
- JClassPtr elementClass, JObjectPtr initialElement)>()(
- this, length, elementClass, initialElement);
-
- JObjectPtr GetObjectArrayElement(JObjectArrayPtr array, int index) =>
- value.ref.GetObjectArrayElement.asFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv1> env, JObjectArrayPtr array,
- int index)>()(this, array, index);
-
- void SetObjectArrayElement(
- JObjectArrayPtr array, int index, JObjectPtr val) =>
- value.ref.SetObjectArrayElement.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JObjectArrayPtr array,
- int index, JObjectPtr val)>()(this, array, index, val);
-
- JBooleanArrayPtr NewBooleanArray(int length) =>
- value.ref.NewBooleanArray.asFunction<
- JBooleanArrayPtr Function(
- ffi.Pointer<JniEnv1> env, int length)>()(this, length);
-
- JByteArrayPtr NewByteArray(int length) => value.ref.NewByteArray.asFunction<
- JByteArrayPtr Function(
- ffi.Pointer<JniEnv1> env, int length)>()(this, length);
-
- JCharArrayPtr NewCharArray(int length) => value.ref.NewCharArray.asFunction<
- JCharArrayPtr Function(
- ffi.Pointer<JniEnv1> env, int length)>()(this, length);
-
- JShortArrayPtr NewShortArray(int length) =>
- value.ref.NewShortArray.asFunction<
- JShortArrayPtr Function(
- ffi.Pointer<JniEnv1> env, int length)>()(this, length);
-
- JIntArrayPtr NewIntArray(int length) => value.ref.NewIntArray.asFunction<
- JIntArrayPtr Function(
- ffi.Pointer<JniEnv1> env, int length)>()(this, length);
-
- JLongArrayPtr NewLongArray(int length) => value.ref.NewLongArray.asFunction<
- JLongArrayPtr Function(
- ffi.Pointer<JniEnv1> env, int length)>()(this, length);
-
- JFloatArrayPtr NewFloatArray(int length) =>
- value.ref.NewFloatArray.asFunction<
- JFloatArrayPtr Function(
- ffi.Pointer<JniEnv1> env, int length)>()(this, length);
-
- JDoubleArrayPtr NewDoubleArray(int length) => value.ref.NewDoubleArray
- .asFunction<
- JDoubleArrayPtr Function(
- ffi.Pointer<JniEnv1> env, int length)>()(this, length);
-
- ffi.Pointer<JBooleanMarker> GetBooleanArrayElements(
- JBooleanArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetBooleanArrayElements.asFunction<
- ffi.Pointer<JBooleanMarker> Function(
- ffi.Pointer<JniEnv1> env,
- JBooleanArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, array, isCopy);
-
- ffi.Pointer<JByteMarker> GetByteArrayElements(
- JByteArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetByteArrayElements.asFunction<
- ffi.Pointer<JByteMarker> Function(
- ffi.Pointer<JniEnv1> env,
- JByteArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, array, isCopy);
-
- ffi.Pointer<JCharMarker> GetCharArrayElements(
- JCharArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetCharArrayElements.asFunction<
- ffi.Pointer<JCharMarker> Function(
- ffi.Pointer<JniEnv1> env,
- JCharArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, array, isCopy);
-
- ffi.Pointer<JShortMarker> GetShortArrayElements(
- JShortArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetShortArrayElements.asFunction<
- ffi.Pointer<JShortMarker> Function(
- ffi.Pointer<JniEnv1> env,
- JShortArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, array, isCopy);
-
- ffi.Pointer<JIntMarker> GetIntArrayElements(
- JIntArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetIntArrayElements.asFunction<
- ffi.Pointer<JIntMarker> Function(
- ffi.Pointer<JniEnv1> env,
- JIntArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, array, isCopy);
-
- ffi.Pointer<JLongMarker> GetLongArrayElements(
- JLongArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetLongArrayElements.asFunction<
- ffi.Pointer<JLongMarker> Function(
- ffi.Pointer<JniEnv1> env,
- JLongArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, array, isCopy);
-
- ffi.Pointer<JFloatMarker> GetFloatArrayElements(
- JFloatArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetFloatArrayElements.asFunction<
- ffi.Pointer<JFloatMarker> Function(
- ffi.Pointer<JniEnv1> env,
- JFloatArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, array, isCopy);
-
- ffi.Pointer<JDoubleMarker> GetDoubleArrayElements(
- JDoubleArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetDoubleArrayElements.asFunction<
- ffi.Pointer<JDoubleMarker> Function(
- ffi.Pointer<JniEnv1> env,
- JDoubleArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, array, isCopy);
-
- void ReleaseBooleanArrayElements(JBooleanArrayPtr array,
- ffi.Pointer<JBooleanMarker> elems, int mode) =>
- value.ref.ReleaseBooleanArrayElements.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JBooleanArrayPtr array,
- ffi.Pointer<JBooleanMarker> elems,
- int mode)>()(this, array, elems, mode);
-
- void ReleaseByteArrayElements(
- JByteArrayPtr array, ffi.Pointer<JByteMarker> elems, int mode) =>
- value.ref.ReleaseByteArrayElements.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JByteArrayPtr array,
- ffi.Pointer<JByteMarker> elems,
- int mode)>()(this, array, elems, mode);
-
- void ReleaseCharArrayElements(
- JCharArrayPtr array, ffi.Pointer<JCharMarker> elems, int mode) =>
- value.ref.ReleaseCharArrayElements.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JCharArrayPtr array,
- ffi.Pointer<JCharMarker> elems,
- int mode)>()(this, array, elems, mode);
-
- void ReleaseShortArrayElements(
- JShortArrayPtr array, ffi.Pointer<JShortMarker> elems, int mode) =>
- value.ref.ReleaseShortArrayElements.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JShortArrayPtr array,
- ffi.Pointer<JShortMarker> elems,
- int mode)>()(this, array, elems, mode);
-
- void ReleaseIntArrayElements(
- JIntArrayPtr array, ffi.Pointer<JIntMarker> elems, int mode) =>
- value.ref.ReleaseIntArrayElements.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JIntArrayPtr array,
- ffi.Pointer<JIntMarker> elems,
- int mode)>()(this, array, elems, mode);
-
- void ReleaseLongArrayElements(
- JLongArrayPtr array, ffi.Pointer<JLongMarker> elems, int mode) =>
- value.ref.ReleaseLongArrayElements.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JLongArrayPtr array,
- ffi.Pointer<JLongMarker> elems,
- int mode)>()(this, array, elems, mode);
-
- void ReleaseFloatArrayElements(
- JFloatArrayPtr array, ffi.Pointer<JFloatMarker> elems, int mode) =>
- value.ref.ReleaseFloatArrayElements.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JFloatArrayPtr array,
- ffi.Pointer<JFloatMarker> elems,
- int mode)>()(this, array, elems, mode);
-
- void ReleaseDoubleArrayElements(
- JDoubleArrayPtr array, ffi.Pointer<JDoubleMarker> elems, int mode) =>
- value.ref.ReleaseDoubleArrayElements.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JDoubleArrayPtr array,
- ffi.Pointer<JDoubleMarker> elems,
- int mode)>()(this, array, elems, mode);
-
- void GetBooleanArrayRegion(JBooleanArrayPtr array, int start, int len,
- ffi.Pointer<JBooleanMarker> buf) =>
- value.ref.GetBooleanArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JBooleanArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JBooleanMarker> buf)>()(this, array, start, len, buf);
-
- void GetByteArrayRegion(JByteArrayPtr array, int start, int len,
- ffi.Pointer<JByteMarker> buf) =>
- value.ref.GetByteArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JByteArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JByteMarker> buf)>()(this, array, start, len, buf);
-
- void GetCharArrayRegion(JCharArrayPtr array, int start, int len,
- ffi.Pointer<JCharMarker> buf) =>
- value.ref.GetCharArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JCharArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JCharMarker> buf)>()(this, array, start, len, buf);
-
- void GetShortArrayRegion(JShortArrayPtr array, int start, int len,
- ffi.Pointer<JShortMarker> buf) =>
- value.ref.GetShortArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JShortArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JShortMarker> buf)>()(this, array, start, len, buf);
-
- void GetIntArrayRegion(JIntArrayPtr array, int start, int len,
- ffi.Pointer<JIntMarker> buf) =>
- value.ref.GetIntArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JIntArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JIntMarker> buf)>()(this, array, start, len, buf);
-
- void GetLongArrayRegion(JLongArrayPtr array, int start, int len,
- ffi.Pointer<JLongMarker> buf) =>
- value.ref.GetLongArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JLongArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JLongMarker> buf)>()(this, array, start, len, buf);
-
- void GetFloatArrayRegion(JFloatArrayPtr array, int start, int len,
- ffi.Pointer<JFloatMarker> buf) =>
- value.ref.GetFloatArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JFloatArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JFloatMarker> buf)>()(this, array, start, len, buf);
-
- void GetDoubleArrayRegion(JDoubleArrayPtr array, int start, int len,
- ffi.Pointer<JDoubleMarker> buf) =>
- value.ref.GetDoubleArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JDoubleArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JDoubleMarker> buf)>()(this, array, start, len, buf);
-
- void SetBooleanArrayRegion(JBooleanArrayPtr array, int start, int len,
- ffi.Pointer<JBooleanMarker> buf) =>
- value.ref.SetBooleanArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JBooleanArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JBooleanMarker> buf)>()(this, array, start, len, buf);
-
- void SetByteArrayRegion(JByteArrayPtr array, int start, int len,
- ffi.Pointer<JByteMarker> buf) =>
- value.ref.SetByteArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JByteArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JByteMarker> buf)>()(this, array, start, len, buf);
-
- void SetCharArrayRegion(JCharArrayPtr array, int start, int len,
- ffi.Pointer<JCharMarker> buf) =>
- value.ref.SetCharArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JCharArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JCharMarker> buf)>()(this, array, start, len, buf);
-
- void SetShortArrayRegion(JShortArrayPtr array, int start, int len,
- ffi.Pointer<JShortMarker> buf) =>
- value.ref.SetShortArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JShortArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JShortMarker> buf)>()(this, array, start, len, buf);
-
- void SetIntArrayRegion(JIntArrayPtr array, int start, int len,
- ffi.Pointer<JIntMarker> buf) =>
- value.ref.SetIntArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JIntArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JIntMarker> buf)>()(this, array, start, len, buf);
-
- void SetLongArrayRegion(JLongArrayPtr array, int start, int len,
- ffi.Pointer<JLongMarker> buf) =>
- value.ref.SetLongArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JLongArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JLongMarker> buf)>()(this, array, start, len, buf);
-
- void SetFloatArrayRegion(JFloatArrayPtr array, int start, int len,
- ffi.Pointer<JFloatMarker> buf) =>
- value.ref.SetFloatArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JFloatArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JFloatMarker> buf)>()(this, array, start, len, buf);
-
- void SetDoubleArrayRegion(JDoubleArrayPtr array, int start, int len,
- ffi.Pointer<JDoubleMarker> buf) =>
- value.ref.SetDoubleArrayRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JDoubleArrayPtr array,
- int start,
- int len,
- ffi.Pointer<JDoubleMarker> buf)>()(this, array, start, len, buf);
-
- int RegisterNatives(JClassPtr clazz, ffi.Pointer<JNINativeMethod> methods,
- int nMethods) =>
- value.ref.RegisterNatives.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env,
- JClassPtr clazz,
- ffi.Pointer<JNINativeMethod> methods,
- int nMethods)>()(this, clazz, methods, nMethods);
-
- int UnregisterNatives(JClassPtr clazz) =>
- value.ref.UnregisterNatives.asFunction<
- int Function(
- ffi.Pointer<JniEnv1> env, JClassPtr clazz)>()(this, clazz);
-
- int MonitorEnter(JObjectPtr obj) => value.ref.MonitorEnter
- .asFunction<int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj)>()(
- this, obj);
-
- int MonitorExit(JObjectPtr obj) => value.ref.MonitorExit
- .asFunction<int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj)>()(
- this, obj);
-
- int GetJavaVM(ffi.Pointer<ffi.Pointer<JavaVM1>> vm) =>
- value.ref.GetJavaVM.asFunction<
- int Function(ffi.Pointer<JniEnv1> env,
- ffi.Pointer<ffi.Pointer<JavaVM1>> vm)>()(this, vm);
-
- void GetStringRegion(
- JStringPtr str, int start, int len, ffi.Pointer<JCharMarker> buf) =>
- value.ref.GetStringRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JStringPtr str,
- int start,
- int len,
- ffi.Pointer<JCharMarker> buf)>()(this, str, start, len, buf);
-
- void GetStringUTFRegion(
- JStringPtr str, int start, int len, ffi.Pointer<ffi.Char> buf) =>
- value.ref.GetStringUTFRegion.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JStringPtr str,
- int start,
- int len,
- ffi.Pointer<ffi.Char> buf)>()(this, str, start, len, buf);
-
- ffi.Pointer<ffi.Void> GetPrimitiveArrayCritical(
- JArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetPrimitiveArrayCritical.asFunction<
- ffi.Pointer<ffi.Void> Function(
- ffi.Pointer<JniEnv1> env,
- JArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, array, isCopy);
-
- void ReleasePrimitiveArrayCritical(
- JArrayPtr array, ffi.Pointer<ffi.Void> carray, int mode) =>
- value.ref.ReleasePrimitiveArrayCritical.asFunction<
- void Function(
- ffi.Pointer<JniEnv1> env,
- JArrayPtr array,
- ffi.Pointer<ffi.Void> carray,
- int mode)>()(this, array, carray, mode);
-
- ffi.Pointer<JCharMarker> GetStringCritical(
- JStringPtr str, ffi.Pointer<JBooleanMarker> isCopy) =>
- value.ref.GetStringCritical.asFunction<
- ffi.Pointer<JCharMarker> Function(
- ffi.Pointer<JniEnv1> env,
- JStringPtr str,
- ffi.Pointer<JBooleanMarker> isCopy)>()(this, str, isCopy);
-
- void ReleaseStringCritical(JStringPtr str, ffi.Pointer<JCharMarker> carray) =>
- value.ref.ReleaseStringCritical.asFunction<
- void Function(ffi.Pointer<JniEnv1> env, JStringPtr str,
- ffi.Pointer<JCharMarker> carray)>()(this, str, carray);
-
- JWeakPtr NewWeakGlobalRef(JObjectPtr obj) =>
- value.ref.NewWeakGlobalRef.asFunction<
- JWeakPtr Function(
- ffi.Pointer<JniEnv1> env, JObjectPtr obj)>()(this, obj);
-
- void DeleteWeakGlobalRef(JWeakPtr obj) => value.ref.DeleteWeakGlobalRef
- .asFunction<void Function(ffi.Pointer<JniEnv1> env, JWeakPtr obj)>()(
- this, obj);
-
- int ExceptionCheck() => value.ref.ExceptionCheck
- .asFunction<int Function(ffi.Pointer<JniEnv1> env)>()(this);
-
- JObjectPtr NewDirectByteBuffer(ffi.Pointer<ffi.Void> address, int capacity) =>
- value.ref.NewDirectByteBuffer.asFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv1> env,
- ffi.Pointer<ffi.Void> address,
- int capacity)>()(this, address, capacity);
-
- ffi.Pointer<ffi.Void> GetDirectBufferAddress(JObjectPtr buf) =>
- value.ref.GetDirectBufferAddress.asFunction<
- ffi.Pointer<ffi.Void> Function(
- ffi.Pointer<JniEnv1> env, JObjectPtr buf)>()(this, buf);
-
- int GetDirectBufferCapacity(JObjectPtr buf) => value
- .ref.GetDirectBufferCapacity
- .asFunction<int Function(ffi.Pointer<JniEnv1> env, JObjectPtr buf)>()(
- this, buf);
-
- int GetObjectRefType(JObjectPtr obj) => value.ref.GetObjectRefType
- .asFunction<int Function(ffi.Pointer<JniEnv1> env, JObjectPtr obj)>()(
- this, obj);
-}
-
-extension JavaVMExtension on ffi.Pointer<JavaVM> {
- int DestroyJavaVM() => value.ref.DestroyJavaVM
- .asFunction<int Function(ffi.Pointer<JavaVM1> vm)>()(this);
-
- int AttachCurrentThread(ffi.Pointer<ffi.Pointer<JniEnv>> p_env,
- ffi.Pointer<ffi.Void> thr_args) =>
- value.ref.AttachCurrentThread.asFunction<
- int Function(
- ffi.Pointer<JavaVM1> vm,
- ffi.Pointer<ffi.Pointer<JniEnv>> p_env,
- ffi.Pointer<ffi.Void> thr_args)>()(this, p_env, thr_args);
-
- int DetachCurrentThread() => value.ref.DetachCurrentThread
- .asFunction<int Function(ffi.Pointer<JavaVM1> vm)>()(this);
-
- int GetEnv(ffi.Pointer<ffi.Pointer<ffi.Void>> p_env, int version) =>
- value.ref.GetEnv.asFunction<
- int Function(
- ffi.Pointer<JavaVM1> vm,
- ffi.Pointer<ffi.Pointer<ffi.Void>> p_env,
- int version)>()(this, p_env, version);
-
- int AttachCurrentThreadAsDaemon(ffi.Pointer<ffi.Pointer<JniEnv>> p_env,
- ffi.Pointer<ffi.Void> thr_args) =>
- value.ref.AttachCurrentThreadAsDaemon.asFunction<
- int Function(
- ffi.Pointer<JavaVM1> vm,
- ffi.Pointer<ffi.Pointer<JniEnv>> p_env,
- ffi.Pointer<ffi.Void> thr_args)>()(this, p_env, thr_args);
-}
diff --git a/pkgs/jni/lib/src/types.dart b/pkgs/jni/lib/src/types.dart
index cc2dbec..90b9378 100644
--- a/pkgs/jni/lib/src/types.dart
+++ b/pkgs/jni/lib/src/types.dart
@@ -19,8 +19,8 @@
part 'jobject.dart';
part 'jstring.dart';
-final Pointer<JniAccessors> _accessors = Jni.accessors;
-final Pointer<GlobalJniEnv> _env = Jni.env;
+final JniAccessors _accessors = Jni.accessors;
+final GlobalJniEnv _env = Jni.env;
// This typedef is needed because void is a keyword and cannot be used in
// type switch like a regular type.
typedef _VoidType = void;
diff --git a/pkgs/jni/src/dartjni.c b/pkgs/jni/src/dartjni.c
index 74c4a11..7346fef 100644
--- a/pkgs/jni/src/dartjni.c
+++ b/pkgs/jni/src/dartjni.c
@@ -129,11 +129,43 @@
// Sometimes you may get linker error trying to link JNI_CreateJavaVM APIs
// on Android NDK. So IFDEF is required.
#else
+#ifdef _WIN32
+// Pre-initialization of critical section on windows - this is required because
+// there's no coordination between multiple isolates calling Spawn.
+//
+// Taken from https://stackoverflow.com/a/12858955
+CRITICAL_SECTION spawnLock = {0};
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, // handle to DLL module
+ DWORD fdwReason, // reason for calling function
+ LPVOID lpReserved) { // reserved
+ switch (fdwReason) {
+ case DLL_PROCESS_ATTACH:
+ // Initialize once for each new process.
+ // Return FALSE to fail DLL load.
+ InitializeCriticalSection(&spawnLock);
+ break;
+ case DLL_PROCESS_DETACH:
+ // Perform any necessary cleanup.
+ DeleteCriticalSection(&spawnLock);
+ break;
+ }
+ return TRUE; // Successful DLL_PROCESS_ATTACH.
+}
+#else
+pthread_mutex_t spawnLock = PTHREAD_MUTEX_INITIALIZER;
+#endif
FFI_PLUGIN_EXPORT
int SpawnJvm(JavaVMInitArgs* initArgs) {
if (jni_context.jvm != NULL) {
return DART_JNI_SINGLETON_EXISTS;
}
+
+ acquire_lock(&spawnLock);
+ // Init may have happened in the meanwhile.
+ if (jni_context.jvm != NULL) {
+ release_lock(&spawnLock);
+ return DART_JNI_SINGLETON_EXISTS;
+ }
JavaVMOption jvmopt[1];
char class_path[] = "-Djava.class.path=.";
jvmopt[0].optionString = class_path;
@@ -152,6 +184,8 @@
}
initAllLocks(&jni_context.locks);
initExceptionHandling(&exceptionMethods);
+ release_lock(&spawnLock);
+
return JNI_OK;
}
#endif
@@ -496,7 +530,7 @@
return details;
}
-JniAccessors accessors = {
+JniAccessorsStruct accessors = {
.getClass = getClass,
.getFieldID = getFieldID,
.getStaticFieldID = getStaticFieldID,
@@ -513,7 +547,7 @@
.getExceptionDetails = getExceptionDetails,
};
-FFI_PLUGIN_EXPORT JniAccessors* GetAccessors() {
+FFI_PLUGIN_EXPORT JniAccessorsStruct* GetAccessors() {
return &accessors;
}
diff --git a/pkgs/jni/src/dartjni.h b/pkgs/jni/src/dartjni.h
index eb73318..21cef20 100644
--- a/pkgs/jni/src/dartjni.h
+++ b/pkgs/jni/src/dartjni.h
@@ -163,7 +163,7 @@
/// Flutter embedding checks for pending JNI exceptions before an FFI transition, which requires us
/// to check for and clear the exception before returning to dart code, which requires these functions
/// to return result types.
-typedef struct JniAccessors {
+typedef struct JniAccessorsStruct {
JniClassLookupResult (*getClass)(char* internalName);
JniPointerResult (*getFieldID)(jclass cls, char* fieldName, char* signature);
JniPointerResult (*getStaticFieldID)(jclass cls,
@@ -192,9 +192,9 @@
JniResult (*getField)(jobject obj, jfieldID fieldID, int callType);
JniResult (*getStaticField)(jclass cls, jfieldID fieldID, int callType);
JniExceptionDetails (*getExceptionDetails)(jthrowable exception);
-} JniAccessors;
+} JniAccessorsStruct;
-FFI_PLUGIN_EXPORT JniAccessors* GetAccessors();
+FFI_PLUGIN_EXPORT JniAccessorsStruct* GetAccessors();
FFI_PLUGIN_EXPORT JavaVM* GetJavaVM(void);
diff --git a/pkgs/jni/src/third_party/global_jni_env.c b/pkgs/jni/src/third_party/global_jni_env.c
index 600b585..c5be7b0 100644
--- a/pkgs/jni/src/third_party/global_jni_env.c
+++ b/pkgs/jni/src/third_party/global_jni_env.c
@@ -2269,7 +2269,7 @@
return (JniResult){.value = {.i = _result}, .exception = NULL};
}
-GlobalJniEnv globalJniEnv = {
+GlobalJniEnvStruct globalJniEnv = {
.reserved0 = NULL,
.reserved1 = NULL,
.reserved2 = NULL,
@@ -2505,7 +2505,7 @@
.GetObjectRefType = globalEnv_GetObjectRefType,
};
FFI_PLUGIN_EXPORT
-GlobalJniEnv* GetGlobalEnv() {
+GlobalJniEnvStruct* GetGlobalEnv() {
if (jni->jvm == NULL) {
return NULL;
}
diff --git a/pkgs/jni/src/third_party/global_jni_env.h b/pkgs/jni/src/third_party/global_jni_env.h
index 8966d2b..562b1bf 100644
--- a/pkgs/jni/src/third_party/global_jni_env.h
+++ b/pkgs/jni/src/third_party/global_jni_env.h
@@ -29,7 +29,7 @@
#include <stdint.h>
#include "../dartjni.h"
-typedef struct GlobalJniEnv {
+typedef struct GlobalJniEnvStruct {
void* reserved0;
void* reserved1;
void* reserved2;
@@ -430,5 +430,5 @@
JniPointerResult (*GetDirectBufferAddress)(jobject buf);
JniResult (*GetDirectBufferCapacity)(jobject buf);
JniResult (*GetObjectRefType)(jobject obj);
-} GlobalJniEnv;
-FFI_PLUGIN_EXPORT GlobalJniEnv* GetGlobalEnv();
+} GlobalJniEnvStruct;
+FFI_PLUGIN_EXPORT GlobalJniEnvStruct* GetGlobalEnv();
diff --git a/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart b/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart
index ef907bf..cde47c9 100644
--- a/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart
+++ b/pkgs/jni/tool/wrapper_generators/generate_c_extensions.dart
@@ -29,7 +29,7 @@
const envType = 'JNINativeInterface';
/// Name of wrapper to JNIEnv
-const wrapperName = 'GlobalJniEnv';
+const wrapperName = 'GlobalJniEnvStruct';
const wrapperIncludes = '''
#include "global_jni_env.h"
diff --git a/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart b/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart
index 1ec422d..c78b883 100644
--- a/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart
+++ b/pkgs/jni/tool/wrapper_generators/generate_dart_extensions.dart
@@ -21,6 +21,8 @@
bindingsDir.resolve("jnienv_javavm_extensions.dart");
}
+const writeLocalEnvExtensions = false;
+
void executeDartFormat(List<Uri> files) {
final paths = files.map((u) => u.toFilePath()).toList();
logger.info('execute dart format ${paths.join(" ")}');
@@ -31,7 +33,7 @@
}
}
-const globalEnvType = 'GlobalJniEnv';
+const globalEnvType = 'GlobalJniEnvStruct';
const localEnvType = 'JNINativeInterface';
const jvmType = 'JNIInvokeInterface';
@@ -97,9 +99,13 @@
if (checkedGetter == 'boolean') {
returns = 'bool';
}
- return '$returns ${field.name}($signature) => '
- 'ref.${field.name}.asFunction<$dartType>()($callArgs)'
- '.$checkedGetter;\n';
+ return '''
+late final _${field.name} =
+ ptr.ref.${field.name}.asFunction<$dartType>();\n
+$returns ${field.name}($signature) =>
+ _${field.name}($callArgs).$checkedGetter;
+
+''';
}
return null;
}
@@ -119,26 +125,38 @@
''';
final globalEnvExtension = getGlobalEnvExtension(library);
- final accessorExtension =
- getFunctionPointerExtension(library, 'JniAccessors');
- final envExtension = getFunctionPointerExtension(
+ final accessorExtension = getFunctionPointerExtension(
library,
- 'JniEnv',
- indirect: true,
- implicitThis: true,
- );
- final jvmExtension = getFunctionPointerExtension(
- library,
- 'JavaVM',
- indirect: true,
- implicitThis: true,
+ 'JniAccessorsStruct',
+ 'JniAccessors',
);
File.fromUri(Paths.globalEnvExts).writeAsStringSync(preamble +
header +
importAccessors +
globalEnvExtension +
accessorExtension);
- File.fromUri(Paths.localEnvExts)
+ final localEnvExtsFile = File.fromUri(Paths.localEnvExts);
+ if (localEnvExtsFile.existsSync()) {
+ localEnvExtsFile.deleteSync();
+ }
+ if (!writeLocalEnvExtensions) {
+ return;
+ }
+ final envExtension = getFunctionPointerExtension(
+ library,
+ 'JniEnv',
+ 'LocalJniEnv',
+ indirect: true,
+ implicitThis: true,
+ );
+ final jvmExtension = getFunctionPointerExtension(
+ library,
+ 'JavaVM',
+ 'JniJavaVM',
+ indirect: true,
+ implicitThis: true,
+ );
+ localEnvExtsFile
.writeAsStringSync(preamble + header + envExtension + jvmExtension);
}
@@ -159,8 +177,15 @@
.map((m) => getGlobalEnvExtensionFunction(m, checkedReturnTypes[m.name]))
.whereNotNull()
.join('\n');
- return 'extension EnvExtension on ffi.Pointer<$globalEnvType> '
- '{$extensionFunctions}';
+ return '''
+/// Wraps over Pointer<GlobalJniEnvStruct> and exposes function pointer fields
+/// as methods.
+class GlobalJniEnv {
+ final ffi.Pointer<GlobalJniEnvStruct> ptr;
+ GlobalJniEnv(this.ptr);
+ $extensionFunctions
+}
+''';
}
String? getFunctionPointerExtensionFunction(Member field,
@@ -184,18 +209,23 @@
final dartType = FunctionType(returnType: returnType, parameters: params)
.getDartType(dummyWriter);
final callArgs = [
- if (implicitThis) 'this',
+ if (implicitThis) 'ptr',
...visibleParams.map((p) => p.name)
].join(', ');
final returns = returnType.getDartType(dummyWriter);
final dereference = indirect ? 'value.ref' : 'ref';
- return '$returns ${field.name}($signature) => '
- '$dereference.${field.name}.asFunction<$dartType>()($callArgs);\n';
+ return '''
+late final _${field.name} =
+ ptr.$dereference.${field.name}.asFunction<$dartType>();
+$returns ${field.name}($signature) => _${field.name}($callArgs);
+
+''';
}
return null;
}
-String getFunctionPointerExtension(Library library, String type,
+String getFunctionPointerExtension(
+ Library library, String type, String wrapperClassName,
{bool indirect = false, bool implicitThis = false}) {
final typeBinding =
library.bindings.firstWhere((b) => b.name == type) as Type;
@@ -205,8 +235,16 @@
indirect: indirect, implicitThis: implicitThis))
.whereNotNull()
.join('\n');
- return 'extension ${type}Extension on ffi.Pointer<$type> '
- '{$extensionFunctions}';
+ return '''
+/// Wraps over the function pointers in $type and exposes them as methods.
+class $wrapperClassName {
+ final ffi.Pointer<$type> ptr;
+ $wrapperClassName(this.ptr);
+
+ $extensionFunctions
+}
+
+''';
}
void generateDartExtensions(Library library) {
diff --git a/pkgs/jnigen/example/in_app_java/src/android_utils/dartjni.h b/pkgs/jnigen/example/in_app_java/src/android_utils/dartjni.h
index eb73318..21cef20 100644
--- a/pkgs/jnigen/example/in_app_java/src/android_utils/dartjni.h
+++ b/pkgs/jnigen/example/in_app_java/src/android_utils/dartjni.h
@@ -163,7 +163,7 @@
/// Flutter embedding checks for pending JNI exceptions before an FFI transition, which requires us
/// to check for and clear the exception before returning to dart code, which requires these functions
/// to return result types.
-typedef struct JniAccessors {
+typedef struct JniAccessorsStruct {
JniClassLookupResult (*getClass)(char* internalName);
JniPointerResult (*getFieldID)(jclass cls, char* fieldName, char* signature);
JniPointerResult (*getStaticFieldID)(jclass cls,
@@ -192,9 +192,9 @@
JniResult (*getField)(jobject obj, jfieldID fieldID, int callType);
JniResult (*getStaticField)(jclass cls, jfieldID fieldID, int callType);
JniExceptionDetails (*getExceptionDetails)(jthrowable exception);
-} JniAccessors;
+} JniAccessorsStruct;
-FFI_PLUGIN_EXPORT JniAccessors* GetAccessors();
+FFI_PLUGIN_EXPORT JniAccessorsStruct* GetAccessors();
FFI_PLUGIN_EXPORT JavaVM* GetJavaVM(void);
diff --git a/pkgs/jnigen/example/kotlin_plugin/src/dartjni.h b/pkgs/jnigen/example/kotlin_plugin/src/dartjni.h
index eb73318..21cef20 100644
--- a/pkgs/jnigen/example/kotlin_plugin/src/dartjni.h
+++ b/pkgs/jnigen/example/kotlin_plugin/src/dartjni.h
@@ -163,7 +163,7 @@
/// Flutter embedding checks for pending JNI exceptions before an FFI transition, which requires us
/// to check for and clear the exception before returning to dart code, which requires these functions
/// to return result types.
-typedef struct JniAccessors {
+typedef struct JniAccessorsStruct {
JniClassLookupResult (*getClass)(char* internalName);
JniPointerResult (*getFieldID)(jclass cls, char* fieldName, char* signature);
JniPointerResult (*getStaticFieldID)(jclass cls,
@@ -192,9 +192,9 @@
JniResult (*getField)(jobject obj, jfieldID fieldID, int callType);
JniResult (*getStaticField)(jclass cls, jfieldID fieldID, int callType);
JniExceptionDetails (*getExceptionDetails)(jthrowable exception);
-} JniAccessors;
+} JniAccessorsStruct;
-FFI_PLUGIN_EXPORT JniAccessors* GetAccessors();
+FFI_PLUGIN_EXPORT JniAccessorsStruct* GetAccessors();
FFI_PLUGIN_EXPORT JavaVM* GetJavaVM(void);
diff --git a/pkgs/jnigen/example/notification_plugin/src/dartjni.h b/pkgs/jnigen/example/notification_plugin/src/dartjni.h
index eb73318..21cef20 100644
--- a/pkgs/jnigen/example/notification_plugin/src/dartjni.h
+++ b/pkgs/jnigen/example/notification_plugin/src/dartjni.h
@@ -163,7 +163,7 @@
/// Flutter embedding checks for pending JNI exceptions before an FFI transition, which requires us
/// to check for and clear the exception before returning to dart code, which requires these functions
/// to return result types.
-typedef struct JniAccessors {
+typedef struct JniAccessorsStruct {
JniClassLookupResult (*getClass)(char* internalName);
JniPointerResult (*getFieldID)(jclass cls, char* fieldName, char* signature);
JniPointerResult (*getStaticFieldID)(jclass cls,
@@ -192,9 +192,9 @@
JniResult (*getField)(jobject obj, jfieldID fieldID, int callType);
JniResult (*getStaticField)(jclass cls, jfieldID fieldID, int callType);
JniExceptionDetails (*getExceptionDetails)(jthrowable exception);
-} JniAccessors;
+} JniAccessorsStruct;
-FFI_PLUGIN_EXPORT JniAccessors* GetAccessors();
+FFI_PLUGIN_EXPORT JniAccessorsStruct* GetAccessors();
FFI_PLUGIN_EXPORT JavaVM* GetJavaVM(void);
diff --git a/pkgs/jnigen/example/pdfbox_plugin/src/third_party/dartjni.h b/pkgs/jnigen/example/pdfbox_plugin/src/third_party/dartjni.h
index eb73318..21cef20 100644
--- a/pkgs/jnigen/example/pdfbox_plugin/src/third_party/dartjni.h
+++ b/pkgs/jnigen/example/pdfbox_plugin/src/third_party/dartjni.h
@@ -163,7 +163,7 @@
/// Flutter embedding checks for pending JNI exceptions before an FFI transition, which requires us
/// to check for and clear the exception before returning to dart code, which requires these functions
/// to return result types.
-typedef struct JniAccessors {
+typedef struct JniAccessorsStruct {
JniClassLookupResult (*getClass)(char* internalName);
JniPointerResult (*getFieldID)(jclass cls, char* fieldName, char* signature);
JniPointerResult (*getStaticFieldID)(jclass cls,
@@ -192,9 +192,9 @@
JniResult (*getField)(jobject obj, jfieldID fieldID, int callType);
JniResult (*getStaticField)(jclass cls, jfieldID fieldID, int callType);
JniExceptionDetails (*getExceptionDetails)(jthrowable exception);
-} JniAccessors;
+} JniAccessorsStruct;
-FFI_PLUGIN_EXPORT JniAccessors* GetAccessors();
+FFI_PLUGIN_EXPORT JniAccessorsStruct* GetAccessors();
FFI_PLUGIN_EXPORT JavaVM* GetJavaVM(void);
diff --git a/pkgs/jnigen/test/kotlin_test/src/dartjni.h b/pkgs/jnigen/test/kotlin_test/src/dartjni.h
index eb73318..21cef20 100644
--- a/pkgs/jnigen/test/kotlin_test/src/dartjni.h
+++ b/pkgs/jnigen/test/kotlin_test/src/dartjni.h
@@ -163,7 +163,7 @@
/// Flutter embedding checks for pending JNI exceptions before an FFI transition, which requires us
/// to check for and clear the exception before returning to dart code, which requires these functions
/// to return result types.
-typedef struct JniAccessors {
+typedef struct JniAccessorsStruct {
JniClassLookupResult (*getClass)(char* internalName);
JniPointerResult (*getFieldID)(jclass cls, char* fieldName, char* signature);
JniPointerResult (*getStaticFieldID)(jclass cls,
@@ -192,9 +192,9 @@
JniResult (*getField)(jobject obj, jfieldID fieldID, int callType);
JniResult (*getStaticField)(jclass cls, jfieldID fieldID, int callType);
JniExceptionDetails (*getExceptionDetails)(jthrowable exception);
-} JniAccessors;
+} JniAccessorsStruct;
-FFI_PLUGIN_EXPORT JniAccessors* GetAccessors();
+FFI_PLUGIN_EXPORT JniAccessorsStruct* GetAccessors();
FFI_PLUGIN_EXPORT JavaVM* GetJavaVM(void);
diff --git a/pkgs/jnigen/test/simple_package_test/src/dartjni.h b/pkgs/jnigen/test/simple_package_test/src/dartjni.h
index eb73318..21cef20 100644
--- a/pkgs/jnigen/test/simple_package_test/src/dartjni.h
+++ b/pkgs/jnigen/test/simple_package_test/src/dartjni.h
@@ -163,7 +163,7 @@
/// Flutter embedding checks for pending JNI exceptions before an FFI transition, which requires us
/// to check for and clear the exception before returning to dart code, which requires these functions
/// to return result types.
-typedef struct JniAccessors {
+typedef struct JniAccessorsStruct {
JniClassLookupResult (*getClass)(char* internalName);
JniPointerResult (*getFieldID)(jclass cls, char* fieldName, char* signature);
JniPointerResult (*getStaticFieldID)(jclass cls,
@@ -192,9 +192,9 @@
JniResult (*getField)(jobject obj, jfieldID fieldID, int callType);
JniResult (*getStaticField)(jclass cls, jfieldID fieldID, int callType);
JniExceptionDetails (*getExceptionDetails)(jthrowable exception);
-} JniAccessors;
+} JniAccessorsStruct;
-FFI_PLUGIN_EXPORT JniAccessors* GetAccessors();
+FFI_PLUGIN_EXPORT JniAccessorsStruct* GetAccessors();
FFI_PLUGIN_EXPORT JavaVM* GetJavaVM(void);