Gitweb links:
...log
http://git.netsurf-browser.org/nsgenbind.git/shortlog/4ab82071ee417d4e82bfff8d3ca9619e3efc8b92
...commit
http://git.netsurf-browser.org/nsgenbind.git/commit/4ab82071ee417d4e82bfff8d3ca9619e3efc8b92
...tree
http://git.netsurf-browser.org/nsgenbind.git/tree/4ab82071ee417d4e82bfff8d3ca9619e3efc8b92
The branch, tlsa/duktape2 has been created
at 4ab82071ee417d4e82bfff8d3ca9619e3efc8b92 (commit)
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/nsgenbind.git/commit/?id=4ab82071ee417d4e82bfff8d3ca9619e3efc8b92
commit 4ab82071ee417d4e82bfff8d3ca9619e3efc8b92
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>
Operation generation: When argument type errors are detected, treat as
error.
diff --git a/src/duk-libdom-interface.c b/src/duk-libdom-interface.c
index 5b15164..bb506c8 100644
--- a/src/duk-libdom-interface.c
+++ b/src/duk-libdom-interface.c
@@ -1025,7 +1025,7 @@ output_operation_argument_type_check(
case WEBIDL_TYPE_BOOL:
fprintf(outf,
"\t\tif (!duk_is_boolean(ctx, %d)) {\n"
- "\t\t\t(void) duk_error(ctx, DUK_ERR_ERROR,
%s_error_fmt_bool_type, %d, \"%s\");\n"
+ "\t\t\treturn duk_error(ctx, DUK_ERR_ERROR,
%s_error_fmt_bool_type, %d, \"%s\");\n"
"\t\t}\n", argidx, DLPFX, argidx, argumente->name);
break;
@@ -1036,7 +1036,7 @@ output_operation_argument_type_check(
case WEBIDL_TYPE_LONGLONG:
fprintf(outf,
"\t\tif (!duk_is_number(ctx, %d)) {\n"
- "\t\t\t(void) duk_error(ctx, DUK_ERR_ERROR,
%s_error_fmt_number_type, %d, \"%s\");\n"
+ "\t\t\treturn duk_error(ctx, DUK_ERR_ERROR,
%s_error_fmt_number_type, %d, \"%s\");\n"
"\t\t}\n", argidx, DLPFX, argidx, argumente->name);
break;
@@ -1106,7 +1106,7 @@ output_interface_operation(FILE* outf,
fprintf(outf,
"if (%s_argc < %d) {\n"
"\t\t/* not enough arguments */\n"
- "\t\t(void) duk_error(ctx, DUK_RET_TYPE_ERROR,
%s_error_fmt_argument, %d, %s_argc);\n"
+ "\t\treturn duk_error(ctx, DUK_RET_TYPE_ERROR,
%s_error_fmt_argument, %d, %s_argc);\n"
"\t} else ",
DLPFX,
fixedargc,
commitdiff
http://git.netsurf-browser.org/nsgenbind.git/commit/?id=632a75e6c2a965d984c1495750bfca47931cec94
commit 632a75e6c2a965d984c1495750bfca47931cec94
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>
Duktape 2.X: duk_error now returns a duk_ret_t
https://github.com/svaarala/duktape/blob/master/doc/release-notes-v2-0.rst#duk_error-duk_error_va-duk_throw-duk_fatal-have-a-return-value
This change suppress warnings about ignoring the return value.
However, it looks like we should be returning error in these cases
rather than continuing.
I'll do that in a separate commit.
diff --git a/src/duk-libdom-interface.c b/src/duk-libdom-interface.c
index 6746348..5b15164 100644
--- a/src/duk-libdom-interface.c
+++ b/src/duk-libdom-interface.c
@@ -1025,7 +1025,7 @@ output_operation_argument_type_check(
case WEBIDL_TYPE_BOOL:
fprintf(outf,
"\t\tif (!duk_is_boolean(ctx, %d)) {\n"
- "\t\t\tduk_error(ctx, DUK_ERR_ERROR,
%s_error_fmt_bool_type, %d, \"%s\");\n"
+ "\t\t\t(void) duk_error(ctx, DUK_ERR_ERROR,
%s_error_fmt_bool_type, %d, \"%s\");\n"
"\t\t}\n", argidx, DLPFX, argidx, argumente->name);
break;
@@ -1036,7 +1036,7 @@ output_operation_argument_type_check(
case WEBIDL_TYPE_LONGLONG:
fprintf(outf,
"\t\tif (!duk_is_number(ctx, %d)) {\n"
- "\t\t\tduk_error(ctx, DUK_ERR_ERROR,
%s_error_fmt_number_type, %d, \"%s\");\n"
+ "\t\t\t(void) duk_error(ctx, DUK_ERR_ERROR,
%s_error_fmt_number_type, %d, \"%s\");\n"
"\t\t}\n", argidx, DLPFX, argidx, argumente->name);
break;
@@ -1106,7 +1106,7 @@ output_interface_operation(FILE* outf,
fprintf(outf,
"if (%s_argc < %d) {\n"
"\t\t/* not enough arguments */\n"
- "\t\tduk_error(ctx, DUK_RET_TYPE_ERROR,
%s_error_fmt_argument, %d, %s_argc);\n"
+ "\t\t(void) duk_error(ctx, DUK_RET_TYPE_ERROR,
%s_error_fmt_argument, %d, %s_argc);\n"
"\t} else ",
DLPFX,
fixedargc,
commitdiff
http://git.netsurf-browser.org/nsgenbind.git/commit/?id=343df77dedb346425c40e6a364ad639c73e92527
commit 343df77dedb346425c40e6a364ad639c73e92527
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>
Duktape 2.x: duk_safe_call callbacks now have a void ptr user data param.
https://github.com/svaarala/duktape/blob/master/doc/release-notes-v2-0.rst#duk_safe_call-userdata
diff --git a/src/duk-libdom-interface.c b/src/duk-libdom-interface.c
index 8741815..6746348 100644
--- a/src/duk-libdom-interface.c
+++ b/src/duk-libdom-interface.c
@@ -747,7 +747,7 @@ output_interface_prototype(FILE* outf,
GENBIND_METHOD_TYPE_PROTOTYPE);
/* prototype definition */
- fprintf(outf, "duk_ret_t %s_%s___proto(duk_context *ctx)\n",
+ fprintf(outf, "duk_ret_t %s_%s___proto(duk_context *ctx, void
*udata)\n",
DLPFX, interfacee->class_name);
fprintf(outf,"{\n");
@@ -1511,7 +1511,7 @@ int output_interface_declaration(FILE* outf, struct
ir_entry *interfacee)
}
/* prototype declaration */
- fprintf(outf, "duk_ret_t %s_%s___proto(duk_context *ctx);\n",
+ fprintf(outf, "duk_ret_t %s_%s___proto(duk_context *ctx, void
*udata);\n",
DLPFX, interfacee->class_name);
/* if the interface has no references (no other interface inherits from
diff --git a/src/duk-libdom.c b/src/duk-libdom.c
index bf27007..96b11d5 100644
--- a/src/duk-libdom.c
+++ b/src/duk-libdom.c
@@ -441,7 +441,7 @@ output_binding_src(struct ir *ir)
"{\n"
"\tduk_int_t ret;\n"
"\tduk_push_object(ctx);\n"
- "\tif ((ret = duk_safe_call(ctx, genproto, 1, 1)) !=
DUK_EXEC_SUCCESS) {\n"
+ "\tif ((ret = duk_safe_call(ctx, genproto, NULL, 1, 1)) !=
DUK_EXEC_SUCCESS) {\n"
"\t\tduk_pop(ctx);\n"
"\t\tLOG(\"Failed to register prototype for %%s\", proto_name
+ 2);\n"
"\t\treturn ret;\n"
-----------------------------------------------------------------------
--
NetSurf Generator for JavaScript bindings
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org