diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-09-28 07:59:50 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-09-28 07:59:50 +0100 |
commit | c80955dcc6b663c250a1f2552b626770fbd46a94 (patch) | |
tree | 4b6b98eb03095cbc722b7f5bc2e0bbfa9568e8b3 /src/nsgenbind-ast.c | |
parent | 767e69459ca7b4c13fe93875177040ab3eec8b56 (diff) | |
download | nsgenbind-c80955dcc6b663c250a1f2552b626770fbd46a94.tar.gz nsgenbind-c80955dcc6b663c250a1f2552b626770fbd46a94.tar.bz2 |
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.
Diffstat (limited to 'src/nsgenbind-ast.c')
-rw-r--r-- | src/nsgenbind-ast.c | 8 |
1 files changed, 8 insertions, 0 deletions
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"; |