rubyx/test/support/fake_compiler.rb
2020-02-28 12:54:17 +02:00

39 lines
785 B
Ruby

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