From c80955dcc6b663c250a1f2552b626770fbd46a94 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Mon, 28 Sep 2015 07:59:50 +0100 Subject: annotates binding AST with source linenumber and file Uses annotated AST to put line directives in the generated source so any code errors in the binding can be easily located. --- src/nsgenbind-ast.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/nsgenbind-ast.c') diff --git a/src/nsgenbind-ast.c b/src/nsgenbind-ast.c index 749d3e8..9be8bc7 100644 --- a/src/nsgenbind-ast.c +++ b/src/nsgenbind-ast.c @@ -341,6 +341,7 @@ char *genbind_node_gettext(struct genbind_node *node) case GENBIND_NODE_TYPE_IDENT: case GENBIND_NODE_TYPE_NAME: case GENBIND_NODE_TYPE_CDATA: + case GENBIND_NODE_TYPE_FILE: return node->r.text; default: @@ -377,6 +378,7 @@ int *genbind_node_getint(struct genbind_node *node) if (node != NULL) { switch(node->type) { case GENBIND_NODE_TYPE_METHOD_TYPE: + case GENBIND_NODE_TYPE_LINE: case GENBIND_NODE_TYPE_MODIFIER: return &node->r.number; @@ -408,6 +410,12 @@ static const char *genbind_node_type_to_str(enum genbind_node_type type) case GENBIND_NODE_TYPE_NAME: return "TypeName"; + case GENBIND_NODE_TYPE_LINE: + return "Linenumber"; + + case GENBIND_NODE_TYPE_FILE: + return "Filename"; + case GENBIND_NODE_TYPE_PRIVATE: return "Private"; -- cgit v1.2.3