diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-11-05 23:55:20 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-11-05 23:55:20 +0000 |
commit | 35fe42358429770a4a305dff991b8090736e4957 (patch) | |
tree | 3a6f898de8a1478c09d47368aede831e67599b75 /src/ir.h | |
parent | ce20b3bef865c015890b7a499c7547606e724037 (diff) | |
download | nsgenbind-35fe42358429770a4a305dff991b8090736e4957.tar.gz nsgenbind-35fe42358429770a4a305dff991b8090736e4957.tar.bz2 |
extend IR to have a separate map for attribute types
Diffstat (limited to 'src/ir.h')
-rw-r--r-- | src/ir.h | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -48,14 +48,23 @@ struct ir_operation_entry { }; /** + * ir entry for type of attributes or arguments. + */ +struct ir_type_entry { + enum webidl_type base; /**< base of the type (long, short, user etc.) */ + enum webidl_type_modifier modifier; /**< modifier for the type */ + const char *name; /**< name of type for user types */ +}; + +/** * ir entry for attributes on an interface */ struct ir_attribute_entry { const char *name; /**< attribute name */ struct webidl_node *node; /**< AST attribute node */ - enum webidl_type base_type; /**< type of attribute */ - enum webidl_type_modifier type_modifier; /**< modifier for the type */ + int typec; /**< number of types for attribute */ + struct ir_type_entry *typev; /**< types on attribute */ enum webidl_type_modifier modifier; /**< modifier for the attribute intself */ const char *putforwards; /**< putforwards attribute */ |