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 ) ); }
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 ) ); } }