49 |
49 |
50 private: |
50 private: |
51 search_il_label_c *search_il_label; |
51 search_il_label_c *search_il_label; |
52 symbol_c *prev_il_instruction; |
52 symbol_c *prev_il_instruction; |
53 symbol_c *curr_il_instruction; |
53 symbol_c *curr_il_instruction; |
|
54 bool prev_il_instruction_is_JMP_or_RET; |
54 |
55 |
55 public: |
56 public: |
56 flow_control_analysis_c(symbol_c *ignore); |
57 flow_control_analysis_c(symbol_c *ignore); |
57 virtual ~flow_control_analysis_c(void); |
58 virtual ~flow_control_analysis_c(void); |
58 |
59 |
136 // void *visit( LE_operator_c *symbol); |
137 // void *visit( LE_operator_c *symbol); |
137 // void *visit( NE_operator_c *symbol); |
138 // void *visit( NE_operator_c *symbol); |
138 // void *visit( CAL_operator_c *symbol); |
139 // void *visit( CAL_operator_c *symbol); |
139 // void *visit( CALC_operator_c *symbol); |
140 // void *visit( CALC_operator_c *symbol); |
140 // void *visit(CALCN_operator_c *symbol); |
141 // void *visit(CALCN_operator_c *symbol); |
141 // void *visit( RET_operator_c *symbol); |
142 void *visit( RET_operator_c *symbol); |
142 // void *visit( RETC_operator_c *symbol); |
143 // void *visit( RETC_operator_c *symbol); |
143 // void *visit(RETCN_operator_c *symbol); |
144 // void *visit(RETCN_operator_c *symbol); |
144 // void *visit( JMP_operator_c *symbol); |
145 void *visit( JMP_operator_c *symbol); |
145 // void *visit( JMPC_operator_c *symbol); |
146 // void *visit( JMPC_operator_c *symbol); |
146 // void *visit(JMPCN_operator_c *symbol); |
147 // void *visit(JMPCN_operator_c *symbol); |
147 |
148 |
148 /* Symbol class handled together with function call checks */ |
149 /* Symbol class handled together with function call checks */ |
149 // void *visit(il_assign_operator_c *symbol, variable_name); |
150 // void *visit(il_assign_operator_c *symbol, variable_name); |