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

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

Go to the documentation of this file.
00001 // $Id: osuif_visitor_info.h,v 1.1.1.1 2000/06/08 00:10:03 afikes Exp $
00002 
00003 #ifndef OSUIFPRINT__OSUIF_VISITOR_INFO_H
00004 #define OSUIFPRINT__OSUIF_VISITOR_INFO_H
00005 
00006 #include <iostream.h>
00007 #include <new.h>
00008 
00009 #include "common/suif_list.h"
00010 #include "common/suif_vector.h"
00011 #include "common/suif_indexed_list.h"
00012 #include "common/formatted.h"
00013 #include "suifkernel/suifkernel_messages.h" // needed by iter.h
00014 #include "suifkernel/iter.h"
00015 #include "common/i_integer.h"
00016 #include "basicnodes/basic.h"
00017 #include "suifnodes/suif.h"
00018 #include "suifkernel/forwarders.h"
00019 #include "iokernel/meta_class.h"
00020 #include "iokernel/aggregate_meta_class.h"
00021 #include "iokernel/union_meta_class.h"
00022 #include "iokernel/clone_stream.h"
00023 #include "iokernel/pointer_meta_class.h"
00024 #include "iokernel/stl_meta_class.h"
00025 #include "iokernel/object_factory.h"
00026 #include "iokernel/virtual_iterator.h"
00027 #include "suifkernel/suif_object.h"
00028 #include "suifkernel/real_object_factory.h"
00029 #include "suifkernel/suif_env.h"
00030 #include "suifkernel/module_subsystem.h"
00031 #include "suifkernel/module.h"
00032 #include "basicnodes/basic_factory.h"
00033 
00034 #include "osuifnodes/osuif.h"
00035 #include "osuifnodes/osuif_forwarders.h"
00036 #include "osuifnodes/osuif_factory.h"
00037 
00038 #include "osuifprint/printing_maps.h"
00039 
00040 class OsuifVisitorInfo{
00041 private:
00042   PrintingMaps *printingMaps; 
00043 public:
00044   OsuifVisitorInfo(PrintingMaps *map);
00045 
00046   void get_object_address(char* result, Address obj);
00047 
00048   static void do_method_type(Address vis, MethodType* method_type);
00049   virtual void print_method_type(MethodType *method_type, ostream& output,
00050                                  bool blnStatic);
00051 
00052   static void do_static_method_type(Address vis, 
00053                                 StaticMethodType* static_method_type);
00054   virtual void print_static_method_type(StaticMethodType *static_method_type,
00055                                         ostream& output);
00056 
00057   static void do_instance_method_type(Address vis, 
00058                                 InstanceMethodType* instance_method_type);
00059   virtual void print_instance_method_type(
00060                                 InstanceMethodType *instance_method_type,
00061                                 ostream& output);
00062 
00063   static void do_instance_method_symbol(Address vis, 
00064                               InstanceMethodSymbol* method_symbol);
00065   virtual void print_instance_method_symbol(
00066                         InstanceMethodSymbol* instance_method_symbol,
00067                         ostream& output);
00068 
00069   static void do_instance_field_symbol(Address vis, 
00070                                        InstanceFieldSymbol* method_symbol);
00071   virtual void print_instance_field_symbol(
00072                         InstanceFieldSymbol *instance_field_symbol,
00073                         ostream& output);
00074 
00075   static void do_static_field_symbol(Address vis, 
00076                                      StaticFieldSymbol* static_field_symbol);
00077   virtual void print_static_field_symbol(StaticFieldSymbol *static_field_symbol,
00078                                      ostream& output);
00079 
00080   static void do_static_method_symbol(Address vis,
00081                                    StaticMethodSymbol* static_method_symbol);
00082   virtual void  print_static_method_symbol(
00083                       StaticMethodSymbol *static_method_symbol,
00084                       ostream& output);
00085 
00086   static void do_class_type(Address vis, ClassType* class_type);
00087   virtual void print_class_type(ClassType* class_type, ostream& output);
00088 
00089   static void do_inheritance_link(Address vis, 
00090                                   InheritanceLink* inheritance_link);
00091   virtual void print_inheritance_link(InheritanceLink* inheritance_link,
00092                                    ostream& output);
00093 
00094   static void do_static_method_call_statement(Address vis,
00095                              StaticMethodCallStatement* method_call_statement);
00096   virtual void print_static_method_call_statement(
00097           StaticMethodCallStatement *method_call_expression, ostream& output);
00098 
00099   static void do_instance_method_call_statement(Address vis,
00100                            InstanceMethodCallStatement* method_call_statement);
00101   virtual void print_instance_method_call_statement(
00102           InstanceMethodCallStatement *method_call_statement, ostream& output);
00103 
00104   static void do_procedure_definition(Address vis,
00105                                ProcedureDefinition* procedure_definition);
00106   virtual void print_procedure_definition(
00107           ProcedureDefinition *procedure_definition, ostream& output);
00108 
00109   static void do_statement_list(Address vis,
00110                           StatementList* statement_list);
00111   virtual void print_statement_list(StatementList *statement_list, 
00112                                  ostream& output);
00113 
00114   static void do_eval_statement(Address vis,
00115                                 EvalStatement* eval_statement);
00116   virtual void print_eval_statement(EvalStatement *eval_statement, 
00117                                  ostream& output);
00118 
00119   static void do_call_statement(Address vis,
00120                              CallStatement* call_statement);
00121   virtual void print_call_statement(CallStatement *call_statement, 
00122                                  ostream& output);
00123 
00124   static void do_basic_symbol_table(Address vis, 
00125                                 BasicSymbolTable *basic_symbol_table);
00126   virtual void print_basic_symbol_table(BasicSymbolTable* basicSymbolTable,
00127                                  ostream& output);
00128 
00129   static void do_variable_definition(Address vis,
00130                                 VariableDefinition *variableDefinition);
00131   virtual void print_variable_definition(VariableDefinition *variableDefinition,
00132                                 ostream& output);
00133 
00134   static void do_definition_block(Address vis,
00135                                 DefinitionBlock *definitionBlock);
00136   virtual void print_definition_block(
00137                                 DefinitionBlock *definitionBlock,
00138                                 ostream& output);
00139 
00140   static void do_symbol_address_expression(Address vis,
00141                              SymbolAddressExpression* symbol_addess_expression);
00142   virtual void print_symbol_address_expression(
00143                             SymbolAddressExpression *symbol_address_expression, 
00144                             ostream& output);
00145   void initOsuifObjects();
00146 };
00147 
00148 #endif /* OSUIFPRINT__OSUIF_VISITOR_INFO_H */

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