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

nci/suif/suif2b/osuif/passes/instancefieldslayoutpass/instancefieldslayout_pass.h

Go to the documentation of this file.
00001 // $Id: instancefieldslayout_pass.h,v 1.1.1.1 2000/06/08 00:10:02 afikes Exp $
00002 
00003 #ifndef INSTANCEFIELDSLAYOUTPASS__INSTANCEFIELDSLAYOUTPASS_H
00004 #define INSTANCEFIELDSLAYOUTPASS__INSTANCEFIELDSLAYOUTPASS_H
00005 
00006 #include "suifkernel/suifkernel_forwarders.h"
00007 #include "suifkernel/suif_env.h"
00008 #include "suifkernel/suif_object.h"
00009 #include "suifpasses/suifpasses.h"
00010 #include "basicnodes/basic.h"
00011 #include "suifnodes/suif.h"
00012 #include "cfenodes/cfe.h"
00013 #include "osuifutilities/pass_utils.h"
00014 #include "osuifnodes/osuif.h"
00015 #include "osuifextensionnodes/osuifextension.h"
00016 #include "instancefieldslayoutnodes/instancefieldslayout_utils.h"
00017 
00018 #include "instancefieldslayoutpass/instancefieldslayout.h"
00019 
00020 
00021 class InstanceFieldsLayoutPass : public CollectWalkerPass<ClassType>
00022 {
00023 private:
00024   InstanceFieldsLayout* _layout;
00025 
00026   String _name_mangling;
00027   bool _not_use_annote_name;
00028   bool _verbose;
00029   
00030 public:
00031   InstanceFieldsLayoutPass( SuifEnv* env,
00032     const LString& name= "layout_single_inheritance_instance_fields" );
00033   virtual ~InstanceFieldsLayoutPass()  { }
00034 
00035   virtual void initialize_flags();
00036   virtual void initialize();
00037   virtual bool parse_command_line(TokenStream *command_line_stream);
00038 
00039   virtual const LString mangled_name( InstanceFieldSymbol* fsym );
00040   virtual void mangle_fields( ClassType* ctype );
00041 
00042   virtual void process_suif_object( ClassType* ctype );
00043 };
00044 
00045 
00046 #endif

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