diff options
author | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2013-06-03 15:15:05 +0100 |
---|---|---|
committer | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2013-06-03 15:15:05 +0100 |
commit | aab61ebdb4494309e688ea8afbd97c5a2f89e935 (patch) | |
tree | 716a29b96f3408ba2c7cf71534b97430c10b8ef4 /src/jsapi-libdom.c | |
parent | 85287e9287e29fd715470253b1075e726a2ec594 (diff) | |
download | nsgenbind-aab61ebdb4494309e688ea8afbd97c5a2f89e935.tar.gz nsgenbind-aab61ebdb4494309e688ea8afbd97c5a2f89e935.tar.bz2 |
add switch and implementation to enable debug trace logging in generated code
Diffstat (limited to 'src/jsapi-libdom.c')
-rw-r--r-- | src/jsapi-libdom.c | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/jsapi-libdom.c b/src/jsapi-libdom.c index fef1656..7104a83 100644 --- a/src/jsapi-libdom.c +++ b/src/jsapi-libdom.c @@ -238,6 +238,11 @@ output_api_operations(struct binding *binding) "\tprivate = JS_GetInstancePrivate(cx, obj, &JSClass_%s, NULL);\n", binding->interface); + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p private:%%p\", cx, obj, private);\n"); + } + if (binding->finalise != NULL) { output_code_block(binding, genbind_node_getnode(binding->finalise)); @@ -254,6 +259,11 @@ output_api_operations(struct binding *binding) "static void jsclass_finalize(JSContext *cx, JSObject *obj)\n" "{\n"); + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p\", cx, obj);\n"); + } + output_code_block(binding, genbind_node_getnode(binding->finalise)); @@ -275,8 +285,20 @@ output_api_operations(struct binding *binding) "\n" "\tprivate = JS_GetInstancePrivate(cx, obj, &JSClass_%s, NULL);\n", binding->interface); + + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p private:%%p\", cx, obj, private);\n"); + } + } else { + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p\", cx, obj);\n"); + } + } + output_code_block(binding, genbind_node_getnode(binding->addproperty)); @@ -298,8 +320,20 @@ output_api_operations(struct binding *binding) "\n" "\tprivate = JS_GetInstancePrivate(cx, obj, &JSClass_%s, NULL);\n", binding->interface); + + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p private:%%p\", cx, obj, private);\n"); + } + } else { + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p\", cx, obj);\n"); + } + } + output_code_block(binding, genbind_node_getnode(binding->delproperty)); @@ -321,8 +355,20 @@ output_api_operations(struct binding *binding) "\n" "\tprivate = JS_GetInstancePrivate(cx, obj, &JSClass_%s, NULL);\n", binding->interface); + + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p private:%%p\", cx, obj, private);\n"); + } + } else { + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p\", cx, obj);\n"); + } + } + output_code_block(binding, genbind_node_getnode(binding->getproperty)); @@ -344,8 +390,20 @@ output_api_operations(struct binding *binding) "\n" "\tprivate = JS_GetInstancePrivate(cx, obj, &JSClass_%s, NULL);\n", binding->interface); + + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p private:%%p\", cx, obj, private);\n"); + } + } else { + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p\", cx, obj);\n"); + } + } + output_code_block(binding, genbind_node_getnode(binding->setproperty)); @@ -367,6 +425,17 @@ output_api_operations(struct binding *binding) "\n" "\tprivate = JS_GetInstancePrivate(cx, obj, &JSClass_%s, NULL);\n", binding->interface); + + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p private:%%p\", cx, obj, private);\n"); + } + } else { + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p\", cx, obj);\n"); + } + } output_code_block(binding, genbind_node_getnode(binding->enumerate)); @@ -389,8 +458,19 @@ output_api_operations(struct binding *binding) "\n" "\tprivate = JS_GetInstancePrivate(cx, obj, &JSClass_%s, NULL);\n", binding->interface); + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p private:%%p\", cx, obj, private);\n"); + } + } else { + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p\", cx, obj);\n"); + } + } + output_code_block(binding, genbind_node_getnode(binding->resolve)); fprintf(binding->outfile, @@ -410,6 +490,17 @@ output_api_operations(struct binding *binding) "\n" "\tprivate = JS_GetInstancePrivate(JSAPI_MARKCX, obj, &JSClass_%s, NULL);\n", binding->interface); + + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p private:%%p\", JSAPI_MARKCX, obj, private);\n"); + } + } else { + if (options->dbglog) { + fprintf(binding->outfile, + "\tJSLOG(\"jscontext:%%p jsobject:%%p\", JSAPI_MARKCX, obj);\n"); + } + } output_code_block(binding, genbind_node_getnode(binding->mark)); |