absyntax_utils/function_param_iterator.hh
changeset 233 3d23a68183d3
parent 202 da1a8186f86f
child 265 4d222f46f8cc
equal deleted inserted replaced
232:29ab33687333 233:3d23a68183d3
    79     /* used when called to iterate() for a parameter */
    79     /* used when called to iterate() for a parameter */
    80     identifier_c *current_param_name;
    80     identifier_c *current_param_name;
    81     symbol_c *current_param_type;
    81     symbol_c *current_param_type;
    82     symbol_c *current_param_default_value;
    82     symbol_c *current_param_default_value;
    83     param_direction_t current_param_direction;
    83     param_direction_t current_param_direction;
       
    84     bool en_eno_param_implicit;
    84     /* Which operation of the class was called...
    85     /* Which operation of the class was called...
    85      * Search a parameter, or iterate to the next parameter.
    86      * Search a parameter, or iterate to the next parameter.
    86      */
    87      */
    87     typedef enum {iterate_op, search_op} operation_t;
    88     typedef enum {iterate_op, search_op} operation_t;
    88     operation_t current_operation;
    89     operation_t current_operation;
   129     symbol_c *default_value(void);
   130     symbol_c *default_value(void);
   130 
   131 
   131     /* Returns the currently referenced parameter's type name. */
   132     /* Returns the currently referenced parameter's type name. */
   132     symbol_c *param_type(void);
   133     symbol_c *param_type(void);
   133 
   134 
       
   135     /* Returns if currently referenced parameter is an implicit defined EN/ENO parameter. */
       
   136     bool is_en_eno_param_implicit(void);
       
   137 
   134     /* Returns the currently referenced parameter's data passing direction.
   138     /* Returns the currently referenced parameter's data passing direction.
   135      * i.e. VAR_INPUT, VAR_OUTPUT or VAR_INOUT
   139      * i.e. VAR_INPUT, VAR_OUTPUT or VAR_INOUT
   136      */
   140      */
   137     param_direction_t param_direction(void);
   141     param_direction_t param_direction(void);
   138 
   142 
   139     private:
   143     private:
       
   144     void *visit(implicit_definition_c *symbol);
   140     /******************************************/
   145     /******************************************/
   141     /* B 1.4.3 - Declaration & Initialisation */
   146     /* B 1.4.3 - Declaration & Initialisation */
   142     /******************************************/
   147     /******************************************/
   143     void *visit(input_declarations_c *symbol);
   148     void *visit(input_declarations_c *symbol);
   144 
   149