All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Internal function structures.

Data Structures

struct  function_s
 Internal representation of a function. More...
struct  overloaded_function_s
 Represent an overloading of a function. More...
struct  param_s
 Representation of a function parameter. More...


typedef struct function_s function_t
 Internal representation of a function. More...
typedef struct
 Represent an overloading of a function. More...
typedef struct param_s param_t
 Representation of a function parameter. More...


param_t_reverse_params (param_t *params, param_t *next)
void add_function (function_t *f)
function_tbegin_function (struct symbol_s *sym, const char *nicename, struct symtab_s *parent, int far)
function_tbuild_builtin_function (struct symbol_s *sym, struct expr_s *bi_val, int far)
function_tbuild_code_function (struct symbol_s *fsym, struct expr_s *state_expr, struct expr_s *statements)
void build_function (function_t *f)
param_tcheck_params (param_t *params)
void clear_functions (void)
param_tcopy_params (param_t *params)
void emit_function (function_t *f, struct expr_s *e)
struct expr_sfind_function (struct expr_s *fexpr, struct expr_s *params)
void finish_function (function_t *f)
int function_parms (function_t *f, byte *parm_size)
struct symbol_sfunction_symbol (struct symbol_s *sym, int overload, int create)
void make_function (struct symbol_s *sym, const char *nice_name, struct defspace_s *space, enum storage_class_e storage)
function_tnew_function (const char *name, const char *nice_name)
param_tnew_param (const char *selector, struct type_s *type, const char *name)
param_tparam_append_identifiers (param_t *params, struct symbol_s *idents, struct type_s *type)
struct type_sparse_params (struct type_s *type, param_t *params)
param_treverse_params (param_t *params)



Detailed Description

Typedef Documentation

typedef struct function_s function_t

Internal representation of a function.

Represent an overloading of a function.

Every function, whether overloaded or not, has an entry in the overloaded function database.

typedef struct param_s param_t

Representation of a function parameter.

The first two fields match the first two fields of keywordarg_t in method.h

Function Documentation

param_t* _reverse_params ( param_t params,
param_t next 
void add_function ( function_t f)
function_t* begin_function ( struct symbol_s sym,
const char *  nicename,
struct symtab_s parent,
int  far 
function_t* build_builtin_function ( struct symbol_s sym,
struct expr_s bi_val,
int  far 
function_t* build_code_function ( struct symbol_s fsym,
struct expr_s state_expr,
struct expr_s statements 
void build_function ( function_t f)
param_t* check_params ( param_t params)
void clear_functions ( void  )
param_t* copy_params ( param_t params)
void emit_function ( function_t f,
struct expr_s e 
struct expr_s* find_function ( struct expr_s fexpr,
struct expr_s params 
void finish_function ( function_t f)
int function_parms ( function_t f,
byte parm_size 
struct symbol_s* function_symbol ( struct symbol_s sym,
int  overload,
int  create 
void make_function ( struct symbol_s sym,
const char *  nice_name,
struct defspace_s space,
enum storage_class_e  storage 
function_t* new_function ( const char *  name,
const char *  nice_name 
param_t* new_param ( const char *  selector,
struct type_s type,
const char *  name 
param_t* param_append_identifiers ( param_t params,
struct symbol_s idents,
struct type_s type 
struct type_s* parse_params ( struct type_s type,
param_t params 
param_t* reverse_params ( param_t params)

Variable Documentation

function_t* current_func