Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

formater Class Reference

#include <suif_print.h>

Inheritance diagram for formater:

default_zot_print_helper SelectiveWalker zot_print_helper SuifWalker SuifPrinterModule Walker Module List of all members.

Public Methods

 formater (SuifEnv *suif, vtty *text, int depth=-1 , int detail = PRINT_BRIEF)
ApplyStatus operator() (SuifObject *zot)
 Subclasses must override this to perform their actions.

void set_current_filter ( const LString **filter )
virtual void print_zot (const SuifObject *the_zot, fstream& the_ion)
virtual void print_zot_ref ( const SuifObject *the_zot, fstream& the_ion)
virtual int get_depth ()
virtual void print_zot_prefix (const SuifObject *the_zot, fstream& the_ion)
bool start_of_object (ostream& output, const ObjectWrapper &obj,int derefs)
 You can override this function to control actions at the start of the printing of an object. More...

void end_of_object (ostream& output, const ObjectWrapper &obj)
 You can override this function to gain control at the end of printing an object. More...


Public Attributes

vtty_text
int _depth
bool _first
bool _want_tag
int _detail
vnode_vnode
bool _want_fold
list<vnode *> vnode_list

Static Public Attributes

const LStringmark_filter [] = { new LString("/mrk"), new LString("/mrk_inst"), 0 }
const LStringnull_filter [] = { 0 }

Protected Methods

virtual vnodemake_tag_begin ( const SuifObject* the_zot, bool want_fold = false )
virtual void make_tag_end ( vnode* vn )
virtual void handle_zot (SuifObject* the_zot )
virtual void handle_for_statement ( ForStatement* the_zot )
virtual void handle_scope_statement ( ScopeStatement* the_zot )
virtual void handle_while_statement ( WhileStatement* the_zot )
virtual void handle_zot_with_tag ( const SuifObject* the_zot )
virtual bool prepend_tag ( const SuifObject* )
virtual bool filter_tag ( const SuifObject* )

Protected Attributes

const LString** _current_filter

Static Protected Methods

void print_helper ( vtty *text, vnode *tn_vnode, int depth, int detail, void *pr)

Static Protected Attributes

LStringtag_list [] = { new LString("/scope"), new LString("/while"), new LString("/for"), new LString("/if"), 0 }


Detailed Description


Constructor & Destructor Documentation

formater::formater ( SuifEnv * suif,
vtty * text,
int depth = -1,
int detail = PRINT_BRIEF)


Member Function Documentation

void formater::end_of_object ( ostream & output,
const ObjectWrapper & obj) [virtual]

You can override this function to gain control at the end of printing an object.

Note - not called if start_of_object returned false

Reimplemented from SuifPrinterModule.

bool formater::filter_tag ( const SuifObject * z) [protected, virtual]

int formater::get_depth () [inline, virtual]

void formater::handle_for_statement ( ForStatement * the_zot) [protected, virtual]

void formater::handle_scope_statement ( ScopeStatement * the_zot) [protected, virtual]

void formater::handle_while_statement ( WhileStatement * the_zot) [protected, virtual]

void formater::handle_zot ( SuifObject * the_zot) [protected, virtual]

void formater::handle_zot_with_tag ( const SuifObject * the_zot) [protected, virtual]

vnode * formater::make_tag_begin ( const SuifObject * the_zot,
bool want_fold = false) [protected, virtual]

void formater::make_tag_end ( vnode * vn) [protected, virtual]

ApplyStatus formater::operator() ( SuifObject * zot) [inline, virtual]

Subclasses must override this to perform their actions.

Reimplemented from SelectiveWalker.

bool formater::prepend_tag ( const SuifObject * z) [protected, virtual]

void formater::print_helper ( vtty * text,
vnode * vn,
int depth,
int detail,
void * pr) [static, protected]

void formater::print_zot ( const SuifObject * the_zot,
fstream & the_ion) [virtual]

Reimplemented from default_zot_print_helper.

void formater::print_zot_prefix ( const SuifObject * the_zot,
fstream & the_ion) [virtual]

Reimplemented from default_zot_print_helper.

void formater::print_zot_ref ( const SuifObject * the_zot,
fstream & the_ion) [virtual]

Reimplemented from default_zot_print_helper.

void formater::set_current_filter ( const LString ** filter) [inline]

bool formater::start_of_object ( ostream & output,
const ObjectWrapper & obj,
int deref) [virtual]

You can override this function to control actions at the start of the printing of an object.

If the function returns false, no printing is performed

Reimplemented from SuifPrinterModule.


Member Data Documentation

const LString ** formater::_current_filter [protected]

int formater::_depth

int formater::_detail

bool formater::_first

vtty * formater::_text

vnode * formater::_vnode

bool formater::_want_fold

bool formater::_want_tag

const LString * formater::mark_filter[] = { new LString("/mrk"), new LString("/mrk_inst"), 0 } [static]

const LString * formater::null_filter[] = { 0 } [static]

LString * formater::tag_list[] = { new LString("/scope"), new LString("/while"), new LString("/for"), new LString("/if"), 0 } [static, protected]

list<vnode *> formater::vnode_list


The documentation for this class was generated from the following files:
Generated at Mon Jul 31 13:43:11 2000 for NCI SUIF by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000