fix resolve issue

the typed method has to be created in the to_pafait pass for it to work correctly, ie for the sends to have something to call

also means that when during compilation creating (raising?) a  method, not only vool. but also callable has to be created
This commit is contained in:
2019-09-29 22:37:28 +03:00
parent 17f87f7464
commit ba83affd8c
11 changed files with 49 additions and 29 deletions

View File

@ -12,7 +12,9 @@ module Vool
# Must pass in the actual Parfait class (default nil is just to conform to api)
def to_parfait( clazz = nil )
raise "No class given to class method #{name}" unless clazz
clazz.single_class.add_instance_method_for(name , make_arg_type , make_frame , body )
vool_m = clazz.single_class.create_instance_method_for(name , make_arg_type , make_frame , body )
vool_m.create_callable_method_for(clazz.single_class.instance_type)
vool_m
end
def to_mom(clazz)