00001 // $Id: slot_count_annote_pass.h,v 1.1.1.1 2000/06/08 00:10:03 afikes Exp $ 00002 00003 #ifndef VTBLPASS__SLOT_COUNT_ANNOTE_PASS_H 00004 #define VTBLPASS__SLOT_COUNT_ANNOTE_PASS_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 00017 class VtblSlotCountAnnotePass : 00018 public CollectWalkerPass<VtblSlotCountAnnote> 00019 { 00020 private: 00021 bool _verbose; 00022 00023 public: 00024 VtblSlotCountAnnotePass( SuifEnv* env, 00025 const LString& name= "lower_single_inheritance_vtbl_slot_count_annote" ); 00026 virtual ~VtblSlotCountAnnotePass() { } 00027 00028 virtual void initialize_flags(); 00029 virtual void initialize(); 00030 virtual bool parse_command_line(TokenStream *command_line_stream); 00031 00032 virtual void process_suif_object( VtblSlotCountAnnote* annote ); 00033 }; 00034 00035 00036 #endif