let the BootClasses carry functions, ie one level squeezed between object_space and funtion, the class is coming to life

This commit is contained in:
Torsten Ruger
2014-05-31 14:35:33 +03:00
parent 3713d08748
commit a6f02d6be3
10 changed files with 99 additions and 65 deletions

View File

@ -8,7 +8,7 @@ module Ast
end
def compile context , into
params = args.collect{ |a| a.compile(context, into) }
function = context.object_space.get_or_create_function(name)
function = context.current_class.get_or_create_function(name)
raise "Forward declaration not implemented (#{name}) #{inspect}" if function == nil
call = Vm::CallSite.new( name , params , function)
current_function = context.function