diff -r 136d6ae70745 -r f5dfadf5de54 absyntax_utils/search_var_instance_decl.hh --- a/absyntax_utils/search_var_instance_decl.hh Wed Nov 18 10:53:15 2009 +0100 +++ b/absyntax_utils/search_var_instance_decl.hh Sun Nov 29 16:38:11 2009 +0100 @@ -66,10 +66,15 @@ /* Will contain a single value of generate_c_vardecl_c::XXXX_vt */ unsigned int current_vartype; + /* variable used to store the qualifier of variable currently being processed... */ + /* Will contain a single value of generate_c_vardecl_c::XXXX_vq */ + unsigned int current_varqualifier; + public: search_var_instance_decl_c(symbol_c *search_scope); symbol_c *get_decl(symbol_c *variable_instance_name); unsigned int get_vartype(); + unsigned int get_varqualifier(); public: @@ -84,6 +89,12 @@ static const unsigned int global_vt = 0x0040; // VAR_GLOBAL static const unsigned int located_vt = 0x0080; // VAR AT + /* the qualifier of variables that need to be processed... */ + static const unsigned int none_vq = 0x0000; + static const unsigned int constant_vq = 0x0001; // CONSTANT + static const unsigned int retain_vq = 0x0002; // RETAIN + static const unsigned int non_retain_vq = 0x0002; // NON_RETAIN + private: /***************************/ /* B 0 - Programming Model */ @@ -93,6 +104,10 @@ /******************************************/ /* B 1.4.3 - Declaration & Initialisation */ /******************************************/ + + void *visit(constant_option_c *symbol); + void *visit(retain_option_c *symbol); + void *visit(non_retain_option_c *symbol); /* edge -> The F_EDGE or R_EDGE directive */ // SYM_REF2(edge_declaration_c, edge, var1_list) // TODO