summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-02-14 23:44:30 +0000
committerVincent Sanders <vince@kyllikki.org>2014-05-16 14:31:31 +0100
commitd89023a59a18bb6c26cf8ff6660ba88ab504ab91 (patch)
tree6b48521343c4b3353d2384aba0d43abaa7b5712e
parent80a3d819d2e19dc88a272076ae0b315f2ed1211f (diff)
downloadnetsurf-vince/nsgenupdates.tar.gz
improve the property specifier macrosvince/nsgenupdates
-rw-r--r--javascript/jsapi.h65
1 files changed, 41 insertions, 24 deletions
diff --git a/javascript/jsapi.h b/javascript/jsapi.h
index 57e21fda6..0e574441e 100644
--- a/javascript/jsapi.h
+++ b/javascript/jsapi.h
@@ -99,12 +99,20 @@
#define JSAPI_PROP_IDVAL(cx, vp) (*(vp) = jsapi_id)
/* native property specifier */
-#define JSAPI_PS_RW(name, fnname, tinyid, flags) \
- { name , JSCLASS_TINYID_##tinyid , flags | JSPROP_ENUMERATE, property_get_##fnname , property_set_##fnname }
+#define JSAPI_PS_RW(class, name, flags) \
+ { #name , JSCLASS_TINYID_NONE , flags | JSPROP_ENUMERATE, property_get_##class##_##name , property_set_##class##_##name }
/* native property specifier with no setter */
-#define JSAPI_PS_RO(name, fnname, tinyid, flags) \
- { name , JSCLASS_TINYID_##tinyid , flags | JSPROP_ENUMERATE | JSPROP_READONLY, property_get_##fnname , NULL }
+#define JSAPI_PS_RO(class, name, flags) \
+ { #name , JSCLASS_TINYID_NONE , flags | JSPROP_ENUMERATE | JSPROP_READONLY, property_get_##class##_##name , NULL }
+
+/* native property specifier using tinyid */
+#define JSAPI_PS_ID_RW(class, name, flags, fnname) \
+ { #name , JSCLASS_TINYID_##class##_##name , flags | JSPROP_ENUMERATE, property_get_##fnname , property_set_##fnname }
+
+/* native property specifier with no setter using tinyid */
+#define JSAPI_PS_ID_RO(class, name, flags, fnname) \
+ { #name , JSCLASS_TINYID_##class##_##name , flags | JSPROP_ENUMERATE | JSPROP_READONLY, property_get_##fnname , NULL }
/* native property specifier list end */
#define JSAPI_PS_END { NULL, 0, 0, NULL, NULL }
@@ -219,12 +227,22 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx,
/* native property ID value as a jsval */
#define JSAPI_PROP_IDVAL(cx, vp) (*(vp) = jsapi_id)
-/* property specifier */
-#define JSAPI_PS_RW(name, fnname, tinyid, flags) \
- { name , JSCLASS_TINYID_##tinyid , flags | JSPROP_ENUMERATE, property_get_##fnname , property_set_##fnname }
+/* native property specifier */
+#define JSAPI_PS_RW(class, name, flags) \
+ { #name , JSCLASS_TINYID_NONE , flags | JSPROP_ENUMERATE, property_get_##class##_##name , property_set_##class##_##name }
+
+/* native property specifier with no setter */
+#define JSAPI_PS_RO(class, name, flags) \
+ { #name , JSCLASS_TINYID_NONE , flags | JSPROP_ENUMERATE | JSPROP_READONLY, property_get_##class##_##name , NULL }
+
+/* native property specifier using tinyid */
+#define JSAPI_PS_ID_RW(class, name, flags, fnname) \
+ { #name , JSCLASS_TINYID_##class##_##name , flags | JSPROP_ENUMERATE, property_get_##fnname , property_set_##fnname }
+
+/* native property specifier with no setter using tinyid */
+#define JSAPI_PS_ID_RO(class, name, flags, fnname) \
+ { #name , JSCLASS_TINYID_##class##_##name , flags | JSPROP_ENUMERATE | JSPROP_READONLY, property_get_##fnname , NULL }
-#define JSAPI_PS_RO(name, fnname, tinyid, flags) \
- { name , JSCLASS_TINYID_##tinyid , flags | JSPROP_ENUMERATE | JSPROP_READONLY, property_get_##fnname , NULL }
#define JSAPI_PS_END { NULL, 0, 0, NULL, NULL }
@@ -333,22 +351,21 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx,
/* native property ID value as a jsval */
#define JSAPI_PROP_IDVAL(cx, vp) JS_IdToValue(cx, jsapi_id, vp)
-/* property specifier */
-#define JSAPI_PS_RW(name, fnname, tinyid, flags) { \
- name, \
- JSCLASS_TINYID_##tinyid, \
- flags | JSPROP_ENUMERATE, \
- property_get_##fnname , \
- property_set_##fnname \
- }
+/* native property specifier */
+#define JSAPI_PS_RW(class, name, flags) \
+ { #name , JSCLASS_TINYID_NONE , flags | JSPROP_ENUMERATE, property_get_##class##_##name , property_set_##class##_##name }
-#define JSAPI_PS_RO(name, fnname, tinyid, flags) { \
- name, \
- JSCLASS_TINYID_##tinyid, \
- flags | JSPROP_ENUMERATE | JSPROP_READONLY, \
- property_get_##fnname , \
- NULL \
- }
+/* native property specifier with no setter */
+#define JSAPI_PS_RO(class, name, flags) \
+ { #name , JSCLASS_TINYID_NONE , flags | JSPROP_ENUMERATE | JSPROP_READONLY, property_get_##class##_##name , NULL }
+
+/* native property specifier using tinyid */
+#define JSAPI_PS_ID_RW(class, name, flags, fnname) \
+ { #name , JSCLASS_TINYID_##class##_##name , flags | JSPROP_ENUMERATE, property_get_##fnname , property_set_##fnname }
+
+/* native property specifier with no setter using tinyid */
+#define JSAPI_PS_ID_RO(class, name, flags, fnname) \
+ { #name , JSCLASS_TINYID_##class##_##name , flags | JSPROP_ENUMERATE | JSPROP_READONLY, property_get_##fnname , NULL }
#define JSAPI_PS_END { NULL, 0, 0, NULL, NULL }