rubyx/test/support/fake_compiler.rb

41 lines
799 B
Ruby
Raw Normal View History

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 reset_regs
end
def add_constant(c)
end
end
class RegisterValue
def is_object?
@symbol.to_s.start_with?("id_")
end
end
end