slightly changing built return logic

very tempted to add immediately, but bigger change
This commit is contained in:
Torsten Ruger
2018-04-07 00:35:54 +03:00
parent dd0d162ebf
commit db55ec3fd6
4 changed files with 19 additions and 19 deletions

View File

@ -25,9 +25,16 @@ module Risc
end
def build(&block)
@built = nil
instance_eval(&block)
return built
return @built
end
def build_and_add(&block)
risc = build(&block)
@compiler.add_code(risc)
end
def add_instruction(ins)
if(@built)
@built << ins

View File

@ -47,17 +47,17 @@ module Risc
compiler = Risc::MethodCompiler.create_method(:Object,:__init__ ,
Parfait::NamedList.type_for({}) , Parfait::NamedList.type_for({}))
builder = Risc::Builder.new(compiler)
risc = builder.build do
builder.build_and_add do
space << Parfait.object_space
message << space[:first_message]
next_message << message[:next_message]
space[:first_message] << next_message
end
compiler.add_code(risc)
Mom::MessageSetup.new(Parfait.object_space.get_main).build_with( builder )
risc = Mom::MessageSetup.new(Parfait.object_space.get_main).build_with( builder )
compiler.add_code(risc)
builder.build do
builder.build_and_add do
message << message[:next_message]
message[:receiver] << space
end