diff options
author | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-11-08 17:17:52 +0000 |
---|---|---|
committer | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-11-08 17:17:52 +0000 |
commit | a3bf3977d82f6dcd54c2a38bffe63858fd4da24c (patch) | |
tree | e824881251aa3d82ff25307dba8620176292cc0d /src/jsapi-libdom-property.c | |
parent | 6893fcf829e928881c1bd05a541b33443078ea9c (diff) | |
download | nsgenbind-a3bf3977d82f6dcd54c2a38bffe63858fd4da24c.tar.gz nsgenbind-a3bf3977d82f6dcd54c2a38bffe63858fd4da24c.tar.bz2 |
add warning switch to control warning output at generation time
Diffstat (limited to 'src/jsapi-libdom-property.c')
-rw-r--r-- | src/jsapi-libdom-property.c | 51 |
1 files changed, 32 insertions, 19 deletions
diff --git a/src/jsapi-libdom-property.c b/src/jsapi-libdom-property.c index 6bd698d..2bc3a79 100644 --- a/src/jsapi-libdom-property.c +++ b/src/jsapi-libdom-property.c @@ -17,9 +17,6 @@ #include "webidl-ast.h" #include "jsapi-libdom.h" -#define WARN(msg, args...) fprintf(stderr, "%s: warning:"msg"\n", __func__, ## args); - - static int webidl_property_spec_cb(struct webidl_node *node, void *ctx) { struct binding *binding = ctx; @@ -179,11 +176,11 @@ static int output_return(struct binding *binding, break; case WEBIDL_TYPE_BYTE: - WARN("Unhandled type WEBIDL_TYPE_BYTE"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_BYTE"); break; case WEBIDL_TYPE_OCTET: - WARN("Unhandled type WEBIDL_TYPE_OCTET"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_OCTET"); break; case WEBIDL_TYPE_FLOAT: @@ -195,11 +192,11 @@ static int output_return(struct binding *binding, break; case WEBIDL_TYPE_SHORT: - WARN("Unhandled type WEBIDL_TYPE_SHORT"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_SHORT"); break; case WEBIDL_TYPE_LONGLONG: - WARN("Unhandled type WEBIDL_TYPE_LONGLONG"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_LONGLONG"); break; case WEBIDL_TYPE_LONG: @@ -217,7 +214,7 @@ static int output_return(struct binding *binding, break; case WEBIDL_TYPE_SEQUENCE: - WARN("Unhandled type WEBIDL_TYPE_SEQUENCE"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_SEQUENCE"); break; case WEBIDL_TYPE_OBJECT: @@ -228,7 +225,7 @@ static int output_return(struct binding *binding, break; case WEBIDL_TYPE_DATE: - WARN("Unhandled type WEBIDL_TYPE_DATE"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_DATE"); break; case WEBIDL_TYPE_VOID: @@ -284,11 +281,11 @@ static int output_return_declaration(struct binding *binding, break; case WEBIDL_TYPE_BYTE: - WARN("Unhandled type WEBIDL_TYPE_BYTE"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_BYTE"); break; case WEBIDL_TYPE_OCTET: - WARN("Unhandled type WEBIDL_TYPE_OCTET"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_OCTET"); break; case WEBIDL_TYPE_FLOAT: @@ -298,11 +295,11 @@ static int output_return_declaration(struct binding *binding, break; case WEBIDL_TYPE_SHORT: - WARN("Unhandled type WEBIDL_TYPE_SHORT"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_SHORT"); break; case WEBIDL_TYPE_LONGLONG: - WARN("Unhandled type WEBIDL_TYPE_LONGLONG"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_LONGLONG"); break; case WEBIDL_TYPE_LONG: @@ -331,7 +328,7 @@ static int output_return_declaration(struct binding *binding, break; case WEBIDL_TYPE_SEQUENCE: - WARN("Unhandled type WEBIDL_TYPE_SEQUENCE"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_SEQUENCE"); break; case WEBIDL_TYPE_OBJECT: @@ -340,7 +337,7 @@ static int output_return_declaration(struct binding *binding, break; case WEBIDL_TYPE_DATE: - WARN("Unhandled type WEBIDL_TYPE_DATE"); + WARN(WARNING_UNIMPLEMENTED, "Unhandled type WEBIDL_TYPE_DATE"); break; case WEBIDL_TYPE_VOID: @@ -353,6 +350,25 @@ static int output_return_declaration(struct binding *binding, return 0; } +static int +output_property_placeholder(struct binding *binding, + struct webidl_node* oplist, + const char *ident) +{ + oplist=oplist; + + WARN(WARNING_UNIMPLEMENTED, + "property %s.%s has no implementation\n", + binding->interface, + ident); + + fprintf(binding->outfile, + "\tJSLOG(\"property %s.%s has no implementation\");\n", + binding->interface, + ident); + return 0; +} + static int output_property_getter(struct binding *binding, struct webidl_node *node, const char *ident) @@ -412,10 +428,7 @@ static int output_property_getter(struct binding *binding, "\tjsret = private->%s;\n", ident); } else { - fprintf(stderr, - "warning: attribute getter %s.%s has no implementation\n", - binding->interface, - ident); + output_property_placeholder(binding, node, ident); } } |