Move the space instance to the parfait module
A better fit, maybe even a pattern for singletons
This commit is contained in:
@ -21,7 +21,7 @@ module Melon
|
||||
|
||||
def on_class statement
|
||||
name , sup , body = *statement
|
||||
clazz = Parfait::Space.object_space.create_class(get_name(name) , get_name(sup) )
|
||||
clazz = Parfait.object_space.create_class(get_name(name) , get_name(sup) )
|
||||
ivar_hash = TypeCollector.new.collect(body)
|
||||
clazz.set_instance_type( Parfait::Type.for_hash( clazz , ivar_hash ) )
|
||||
|
||||
|
@ -21,7 +21,7 @@ module Melon
|
||||
private
|
||||
|
||||
def make_type( statement )
|
||||
type = Parfait::Space.object_space.get_class_by_name(:Message ).instance_type
|
||||
type = Parfait.object_space.get_class_by_name(:Message ).instance_type
|
||||
statement.children.each do |arg|
|
||||
type = type.add_instance_variable( arg.children[0] , :Object )
|
||||
end
|
||||
@ -30,7 +30,7 @@ module Melon
|
||||
|
||||
def make_locals(body)
|
||||
locals = LocalsCollector.new.collect(body)
|
||||
type = Parfait::Space.object_space.get_class_by_name(:NamedList ).instance_type
|
||||
type = Parfait.object_space.get_class_by_name(:NamedList ).instance_type
|
||||
locals.each do |name , local_type |
|
||||
type = type.add_instance_variable( name , local_type )
|
||||
end
|
||||
|
Reference in New Issue
Block a user