mirror of
https://github.com/Z3Prover/z3
synced 2026-06-02 07:07:52 +00:00
Fix NoSuchFieldError in JNI for BoolPtr: use Z field descriptor and SetBooleanField
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
parent
027b46b2ed
commit
c384710b08
1 changed files with 7 additions and 1 deletions
|
|
@ -852,12 +852,18 @@ def mk_java(java_src, java_dir, package_name):
|
||||||
java_wrapper.write(' RELEASELONGAELEMS(a%s, _a%s);\n' % (i, i))
|
java_wrapper.write(' RELEASELONGAELEMS(a%s, _a%s);\n' % (i, i))
|
||||||
|
|
||||||
elif k == OUT or k == INOUT:
|
elif k == OUT or k == INOUT:
|
||||||
if param_type(param) == INT or param_type(param) == UINT or param_type(param) == BOOL:
|
if param_type(param) == INT or param_type(param) == UINT:
|
||||||
java_wrapper.write(' {\n')
|
java_wrapper.write(' {\n')
|
||||||
java_wrapper.write(' jclass mc = jenv->GetObjectClass(a%s);\n' % i)
|
java_wrapper.write(' jclass mc = jenv->GetObjectClass(a%s);\n' % i)
|
||||||
java_wrapper.write(' jfieldID fid = jenv->GetFieldID(mc, "value", "I");\n')
|
java_wrapper.write(' jfieldID fid = jenv->GetFieldID(mc, "value", "I");\n')
|
||||||
java_wrapper.write(' jenv->SetIntField(a%s, fid, (jint) _a%s);\n' % (i, i))
|
java_wrapper.write(' jenv->SetIntField(a%s, fid, (jint) _a%s);\n' % (i, i))
|
||||||
java_wrapper.write(' }\n')
|
java_wrapper.write(' }\n')
|
||||||
|
elif param_type(param) == BOOL:
|
||||||
|
java_wrapper.write(' {\n')
|
||||||
|
java_wrapper.write(' jclass mc = jenv->GetObjectClass(a%s);\n' % i)
|
||||||
|
java_wrapper.write(' jfieldID fid = jenv->GetFieldID(mc, "value", "Z");\n')
|
||||||
|
java_wrapper.write(' jenv->SetBooleanField(a%s, fid, (jboolean) _a%s);\n' % (i, i))
|
||||||
|
java_wrapper.write(' }\n')
|
||||||
elif param_type(param) == STRING:
|
elif param_type(param) == STRING:
|
||||||
java_wrapper.write(' {\n')
|
java_wrapper.write(' {\n')
|
||||||
java_wrapper.write(' jclass mc = jenv->GetObjectClass(a%s);\n' % i)
|
java_wrapper.write(' jclass mc = jenv->GetObjectClass(a%s);\n' % i)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue