move ruby_method out of rubyx

ruby getting ready for destruction as it’s not used anymore
This commit is contained in:
Torsten Ruger
2017-08-31 16:11:06 +03:00
parent d5a63ec431
commit 0b161ffa06
5 changed files with 6 additions and 6 deletions

View File

@ -31,7 +31,7 @@ module Vool
def create_objects
args_type = make_type
locals_type = make_locals
method = Rubyx::RubyMethod.new(name , args_type , locals_type , body )
method = Vool::VoolMethod.new(name , args_type , locals_type , body )
@clazz.add_method( method )
# compile_methods(clazz,methods)
end

29
lib/vool/vool_method.rb Normal file
View File

@ -0,0 +1,29 @@
module Vool
class VoolMethod
attr_reader :name , :args_type , :locals_type , :source
def initialize(name , args_type , locals_type , source )
@name , @args_type , @locals_type , @source = name , args_type, locals_type , source
raise "Name must be symbol" unless name.is_a?(Symbol)
raise "args_type must be type" unless args_type.is_a?(Parfait::Type)
raise "locals_type must be type" unless locals_type.is_a?(Parfait::Type)
end
def normalize_source
@source = yield @source
end
def create_vm_method( type )
raise "create_method #{type.inspect} is not a Type" unless type.is_a? Parfait::Type
type.create_method( @name , @args_type )#FIXME, @locals_type)
end
def create_tmp
tmp_name = "tmp_#{@locals_type.instance_length}".to_sym
@locals_type = @locals_type.add_instance_variable( tmp_name , :Object )
tmp_name
end
end
end