Logging all native->java function calls
As we work towards a Java-less renderer, we need to enumerate all usages of Java in the renderer process. To do so, we call a callback on every native->java function call, which is only set when we are in a renderer process. This callback calls DumpWithoutCrashing so we can start to get reports in crash/. When we see new entries, we should add them to the list kKnownRendererJavaUses - this will be the definitive list of all our Java uses. This is only enabled on Canary for now, I don't anticipate us moving it onto other channels, as Canary should be enough coverage. Once we have run it long enough on Canary, and think our list is complete, we will revert this change. Binary-Size: Temporary, planned to be reverted Bug: 388843399 Change-Id: Id76a796488bcd18897c1bcd4ae30d3e28d384d56 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6180507 Auto-Submit: Sam Maier <smaier@chromium.org> Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Reviewed-by: Andrew Grieve <agrieve@chromium.org> Commit-Queue: Dave Tapuska <dtapuska@chromium.org> Cr-Commit-Position: refs/heads/main@{#1410930}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
04b791e0e8
commit
c3fc8848ef
content/app
third_party/jni_zero
codegen
jni_methods.hjni_zero.cctest
golden
testBidirectionalClass-SampleForTests_jni.h.goldentestBirectionalNonProxy-SampleBidirectionalNonProxy_jni.h.goldentestFromClassFile-JavapClass_jni.h.goldentestPackagePrefixGenerator-SampleForTests_jni.h.goldentestPackagePrefixWithFilter-SampleForTests_jni.h.goldentestUniqueAnnotations-SampleUniqueAnnotations_jni.h.golden
@ -130,6 +130,7 @@ source_set("app") {
|
||||
"android/library_loader_hooks.h",
|
||||
]
|
||||
deps += [
|
||||
"//base/version_info/android:channel_getter",
|
||||
"//mojo/public/java/system:native_support",
|
||||
"//ui/gl",
|
||||
]
|
||||
|
@ -4,15 +4,60 @@
|
||||
|
||||
#include "content/app/android/library_loader_hooks.h"
|
||||
|
||||
#include "base/containers/fixed_flat_set.h"
|
||||
#include "base/debug/crash_logging.h"
|
||||
#include "base/debug/dump_without_crashing.h"
|
||||
#include "base/i18n/icu_util.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/process/current_process.h"
|
||||
#include "base/trace_event/trace_event.h"
|
||||
#include "base/version_info/android/channel_getter.h"
|
||||
#include "content/common/content_constants_internal.h"
|
||||
#include "content/common/url_schemes.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "services/tracing/public/cpp/trace_startup.h"
|
||||
|
||||
namespace {
|
||||
void DumpUnseenRendererJavaUsage(char const* class_name,
|
||||
char const* method_name) {
|
||||
// We hope to launch a Java-less renderer - crbug.com/388840315. As a part of
|
||||
// this, we need to figure out what usages of Java exist in the renderer. This
|
||||
// only exists to collect the set of Java usages. If you see a new
|
||||
// DumpWithoutCrashing from this file, simply add the problem function to the
|
||||
// list.
|
||||
static constexpr auto kKnownRendererJavaUses =
|
||||
base::MakeFixedFlatSet<std::pair<std::string_view, std::string_view>>(
|
||||
{{"java/lang/Runtime", "getRuntime"},
|
||||
{"java/lang/Runtime", "freeMemory"},
|
||||
{"java/lang/Runtime", "totalMemory"},
|
||||
{"org/chromium/android_webview/common/origin_trial/"
|
||||
"DisableOriginTrialsSafeModeUtils",
|
||||
"isDisableOriginTrialsEnabled"},
|
||||
{"org/chromium/base/ApkAssets", "open"},
|
||||
{"org/chromium/base/BuildInfo", "getAll"},
|
||||
{"org/chromium/base/EarlyTraceEvent",
|
||||
"getBackgroundStartupTracingFlag"},
|
||||
{"org/chromium/base/JavaExceptionReporter", "installHandler"},
|
||||
{"org/chromium/base/MemoryPressureListener", "addNativeCallback"},
|
||||
{"org/chromium/base/SysUtils", "isLowEndDevice"},
|
||||
{"org/chromium/base/ThreadUtils", "setThreadPriorityAudio"},
|
||||
{"org/chromium/base/TimezoneUtils", "getDefaultTimeZoneId"},
|
||||
{"org/chromium/base/TraceEvent", "setEnabled"},
|
||||
{"org/chromium/base/version_info/VersionConstantsBridge",
|
||||
"getChannel"},
|
||||
{"org/chromium/content/app/ContentChildProcessServiceDelegate",
|
||||
"setFileDescriptorsIdsToKeys"},
|
||||
{"org/chromium/media/MediaCodecUtil",
|
||||
"isDecoderSupportedForDevice"}});
|
||||
if (!kKnownRendererJavaUses.contains({class_name, method_name})) {
|
||||
SCOPED_CRASH_KEY_STRING256("Java-less Renderer", "Java Class", class_name);
|
||||
SCOPED_CRASH_KEY_STRING64("Java-less Renderer", "Java Method", method_name);
|
||||
base::debug::DumpWithoutCrashing();
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
namespace content {
|
||||
|
||||
bool LibraryLoaded(JNIEnv* env,
|
||||
@ -28,6 +73,15 @@ bool LibraryLoaded(JNIEnv* env,
|
||||
base::CurrentProcessType::PROCESS_BROWSER);
|
||||
}
|
||||
|
||||
// Temporary, until we collect what we believe to be an exhaustive list of
|
||||
// renderer usages of Java. Feel free to delete if this is still here in 2026.
|
||||
if (version_info::android::GetChannel() == version_info::Channel::CANARY) {
|
||||
if (base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
|
||||
switches::kProcessType) == switches::kRendererProcess) {
|
||||
jni_zero::SetNativeToJavaCallback(DumpUnseenRendererJavaUsage);
|
||||
}
|
||||
}
|
||||
|
||||
// Tracing itself can only be enabled after mojo is initialized, we do so in
|
||||
// ContentMainRunnerImpl::Initialize.
|
||||
|
||||
|
@ -89,6 +89,8 @@ def method_definition(sb, cbn):
|
||||
for p in cbn.params)
|
||||
|
||||
with sb.block(after='\n'):
|
||||
sb(f'jni_zero::CallNativeToJavaCallback("{java_class.full_name_with_slashes}", "{cbn.name}");\n'
|
||||
)
|
||||
sb('static std::atomic<jmethodID> cached_method_id(nullptr);\n')
|
||||
class_accessor = header_common.class_accessor_expression(java_class)
|
||||
receiver_arg = 'clazz' if reciever_arg_is_class else 'obj.obj()'
|
||||
|
7
third_party/jni_zero/jni_methods.h
vendored
7
third_party/jni_zero/jni_methods.h
vendored
@ -46,6 +46,13 @@ JNI_ZERO_COMPONENT_BUILD_EXPORT void DisableJvmForTesting();
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT void SetExceptionHandler(
|
||||
void (*callback)(JNIEnv*));
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT void SetNativeToJavaCallback(
|
||||
void (*callback)(char const*, char const*));
|
||||
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT void CallNativeToJavaCallback(
|
||||
char const* className,
|
||||
char const* methodName);
|
||||
|
||||
// Returns true if an exception is pending in the provided JNIEnv*.
|
||||
JNI_ZERO_COMPONENT_BUILD_EXPORT bool HasException(JNIEnv* env);
|
||||
|
||||
|
11
third_party/jni_zero/jni_zero.cc
vendored
11
third_party/jni_zero/jni_zero.cc
vendored
@ -24,6 +24,7 @@ JavaVM* g_jvm = nullptr;
|
||||
jclass (*g_class_resolver)(JNIEnv*, const char*, const char*) = nullptr;
|
||||
|
||||
void (*g_exception_handler_callback)(JNIEnv*) = nullptr;
|
||||
void (*g_native_to_java_callback)(const char*, const char*) = nullptr;
|
||||
|
||||
jclass GetClassInternal(JNIEnv* env,
|
||||
const char* class_name,
|
||||
@ -173,6 +174,16 @@ void SetExceptionHandler(void (*callback)(JNIEnv*)) {
|
||||
g_exception_handler_callback = callback;
|
||||
}
|
||||
|
||||
void SetNativeToJavaCallback(void (*callback)(char const*, char const*)) {
|
||||
g_native_to_java_callback = callback;
|
||||
}
|
||||
|
||||
void CallNativeToJavaCallback(char const* class_name, char const* method_name) {
|
||||
if (g_native_to_java_callback) {
|
||||
g_native_to_java_callback(class_name, method_name);
|
||||
}
|
||||
}
|
||||
|
||||
void CheckException(JNIEnv* env) {
|
||||
if (!HasException(env)) {
|
||||
return;
|
||||
|
@ -346,6 +346,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_Constructor(
|
||||
JNIEnv* env,
|
||||
JniIntWrapper foo,
|
||||
JniIntWrapper bar) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "<init>");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -364,6 +365,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_addStructA(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jobject>& a) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "addStructA");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -382,6 +384,7 @@ static jni_zero::ScopedJavaLocalRef<jclass> Java_SampleForTests_getClass(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jclass>& arg0) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "getClass");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -402,6 +405,7 @@ static std::string Java_SampleForTests_getFirstString(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
std::vector<const char*> const& array,
|
||||
const char* const& finalArg) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "getFirstString");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -426,6 +430,7 @@ static std::string Java_SampleForTests_getFirstString(
|
||||
}
|
||||
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "getInnerEnum");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -443,6 +448,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(JN
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(
|
||||
JNIEnv* env,
|
||||
JniIntWrapper a) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "getInnerEnum");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -458,6 +464,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(
|
||||
}
|
||||
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerInterface(JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "getInnerInterface");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -476,6 +483,7 @@ static jni_zero::ScopedJavaLocalRef<jthrowable> Java_SampleForTests_getThrowable
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jthrowable>& arg0) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "getThrowable");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -494,6 +502,7 @@ static jni_zero::ScopedJavaLocalRef<jthrowable> Java_SampleForTests_getThrowable
|
||||
static void Java_SampleForTests_iterateAndDoSomething(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "iterateAndDoSomething");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -512,6 +521,7 @@ static jint Java_SampleForTests_javaMethod(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
JniIntWrapper _jcaller,
|
||||
JniIntWrapper ret) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "javaMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, 0);
|
||||
@ -537,6 +547,7 @@ static std::vector<int32_t> Java_SampleForTests_jniTypesAndAnnotations(
|
||||
std::vector<int32_t> const& bar,
|
||||
JniIntWrapper baz,
|
||||
long bat) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "jniTypesAndAnnotations");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -565,6 +576,7 @@ static std::vector<int32_t> Java_SampleForTests_jniTypesAndAnnotations(
|
||||
static std::vector<jni_zero::ScopedJavaLocalRef<jobject>> Java_SampleForTests_listTest1(
|
||||
JNIEnv* env,
|
||||
std::vector<std::string> const& items) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "listTest1");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -585,6 +597,7 @@ static std::vector<jni_zero::ScopedJavaLocalRef<jobject>> Java_SampleForTests_li
|
||||
static std::map<std::string, std::string> Java_SampleForTests_mapTest1(
|
||||
JNIEnv* env,
|
||||
std::map<std::string, std::string> const& arg0) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "mapTest1");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -605,6 +618,7 @@ static std::map<std::string, std::string> Java_SampleForTests_mapTest1(
|
||||
static void Java_SampleForTests_methodThatThrowsException(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "methodThatThrowsException");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -621,6 +635,7 @@ static void Java_SampleForTests_methodThatThrowsException(
|
||||
static jboolean Java_SampleForTests_methodWithAnnotationParamAssignment(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "methodWithAnnotationParamAssignment");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, false);
|
||||
@ -640,6 +655,7 @@ static void Java_SampleForTests_methodWithGenericParams(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jobject>& _env,
|
||||
const jni_zero::JavaRef<jobject>& bar) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "methodWithGenericParams");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -656,6 +672,7 @@ static void Java_SampleForTests_methodWithGenericParams(
|
||||
static void Java_SampleForTests_packagePrivateJavaMethod(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "packagePrivateJavaMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -678,6 +695,7 @@ static std::vector<bool> Java_SampleForTests_primitiveArrays(
|
||||
std::vector<int64_t> const& l,
|
||||
std::vector<float> const& f,
|
||||
std::vector<double> const& d) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "primitiveArrays");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -711,6 +729,7 @@ static std::vector<bool> Java_SampleForTests_primitiveArrays(
|
||||
}
|
||||
|
||||
static jboolean Java_SampleForTests_staticJavaMethod(JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests", "staticJavaMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, false);
|
||||
@ -730,6 +749,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_InnerStructA_create(
|
||||
jlong l,
|
||||
JniIntWrapper i,
|
||||
const jni_zero::JavaRef<jstring>& s) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests$InnerStructA", "create");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_00024InnerStructA_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -745,6 +765,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_InnerStructA_create(
|
||||
}
|
||||
|
||||
static jlong Java_InnerStructB_getKey(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests$InnerStructB", "getKey");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_00024InnerStructB_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, 0);
|
||||
@ -762,6 +783,7 @@ static jlong Java_InnerStructB_getKey(JNIEnv* env, const jni_zero::JavaRef<jobje
|
||||
static jni_zero::ScopedJavaLocalRef<jstring> Java_InnerStructB_getValue(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleForTests$InnerStructB", "getValue");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleForTests_00024InnerStructB_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
|
8
third_party/jni_zero/test/golden/testBirectionalNonProxy-SampleBidirectionalNonProxy_jni.h.golden
vendored
8
third_party/jni_zero/test/golden/testBirectionalNonProxy-SampleBidirectionalNonProxy_jni.h.golden
vendored
@ -79,6 +79,7 @@ static void Java_SampleBidirectionalNonProxy_addStructB(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jobject>& caller,
|
||||
const jni_zero::JavaRef<jobject>& b) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleBidirectionalNonProxy", "addStructB");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -97,6 +98,7 @@ static void Java_SampleBidirectionalNonProxy_setBool(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jobject>& b,
|
||||
const jni_zero::JavaRef<jobject>& i) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleBidirectionalNonProxy", "setBool");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -114,6 +116,7 @@ static void Java_SampleBidirectionalNonProxy_setStringBuilder(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jobject>& sb) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleBidirectionalNonProxy", "setStringBuilder");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -128,6 +131,7 @@ static void Java_SampleBidirectionalNonProxy_setStringBuilder(
|
||||
}
|
||||
|
||||
static jdouble Java_SampleBidirectionalNonProxy_testMethodWithNoParam(JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleBidirectionalNonProxy", "testMethodWithNoParam");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, 0);
|
||||
@ -146,6 +150,7 @@ static void Java_SampleBidirectionalNonProxy_testMethodWithParam(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
JniIntWrapper iParam) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleBidirectionalNonProxy", "testMethodWithParam");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -163,6 +168,7 @@ static jni_zero::ScopedJavaLocalRef<jstring> Java_SampleBidirectionalNonProxy_te
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
JniIntWrapper iParam) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleBidirectionalNonProxy", "testMethodWithParamAndReturn");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -180,6 +186,7 @@ static jni_zero::ScopedJavaLocalRef<jstring> Java_SampleBidirectionalNonProxy_te
|
||||
|
||||
static jni_zero::ScopedJavaLocalRef<jstring> Java_SampleBidirectionalNonProxy_testStaticMethodWithNoParam(
|
||||
JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleBidirectionalNonProxy", "testStaticMethodWithNoParam");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -198,6 +205,7 @@ static jni_zero::ScopedJavaLocalRef<jstring> Java_SampleBidirectionalNonProxy_te
|
||||
static jint Java_SampleBidirectionalNonProxy_testStaticMethodWithParam(
|
||||
JNIEnv* env,
|
||||
JniIntWrapper iParam) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleBidirectionalNonProxy", "testStaticMethodWithParam");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleBidirectionalNonProxy_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, 0);
|
||||
|
@ -33,6 +33,7 @@ enum Java_JavapClass_constant_fields {
|
||||
// Native to Java functions
|
||||
[[maybe_unused]] static jni_zero::ScopedJavaLocalRef<jobject> Java_JavapClass_Constructor(
|
||||
JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/JavapClass", "<init>");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_JavapClass_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -50,6 +51,7 @@ enum Java_JavapClass_constant_fields {
|
||||
[[maybe_unused]] static jni_zero::ScopedJavaLocalRef<jobject> Java_JavapClass_Constructor__boolean(
|
||||
JNIEnv* env,
|
||||
jboolean p0) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/JavapClass", "<init>");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_JavapClass_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -67,6 +69,7 @@ enum Java_JavapClass_constant_fields {
|
||||
[[maybe_unused]] static jni_zero::ScopedJavaLocalRef<jobject> Java_JavapClass_Constructor__int(
|
||||
JNIEnv* env,
|
||||
JniIntWrapper p0) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/JavapClass", "<init>");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_JavapClass_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -85,6 +88,7 @@ enum Java_JavapClass_constant_fields {
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jstring>& p0) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/JavapClass", "intMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_JavapClass_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, 0);
|
||||
@ -100,6 +104,7 @@ enum Java_JavapClass_constant_fields {
|
||||
}
|
||||
|
||||
[[maybe_unused]] static void Java_JavapClass_needsMangling__int(JNIEnv* env, JniIntWrapper p0) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/JavapClass", "needsMangling");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_JavapClass_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz);
|
||||
@ -116,6 +121,7 @@ enum Java_JavapClass_constant_fields {
|
||||
[[maybe_unused]] static void Java_JavapClass_needsMangling__String(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jstring>& p0) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/JavapClass", "needsMangling");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_JavapClass_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz);
|
||||
@ -132,6 +138,7 @@ enum Java_JavapClass_constant_fields {
|
||||
[[maybe_unused]] static void Java_JavapClass_needsMangling__java_util_ArrayList(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& p0) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/JavapClass", "needsMangling");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_JavapClass_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz);
|
||||
@ -150,6 +157,7 @@ enum Java_JavapClass_constant_fields {
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jobject>& p0,
|
||||
const jni_zero::JavaRef<jobjectArray>& p1) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/JavapClass", "objTest");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_JavapClass_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -169,6 +177,7 @@ enum Java_JavapClass_constant_fields {
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jstring>& p0,
|
||||
const jni_zero::JavaRef<jobject>& p1) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/JavapClass", "staticIntMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_JavapClass_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, 0);
|
||||
@ -186,6 +195,7 @@ enum Java_JavapClass_constant_fields {
|
||||
[[maybe_unused]] static jni_zero::ScopedJavaLocalRef<jobjectArray> Java_JavapClass_staticIntMethod(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jstring>& p0) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/JavapClass", "staticIntMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_JavapClass_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
|
@ -346,6 +346,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_Constructor(
|
||||
JNIEnv* env,
|
||||
JniIntWrapper foo,
|
||||
JniIntWrapper bar) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "<init>");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -364,6 +365,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_addStructA(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jobject>& a) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "addStructA");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -382,6 +384,7 @@ static jni_zero::ScopedJavaLocalRef<jclass> Java_SampleForTests_getClass(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jclass>& arg0) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getClass");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -402,6 +405,7 @@ static std::string Java_SampleForTests_getFirstString(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
std::vector<const char*> const& array,
|
||||
const char* const& finalArg) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getFirstString");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -426,6 +430,7 @@ static std::string Java_SampleForTests_getFirstString(
|
||||
}
|
||||
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getInnerEnum");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -443,6 +448,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(JN
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(
|
||||
JNIEnv* env,
|
||||
JniIntWrapper a) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getInnerEnum");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -458,6 +464,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(
|
||||
}
|
||||
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerInterface(JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getInnerInterface");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -476,6 +483,7 @@ static jni_zero::ScopedJavaLocalRef<jthrowable> Java_SampleForTests_getThrowable
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jthrowable>& arg0) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getThrowable");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -494,6 +502,7 @@ static jni_zero::ScopedJavaLocalRef<jthrowable> Java_SampleForTests_getThrowable
|
||||
static void Java_SampleForTests_iterateAndDoSomething(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "iterateAndDoSomething");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -512,6 +521,7 @@ static jint Java_SampleForTests_javaMethod(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
JniIntWrapper _jcaller,
|
||||
JniIntWrapper ret) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "javaMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, 0);
|
||||
@ -537,6 +547,7 @@ static std::vector<int32_t> Java_SampleForTests_jniTypesAndAnnotations(
|
||||
std::vector<int32_t> const& bar,
|
||||
JniIntWrapper baz,
|
||||
long bat) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "jniTypesAndAnnotations");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -565,6 +576,7 @@ static std::vector<int32_t> Java_SampleForTests_jniTypesAndAnnotations(
|
||||
static std::vector<jni_zero::ScopedJavaLocalRef<jobject>> Java_SampleForTests_listTest1(
|
||||
JNIEnv* env,
|
||||
std::vector<std::string> const& items) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "listTest1");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -585,6 +597,7 @@ static std::vector<jni_zero::ScopedJavaLocalRef<jobject>> Java_SampleForTests_li
|
||||
static std::map<std::string, std::string> Java_SampleForTests_mapTest1(
|
||||
JNIEnv* env,
|
||||
std::map<std::string, std::string> const& arg0) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "mapTest1");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -605,6 +618,7 @@ static std::map<std::string, std::string> Java_SampleForTests_mapTest1(
|
||||
static void Java_SampleForTests_methodThatThrowsException(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "methodThatThrowsException");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -621,6 +635,7 @@ static void Java_SampleForTests_methodThatThrowsException(
|
||||
static jboolean Java_SampleForTests_methodWithAnnotationParamAssignment(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "methodWithAnnotationParamAssignment");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, false);
|
||||
@ -640,6 +655,7 @@ static void Java_SampleForTests_methodWithGenericParams(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jobject>& _env,
|
||||
const jni_zero::JavaRef<jobject>& bar) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "methodWithGenericParams");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -656,6 +672,7 @@ static void Java_SampleForTests_methodWithGenericParams(
|
||||
static void Java_SampleForTests_packagePrivateJavaMethod(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "packagePrivateJavaMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -678,6 +695,7 @@ static std::vector<bool> Java_SampleForTests_primitiveArrays(
|
||||
std::vector<int64_t> const& l,
|
||||
std::vector<float> const& f,
|
||||
std::vector<double> const& d) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "primitiveArrays");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -711,6 +729,7 @@ static std::vector<bool> Java_SampleForTests_primitiveArrays(
|
||||
}
|
||||
|
||||
static jboolean Java_SampleForTests_staticJavaMethod(JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "staticJavaMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, false);
|
||||
@ -730,6 +749,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_InnerStructA_create(
|
||||
jlong l,
|
||||
JniIntWrapper i,
|
||||
const jni_zero::JavaRef<jstring>& s) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests$InnerStructA", "create");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_00024InnerStructA_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -745,6 +765,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_InnerStructA_create(
|
||||
}
|
||||
|
||||
static jlong Java_InnerStructB_getKey(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests$InnerStructB", "getKey");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_00024InnerStructB_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, 0);
|
||||
@ -762,6 +783,7 @@ static jlong Java_InnerStructB_getKey(JNIEnv* env, const jni_zero::JavaRef<jobje
|
||||
static jni_zero::ScopedJavaLocalRef<jstring> Java_InnerStructB_getValue(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests$InnerStructB", "getValue");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_00024InnerStructB_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
|
22
third_party/jni_zero/test/golden/testPackagePrefixWithFilter-SampleForTests_jni.h.golden
vendored
22
third_party/jni_zero/test/golden/testPackagePrefixWithFilter-SampleForTests_jni.h.golden
vendored
@ -346,6 +346,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_Constructor(
|
||||
JNIEnv* env,
|
||||
JniIntWrapper foo,
|
||||
JniIntWrapper bar) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "<init>");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -364,6 +365,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_addStructA(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jobject>& a) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "addStructA");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -382,6 +384,7 @@ static jni_zero::ScopedJavaLocalRef<jclass> Java_SampleForTests_getClass(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jclass>& arg0) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getClass");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -402,6 +405,7 @@ static std::string Java_SampleForTests_getFirstString(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
std::vector<const char*> const& array,
|
||||
const char* const& finalArg) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getFirstString");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -426,6 +430,7 @@ static std::string Java_SampleForTests_getFirstString(
|
||||
}
|
||||
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getInnerEnum");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -443,6 +448,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(JN
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(
|
||||
JNIEnv* env,
|
||||
JniIntWrapper a) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getInnerEnum");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -458,6 +464,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerEnum(
|
||||
}
|
||||
|
||||
static jni_zero::ScopedJavaLocalRef<jobject> Java_SampleForTests_getInnerInterface(JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getInnerInterface");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -476,6 +483,7 @@ static jni_zero::ScopedJavaLocalRef<jthrowable> Java_SampleForTests_getThrowable
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jthrowable>& arg0) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "getThrowable");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -494,6 +502,7 @@ static jni_zero::ScopedJavaLocalRef<jthrowable> Java_SampleForTests_getThrowable
|
||||
static void Java_SampleForTests_iterateAndDoSomething(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "iterateAndDoSomething");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -512,6 +521,7 @@ static jint Java_SampleForTests_javaMethod(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
JniIntWrapper _jcaller,
|
||||
JniIntWrapper ret) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "javaMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, 0);
|
||||
@ -537,6 +547,7 @@ static std::vector<int32_t> Java_SampleForTests_jniTypesAndAnnotations(
|
||||
std::vector<int32_t> const& bar,
|
||||
JniIntWrapper baz,
|
||||
long bat) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "jniTypesAndAnnotations");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
@ -565,6 +576,7 @@ static std::vector<int32_t> Java_SampleForTests_jniTypesAndAnnotations(
|
||||
static std::vector<jni_zero::ScopedJavaLocalRef<jobject>> Java_SampleForTests_listTest1(
|
||||
JNIEnv* env,
|
||||
std::vector<std::string> const& items) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "listTest1");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -585,6 +597,7 @@ static std::vector<jni_zero::ScopedJavaLocalRef<jobject>> Java_SampleForTests_li
|
||||
static std::map<std::string, std::string> Java_SampleForTests_mapTest1(
|
||||
JNIEnv* env,
|
||||
std::map<std::string, std::string> const& arg0) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "mapTest1");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -605,6 +618,7 @@ static std::map<std::string, std::string> Java_SampleForTests_mapTest1(
|
||||
static void Java_SampleForTests_methodThatThrowsException(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "methodThatThrowsException");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -621,6 +635,7 @@ static void Java_SampleForTests_methodThatThrowsException(
|
||||
static jboolean Java_SampleForTests_methodWithAnnotationParamAssignment(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "methodWithAnnotationParamAssignment");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, false);
|
||||
@ -640,6 +655,7 @@ static void Java_SampleForTests_methodWithGenericParams(
|
||||
const jni_zero::JavaRef<jobject>& obj,
|
||||
const jni_zero::JavaRef<jobject>& _env,
|
||||
const jni_zero::JavaRef<jobject>& bar) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "methodWithGenericParams");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -656,6 +672,7 @@ static void Java_SampleForTests_methodWithGenericParams(
|
||||
static void Java_SampleForTests_packagePrivateJavaMethod(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "packagePrivateJavaMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz);
|
||||
@ -678,6 +695,7 @@ static std::vector<bool> Java_SampleForTests_primitiveArrays(
|
||||
std::vector<int64_t> const& l,
|
||||
std::vector<float> const& f,
|
||||
std::vector<double> const& d) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "primitiveArrays");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -711,6 +729,7 @@ static std::vector<bool> Java_SampleForTests_primitiveArrays(
|
||||
}
|
||||
|
||||
static jboolean Java_SampleForTests_staticJavaMethod(JNIEnv* env) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests", "staticJavaMethod");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, false);
|
||||
@ -730,6 +749,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_InnerStructA_create(
|
||||
jlong l,
|
||||
JniIntWrapper i,
|
||||
const jni_zero::JavaRef<jstring>& s) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests$InnerStructA", "create");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_00024InnerStructA_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz, nullptr);
|
||||
@ -745,6 +765,7 @@ static jni_zero::ScopedJavaLocalRef<jobject> Java_InnerStructA_create(
|
||||
}
|
||||
|
||||
static jlong Java_InnerStructB_getKey(JNIEnv* env, const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests$InnerStructB", "getKey");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_00024InnerStructB_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, 0);
|
||||
@ -762,6 +783,7 @@ static jlong Java_InnerStructB_getKey(JNIEnv* env, const jni_zero::JavaRef<jobje
|
||||
static jni_zero::ScopedJavaLocalRef<jstring> Java_InnerStructB_getValue(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& obj) {
|
||||
jni_zero::CallNativeToJavaCallback("this/is/a/package/prefix/org/jni_zero/SampleForTests$InnerStructB", "getValue");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = this_is_a_package_prefix_org_jni_1zero_SampleForTests_00024InnerStructB_clazz(env);
|
||||
CHECK_CLAZZ(env, obj.obj(), clazz, nullptr);
|
||||
|
1
third_party/jni_zero/test/golden/testUniqueAnnotations-SampleUniqueAnnotations_jni.h.golden
vendored
1
third_party/jni_zero/test/golden/testUniqueAnnotations-SampleUniqueAnnotations_jni.h.golden
vendored
@ -72,6 +72,7 @@ JNI_ZERO_BOUNDARY_EXPORT void Java_org_jni_1zero_SampleUniqueAnnotations_nativeC
|
||||
static void Java_SampleUniqueAnnotations_useBar1(
|
||||
JNIEnv* env,
|
||||
const jni_zero::JavaRef<jobject>& inner) {
|
||||
jni_zero::CallNativeToJavaCallback("org/jni_zero/SampleUniqueAnnotations", "useBar1");
|
||||
static std::atomic<jmethodID> cached_method_id(nullptr);
|
||||
jclass clazz = org_jni_1zero_SampleUniqueAnnotations_clazz(env);
|
||||
CHECK_CLAZZ(env, clazz, clazz);
|
||||
|
Reference in New Issue
Block a user