module Risc # MethodCompiler is used to generate risc instructions for methods # and to instantiate the methods correctly. class MethodCompiler < CallableCompiler # Methods starts with a Label, both in risc and mom. # Pass in the callable(method) and the mom label that the method starts with def initialize( method , mom_label) super(method , mom_label) end #include block_compilers constants def constants block_compilers.inject(@constants.dup){|all, compiler| all += compiler.constants} end def source_name "#{@callable.self_type.name}.#{@callable.name}" end # sometimes the method is used as source (tb reviewed) def source @callable end def add_block_compiler(compiler) @block_compilers << compiler end end end