Exemple #1
0
extern "C" void init_osuiflowering( SuifEnv* suif )
{
  initialize_libraries( suif );

  ModuleSubSystem *mss = suif->get_module_subsystem();

  mss->register_module(new LoweringPass( suif ) );
  mss->register_module(new StaticMethodCallStatementLoweringPass( suif ) );
  mss->register_module(new StaticMethodCallExpressionLoweringPass( suif ) );
  mss->register_module(new DefinitionBlockPass( suif ) );
}
Exemple #2
0
extern "C" void init_vtblpass( SuifEnv* suif )
{
    initialize_libraries( suif );

    ModuleSubSystem *mss = suif->get_module_subsystem();

    if ( !mss->retrieve_module("build_single_inheritance_vtbl") ) {
        mss->register_module(new VtblPass( suif ) );
        mss->register_module(new VtblAnnotePass( suif ) );
        mss->register_module(new VtblSlotAnnotePass( suif ) );
        mss->register_module(new VtblSlotCountAnnotePass( suif ) );
        mss->register_module(new InstanceMethodCallStatementLoweringPass( suif ) );
        mss->register_module(new InstanceMethodCallExpressionLoweringPass( suif ) );
    }
}