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

nci/suif/suif2b/osuif/passes/print/printing_maps.h

Go to the documentation of this file.
00001 // $Id: printing_maps.h,v 1.1.1.1 2000/06/08 00:10:03 afikes Exp $
00002 
00003 #ifndef OSUIFPRINT__PRINTING_MAPS_H
00004 #define OSUIFPRINT__PRINTING_MAPS_H
00005 
00006 #include <iostream.h>
00007 
00008 #include "iokernel/iokernel_forwarders.h"
00009 #include "suifkernel/visitor_map.h"
00010 
00011 
00019 class PrintingMaps {
00020 private:
00021   LString _printing_maps_name;
00022   bool _done;
00023   int indent;
00024 
00025   VisitorMap* _process_map;
00026   VisitorMap* _children_map;
00027 
00028 public:
00029   PrintingMaps(SuifEnv *suif_env, const LString &printing_maps_name);
00030 
00032   void init_suif_object();
00033 
00035   void process_a_suif_object(SuifObject *so);
00036 
00037   // Accessors
00038   VisitorMap* get_children_map() const { return _children_map; }
00039   VisitorMap* get_process_map() { return _process_map; }
00040   LString get_printing_maps_name() const { return _printing_maps_name; }
00041   int getIndent() const { return indent; }
00042 
00043   //void set_done(bool b) { _done = b; }
00044 
00045   // Register methods
00046   void register_children_visit_method( Address state,
00047                                        VisitMethod visitMethod, 
00048                                        const LString &name );
00049   void register_process_visit_method( Address state,
00050                                       VisitMethod visitMethod, 
00051                                       const LString &name );
00052 
00053   void incrementIndent();
00054   void decrementIndent();
00055 
00057   bool is_done() const { return _done; }
00058 
00059 private:
00060   PrintingMaps(const PrintingMaps &);
00061   PrintingMaps& operator=(const PrintingMaps &);
00062   
00063 };
00064 
00065 #endif /* OSUIFPRINT__PRINTING_MAPS_H */

Generated at Mon Jul 31 13:42:26 2000 for NCI SUIF by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000