module Risc class FakeCallable def self_type Parfait.object_space.types.values.first end def name :fake_name end end def self.test_compiler(label = SlotMachine::Label.new("start","start_label")) CallableCompiler.new( FakeCallable.new , label) end class FakeCompiler attr_reader :instructions def initialize @instructions = [] end def add_code(c) @instructions << c end def current @instructions.last end def slot_type(slot,type) type.type_for(slot) end def resolve_type(name) Parfait.object_space.types.values.first end def use_reg(type , extra = {}) RegisterValue.new(:r1 , type) end def reset_regs end def add_constant(c) end end end