#include "segment.h"
#include "function_annotation_attributes.h"
#include "cached_function_ast_attributes.h"
#include "../internal_representation/design.h"
#include "../tools/class_is_derived_from.h"
#include "../tools/function_helper.h"
#include "../tools/misc.h"
#include "../tools/variable_helper.h"
Defines | |
#define | ANALYZE_VARS_IN_COMPOUND_ASSIGN_OP(Operator) |
#define | ANALYZE_VARS_IN_BINARY_OP(Operator) |
#define | ANALYZE_VARS_IN_UNARY_OP(Operator) |
#define | ANALYZE_VARS_IN_UNARY_INC_DEC_OP(Operator) |
#define | ANALYZE_VARS_IN_ACCESS_OP(Operator) |
#define ANALYZE_VARS_IN_ACCESS_OP | ( | Operator | ) |
if(is##Operator(expression)) { \ Operator *op = is##Operator(expression); \ analyze_expression(op->get_rhs_operand(), Read, write, pcp); \ analyze_expression(op->get_lhs_operand(), Read, write, pcp); \ return; \ }
#define ANALYZE_VARS_IN_BINARY_OP | ( | Operator | ) |
if(is##Operator(expression)) { \ Operator *op = is##Operator(expression); \ analyze_expression(op->get_lhs_operand(), Read, NonWrite, pcp); \ analyze_expression(op->get_rhs_operand(), Read, NonWrite, pcp); \ return; \ }
#define ANALYZE_VARS_IN_COMPOUND_ASSIGN_OP | ( | Operator | ) |
if(is##Operator(expression)) { \ Operator *op = is##Operator(expression); \ analyze_expression(op->get_lhs_operand(), Read, NonWrite, pcp); \ analyze_expression(op->get_lhs_operand(), NonRead, Write, pcp); \ analyze_expression(op->get_rhs_operand(), Read, NonWrite, pcp); \ return; \ }
#define ANALYZE_VARS_IN_UNARY_INC_DEC_OP | ( | Operator | ) |
if(is##Operator(expression)) { \ Operator *op = is##Operator(expression); \ analyze_expression(op->get_operand(), Read, Write, pcp); \ return; \ }
#define ANALYZE_VARS_IN_UNARY_OP | ( | Operator | ) |
if(is##Operator(expression)) { \ Operator *op = is##Operator(expression); \ analyze_expression(op->get_operand(), Read, NonWrite, pcp); \ return; \ }