Skip to content

Commit 1948fbd

Browse files
author
Wiki
committed
适配Closeable
1 parent d1cc956 commit 1948fbd

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

quickjs-android/src/androidTest/java/com/quickjs/android/JSArrayTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public void setUp() throws Exception {
2222

2323
@After
2424
public void tearDown() throws Exception {
25+
array.close();
2526
array.close();
2627
context.close();
2728
quickJS.close();
@@ -83,6 +84,7 @@ public void getObject() {
8384
String result = array.getObject(0).getString("name");
8485
assertEquals("Wiki", result);
8586
user.close();
87+
user.close();
8688
}
8789

8890
@Test

quickjs-android/src/main/java/com/quickjs/android/JSObject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ static class Undefined extends JSObject {
190190

191191
Undefined(JSContext context, long tag, int u_int32, double u_float64, long u_ptr) {
192192
super(context, tag, u_int32, u_float64, u_ptr);
193-
autoRelease = false;
193+
released = true;
194194
}
195195

196196
@Override

quickjs-android/src/main/java/com/quickjs/android/JSValue.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import java.io.Closeable;
44
import java.util.Arrays;
5-
import java.util.Objects;
65

76
public class JSValue implements Closeable {
87
static final int TYPE_NULL = 0;
@@ -36,7 +35,7 @@ public class JSValue implements Closeable {
3635
double u_float64;
3736
long u_ptr;
3837

39-
boolean autoRelease = true;
38+
boolean released = false;
4039

4140
JSValue(JSContext context, long tag, int u_int32, double u_float64, long u_ptr) {
4241
this.context = context;
@@ -50,7 +49,7 @@ public class JSValue implements Closeable {
5049
}
5150

5251
JSValue(JSContext context, JSValue value) {
53-
// value.autoRelease = false;
52+
value.released = true;
5453
this.context = context;
5554
this.tag = value.tag;
5655
this.u_int32 = value.u_int32;
@@ -67,10 +66,11 @@ long getContextPtr() {
6766

6867
@Override
6968
public void close() {
70-
if (autoRelease) {
69+
if (!released) {
7170
QuickJS._release(getContextPtr(), this);
7271
context.releaseObjRef(this);
7372
}
73+
released = true;
7474
}
7575

7676
public boolean isUndefined() {

0 commit comments

Comments
 (0)