00001 // $Id: static_method_call_pass.h,v 1.1.1.1 2000/06/08 00:10:02 afikes Exp $ 00002 00003 #ifndef OSUIF_LOWERING__STATIC_METHOD_CALL_LOWERING_PASS_H 00004 #define OSUIF_LOWERING__STATIC_METHOD_CALL_LOWERING_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 #include "osuiflowering/lowering.h" 00018 00019 00020 class StaticMethodCallStatementLoweringPass : 00021 public CollectWalkerPass<StaticMethodCallStatement> 00022 { 00023 private: 00024 bool _verbose; 00025 00026 public: 00027 StaticMethodCallStatementLoweringPass( SuifEnv* env, 00028 const LString &name= "lower_static_method_call_statements" ); 00029 virtual ~StaticMethodCallStatementLoweringPass() { } 00030 00031 virtual void initialize_flags(); 00032 virtual void initialize(); 00033 virtual bool parse_command_line(TokenStream *command_line_stream); 00034 00035 virtual void process_suif_object( StaticMethodCallStatement* smcs ); 00036 }; 00037 00038 00039 class StaticMethodCallExpressionLoweringPass : 00040 public CollectWalkerPass<StaticMethodCallExpression> 00041 { 00042 private: 00043 bool _verbose; 00044 00045 public: 00046 StaticMethodCallExpressionLoweringPass( SuifEnv* env, 00047 const LString &name= "lower_static_method_call_expressions" ); 00048 virtual ~StaticMethodCallExpressionLoweringPass() { } 00049 00050 virtual void initialize_flags(); 00051 virtual void initialize(); 00052 virtual bool parse_command_line(TokenStream *command_line_stream); 00053 00054 virtual void process_suif_object( StaticMethodCallExpression* smcs ); 00055 }; 00056 00057 00058 #endif /* OSUIF_LOWERING__STATIC_METHOD_CALL_LOWERING_PASS_H */