diff --git a/lib/parfait/string.rb b/lib/parfait/string.rb new file mode 100644 index 00000000..05d1d7f9 --- /dev/null +++ b/lib/parfait/string.rb @@ -0,0 +1,6 @@ + + +module Parfait + class String < Object + end +end diff --git a/lib/virtual/boot_space.rb b/lib/virtual/boot_space.rb index 2cd6192e..50daa70f 100644 --- a/lib/virtual/boot_space.rb +++ b/lib/virtual/boot_space.rb @@ -19,8 +19,8 @@ module Virtual #global objects (data) @objects = [] @symbols = [] - @frames = 100.times.collect{ ::Frame.new([],[])} - @messages = 100.times.collect{ ::Message.new } + @frames = 100.times.collect{ ::Parfait::Frame.new([],[])} + @messages = 100.times.collect{ ::Parfait::Message.new } @next_message = @messages.first @next_frame = @frames.first @passes = [ "Virtual::SendImplementation" ] diff --git a/lib/virtual/object.rb b/lib/virtual/object.rb index dd3937f2..2b5893e8 100644 --- a/lib/virtual/object.rb +++ b/lib/virtual/object.rb @@ -1,6 +1,10 @@ require_relative "type" require "parfait/message" require "parfait/frame" +require "parfait/hash" +require "parfait/array" +require "parfait/string" +require "parfait/frame" module Positioned def position @@ -89,7 +93,7 @@ module Virtual end end end -::Message.class_eval do +::Parfait::Message.class_eval do include Positioned def layout Virtual::Object.layout @@ -98,7 +102,7 @@ end Virtual::Object.new.padded_words(2) end end -::Frame.class_eval do +::Parfait::Frame.class_eval do include Positioned def layout Virtual::Object.layout @@ -117,7 +121,7 @@ Parfait::Hash.class_eval do Virtual::Object.new.padded_words(2) end end -Array.class_eval do +::Parfait::Array.class_eval do include Positioned def layout Virtual::Object.layout @@ -126,16 +130,7 @@ Array.class_eval do Virtual::Object.new.padded_words(length()) end end -Symbol.class_eval do - include Positioned - def layout - Virtual::Object.layout - end - def mem_length - Virtual::Object.new.padded(1 + to_s.length()) - end -end -String.class_eval do +::Parfait::String.class_eval do include Positioned def layout Virtual::Object.layout