class PRINT_OB
****
generates several functions that can be called from the debugger or from a Sather program to visualize objects, function frames and stack traces, either graphically or textually. See the file Debugging in the Doc directory on how to use those functions. Original version by Claudio Fleiner <fleiner@icsi.berkeley.edu> 1.11.95


Flattened version is here



Public


Readonly Shareds
shared funcs:FLIST{SIG};
shared mangler:MANGLE;
shared num_attr:INT:=0;

Writable Shareds
shared funcs:FLIST{SIG};
shared mangler:MANGLE;
shared num_attr:INT:=0;

Features
filepos(s:SFILE_ID):INT
mkfname(cl:$TP):FSTR
print(prog:PROG,cgen:CGEN):FSTR
**** p:FSTR:=#(10000);
print_file_list(prog:PROG,cgen:CGEN,p:CODE_FILE)
print_frame(prog:PROG,cgen:CGEN,p:CODE_FILE,o:AM_ROUT_DEF,iout:FLIST{AM_LOCAL_EXPR})
print_sather_func(prog:PROG,cgen:CGEN)
**** Generate FUNC()
print_sather_type(prog:PROG,cgen:CGEN,sm:INT,lg:INT)
register(s:SIG):STR
sort(t1,t2:TUP{SIG,INT}):BOOL


Private

get_ref_offsets(p:CODE_FILE,cl:$TP,el:$TP,prefix:STR)
mang(ob:$OB):STR
mang(ob,ns:$OB):STR