--- a/absyntax_utils/search_var_instance_decl.hh Sat Apr 14 16:53:35 2012 +0100
+++ b/absyntax_utils/search_var_instance_decl.hh Sat Apr 14 18:05:50 2012 +0100
@@ -98,12 +98,14 @@
/* variable used to store the type of variable currently being processed... */
/* Will contain a single value of generate_c_vardecl_c::XXXX_vt */
unsigned int current_vartype;
+ unsigned int current_option;
public:
search_var_instance_decl_c(symbol_c *search_scope);
symbol_c *get_decl(symbol_c *variable_instance_name);
unsigned int get_vartype(symbol_c *variable_instance_name);
+ unsigned int get_option(symbol_c *variable_instance_name);
public:
@@ -118,6 +120,11 @@
static const unsigned int global_vt = 0x0040; // VAR_GLOBAL
static const unsigned int located_vt = 0x0080; // VAR <var_name> AT <location>
+ static const unsigned int none_opt = 0x0000;
+ static const unsigned int constant_opt = 0x0001;
+ static const unsigned int retain_opt = 0x0002;
+ static const unsigned int non_retain_opt = 0x0003;
+
private:
/***************************/
/* B 0 - Programming Model */
@@ -131,6 +138,11 @@
/* edge -> The F_EDGE or R_EDGE directive */
// SYM_REF2(edge_declaration_c, edge, var1_list)
// TODO
+ void *visit(constant_option_c *symbol);
+ void *visit(retain_option_c *symbol);
+ void *visit(non_retain_option_c *symbol);
+
+
void *visit(input_declarations_c *symbol);
/* VAR_OUTPUT [RETAIN | NON_RETAIN] var_init_decl_list END_VAR */
/* option -> may be NULL ! */