]> git.kaiwu.me - quickjs.git/commitdiff
fixed Proxy getOwnPropertyDescriptor with getters and setters
authorFabrice Bellard <fabrice@bellard.org>
Wed, 16 Apr 2025 14:51:34 +0000 (16:51 +0200)
committerFabrice Bellard <fabrice@bellard.org>
Wed, 16 Apr 2025 14:51:34 +0000 (16:51 +0200)
quickjs.c

index ecd5f15c64f4c8d2f365ad62465c02c246a483f0..01988b4ae7aa65f862026ac24d9a6a54ea09bfd5 100644 (file)
--- a/quickjs.c
+++ b/quickjs.c
@@ -46327,6 +46327,14 @@ static int js_proxy_get_own_property(JSContext *ctx, JSPropertyDescriptor *pdesc
         if (res < 0)
             return -1;
 
+        /* convert the result_desc.flags to property flags */
+        if (result_desc.flags & (JS_PROP_HAS_GET | JS_PROP_HAS_SET)) {
+            result_desc.flags |= JS_PROP_GETSET;
+        } else {
+            result_desc.flags |= JS_PROP_NORMAL;
+        }
+        result_desc.flags &= (JS_PROP_C_W_E | JS_PROP_TMASK);
+        
         if (target_desc_ret) {
             /* convert result_desc.flags to defineProperty flags */
             flags1 = result_desc.flags | JS_PROP_HAS_CONFIGURABLE | JS_PROP_HAS_ENUMERABLE;