the further down this goes, the smaller the circles. Soon the point will come. And then back out
This commit is contained in:
@ -1,23 +0,0 @@
|
||||
module Core
|
||||
class BaseObject
|
||||
|
||||
def _set_instance_variable(name , value)
|
||||
return name
|
||||
end
|
||||
|
||||
def _get_instance_variable( name )
|
||||
return name
|
||||
end
|
||||
|
||||
def _get_singleton_method(name )
|
||||
return name
|
||||
end
|
||||
def _add_singleton_method(method)
|
||||
return 4
|
||||
end
|
||||
def initialize()
|
||||
return 4
|
||||
end
|
||||
|
||||
end
|
||||
end
|
@ -20,27 +20,6 @@ module Core
|
||||
def function_exit block , f_name
|
||||
Vm::RegisterMachine.instance.function_exit block , f_name
|
||||
end
|
||||
|
||||
# in ruby, how this goes is
|
||||
# def _get_instance_variable var
|
||||
# i = self.index_of(var)
|
||||
# return at_index(i)
|
||||
# end
|
||||
# The at_index is just "below" the api, somehting we need but don't want to expose, so we can't code the above in ruby
|
||||
def _get_instance_variable context , name = Vm::Integer
|
||||
get_function = Vm::Function.new(:_get_instance_variable , [Vm::Integer , Vm::Integer ] , Vm::Integer )
|
||||
me = get_function.args[0]
|
||||
var_name = get_function.args[1]
|
||||
return_to = get_function.return_type
|
||||
index_function = context.object_space.get_or_create_class(:Object).get_or_create_function(:index_of)
|
||||
b = get_function.body
|
||||
b.push( me )
|
||||
index = b.call( index_function )
|
||||
b.pop(me)
|
||||
return_to.at_index( get_function.body , me , index )
|
||||
get_function.set_return return_to
|
||||
return get_function
|
||||
end
|
||||
|
||||
#TODO this is in the wrong place. It is a function that returns a function object
|
||||
# while all other methods add their code into some block. --> kernel
|
||||
|
Reference in New Issue
Block a user