00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef SYMBOL_H_
00030 #define SYMBOL_H_
00031
00032 #include "mytypes.h"
00033
00034 stree_symbol_t *symbol_xlookup_in_csi(stree_program_t *prog,
00035 stree_csi_t *scope, stree_texpr_t *texpr);
00036 stree_symbol_t *symbol_lookup_in_csi(stree_program_t *prog, stree_csi_t *scope,
00037 stree_ident_t *name);
00038 stree_symbol_t *symbol_search_csi(stree_program_t *prog, stree_csi_t *scope,
00039 stree_ident_t *name);
00040 stree_symbol_t *symbol_search_csi_no_base(stree_program_t *prog,
00041 stree_csi_t *scope, stree_ident_t *name);
00042 stree_csi_t *symbol_get_base_class(stree_program_t *prog, stree_csi_t *csi);
00043 stree_texpr_t *symbol_get_base_class_ref(stree_program_t *prog,
00044 stree_csi_t *csi);
00045 stree_symbol_t *symbol_find_epoint(stree_program_t *prog, stree_ident_t *name);
00046
00047 stree_deleg_t *symbol_to_deleg(stree_symbol_t *symbol);
00048 stree_symbol_t *deleg_to_symbol(stree_deleg_t *deleg);
00049 stree_csi_t *symbol_to_csi(stree_symbol_t *symbol);
00050 stree_symbol_t *csi_to_symbol(stree_csi_t *csi);
00051 stree_ctor_t *symbol_to_ctor(stree_symbol_t *symbol);
00052 stree_symbol_t *ctor_to_symbol(stree_ctor_t *ctor);
00053 stree_enum_t *symbol_to_enum(stree_symbol_t *symbol);
00054 stree_symbol_t *enum_to_symbol(stree_enum_t *enum_d);
00055 stree_fun_t *symbol_to_fun(stree_symbol_t *symbol);
00056 stree_symbol_t *fun_to_symbol(stree_fun_t *fun);
00057 stree_var_t *symbol_to_var(stree_symbol_t *symbol);
00058 stree_symbol_t *var_to_symbol(stree_var_t *var);
00059 stree_prop_t *symbol_to_prop(stree_symbol_t *symbol);
00060 stree_symbol_t *prop_to_symbol(stree_prop_t *prop);
00061
00062 stree_symbol_t *csimbr_to_symbol(stree_csimbr_t *csimbr);
00063
00064 void symbol_print_fqn(stree_symbol_t *symbol);
00065
00066 #endif