summaryrefslogtreecommitdiff
path: root/src/duk-libdom-interface.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2015-11-05 23:56:35 +0000
committerVincent Sanders <vince@kyllikki.org>2015-11-05 23:56:35 +0000
commite87ed9a82296b8481b0d867e41bbfb65ea5fae9f (patch)
tree03f8cdfb6fbb6145aa14354ce919c04caa3f8111 /src/duk-libdom-interface.c
parent35fe42358429770a4a305dff991b8090736e4957 (diff)
downloadnsgenbind-e87ed9a82296b8481b0d867e41bbfb65ea5fae9f.tar.gz
nsgenbind-e87ed9a82296b8481b0d867e41bbfb65ea5fae9f.tar.bz2
Use attribute types from IR for generated event handlers
Diffstat (limited to 'src/duk-libdom-interface.c')
-rw-r--r--src/duk-libdom-interface.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/duk-libdom-interface.c b/src/duk-libdom-interface.c
index d7214e3..8741815 100644
--- a/src/duk-libdom-interface.c
+++ b/src/duk-libdom-interface.c
@@ -1231,13 +1231,21 @@ output_attribute_getter(FILE* outf,
}
/* no implementation so generate default and warnings if required */
+ const char *type_str;
+ if (atributee->typec == 0) {
+ type_str = "";
+ } else if (atributee->typec == 1) {
+ type_str = webidl_type_to_str(atributee->typev[0].modifier,
+ atributee->typev[0].base);
+ } else {
+ type_str = "multiple";
+ }
WARN(WARNING_UNIMPLEMENTED,
"Unimplemented: getter %s::%s(%s);",
interfacee->name,
atributee->name,
- webidl_type_to_str(atributee->type_modifier,
- atributee->base_type));
+ type_str);
if (options->dbglog) {
fprintf(outf, "\tLOG(\"Unimplemented\");\n" );
@@ -1321,12 +1329,21 @@ output_attribute_setter(FILE* outf,
/* implementation not generated from any other source */
if (res < 0) {
+ const char *type_str;
+ if (atributee->typec == 0) {
+ type_str = "";
+ } else if (atributee->typec == 1) {
+ type_str = webidl_type_to_str(
+ atributee->typev[0].modifier,
+ atributee->typev[0].base);
+ } else {
+ type_str = "multiple";
+ }
WARN(WARNING_UNIMPLEMENTED,
"Unimplemented: setter %s::%s(%s);",
interfacee->name,
atributee->name,
- webidl_type_to_str(atributee->type_modifier,
- atributee->base_type));
+ type_str);
if (options->dbglog) {
fprintf(outf, "\tLOG(\"Unimplemented\");\n" );
}