fix dynamic resolve

patch more like, real resolve method will have to be written
and put in there
This commit is contained in:
Torsten Ruger
2018-03-10 19:01:38 +05:30
parent 3a365c779a
commit d6a2ea4cfc
6 changed files with 37 additions and 27 deletions

View File

@ -45,6 +45,21 @@ module Risc
return compiler.method
end
# resolve the method name of self, on the given object
# may seem wrong way around at first sight, but we know the type of string And
# thus resolving this method happens at compile time, whereas any method on an
# unknown self (the object given) needs resolving and that is just what we are doing
# ( ie the snake bites it's tail)
# This method is just a placeholder until boot is over and the real method is
# parsed.
def resolve_method context
compiler = compiler_for(:Word, :resolve_method , {:value => :Object} )
args = compiler.method.arguments
len = args.instance_length
raise "Compiler arg number mismatch, method=#{args} " if len != 3
return compiler.method
end
end
extend ClassMethods
end