From e87ed9a82296b8481b0d867e41bbfb65ea5fae9f Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Thu, 5 Nov 2015 23:56:35 +0000 Subject: Use attribute types from IR for generated event handlers --- src/duk-libdom-interface.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'src/duk-libdom-interface.c') 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" ); } -- cgit v1.2.3