Internal representation of a function. More...
Data Fields | |
int | builtin |
if non 0, call an internal function More... | |
int | code |
first statement More... | |
struct def_s * | def |
output def holding function number More... | |
int | function_num |
struct set_s * | global_vars |
set indicating which vars are global More... | |
struct flowgraph_s * | graph |
the function's flow graph More... | |
int | line_info |
int | local_defs |
const char * | name |
nice name for PRETTY_FUNCTION More... | |
struct function_s * | next |
int | num_statements |
int | num_vars |
total number of variables referenced More... | |
struct reloc_s * | refs |
relocation targets for this function More... | |
string_t | s_file |
source file with definition More... | |
string_t | s_name |
name of function in output More... | |
struct sblock_s * | sblock |
initial node of function's code More... | |
struct statement_s ** | statements |
struct symbol_s * | sym |
internal symbol for this function More... | |
struct symtab_s * | symtab |
Root scope symbol table of the function. More... | |
struct def_s * | temp_defs [4] |
freed temp vars (by size) More... | |
int | temp_num |
number for next temp var More... | |
struct expr_s * | var_init |
struct flowvar_s ** | vars |
Array of pointers to all variables referenced by the function's code. More... | |
Internal representation of a function.
int builtin |
if non 0, call an internal function
int code |
first statement
struct def_s* def |
output def holding function number
int function_num |
struct set_s* global_vars |
set indicating which vars are global
struct flowgraph_s* graph |
the function's flow graph
int line_info |
int local_defs |
const char* name |
nice name for PRETTY_FUNCTION
struct function_s* next |
int num_statements |
int num_vars |
total number of variables referenced
struct reloc_s* refs |
relocation targets for this function
string_t s_file |
source file with definition
string_t s_name |
name of function in output
struct sblock_s* sblock |
initial node of function's code
struct statement_s** statements |
struct symbol_s* sym |
internal symbol for this function
struct symtab_s* symtab |
Root scope symbol table of the function.
Sub-scope symbol tables are not directly accessible, but all defs created in the function's local data space are recorded in the root scope symbol table's defspace.
struct def_s* temp_defs[4] |
freed temp vars (by size)
int temp_num |
number for next temp var
struct expr_s* var_init |
struct flowvar_s** vars |
Array of pointers to all variables referenced by the function's code.
This permits ready mapping of (function specific) variable number to variable in the flow analyzer.