better no method no super handling
also revealed bug in booting
This commit is contained in:
parent
ab7e517e9e
commit
3e4dcd35c7
@ -71,7 +71,6 @@ module Parfait
|
||||
return method if method
|
||||
if( self.super_class_name )
|
||||
method = self.super_class.resolve_method(m_name)
|
||||
raise "Method not found #{m_name}, for \n#{self}" unless method
|
||||
end
|
||||
method
|
||||
end
|
||||
|
@ -63,7 +63,10 @@ module Parfait
|
||||
end
|
||||
|
||||
def super_class
|
||||
Parfait::Space.object_space.get_class_by_name(self.super_class_name)
|
||||
raise "No super_class for class #{self.name}" unless self.super_class_name
|
||||
s = Parfait::Space.object_space.get_class_by_name(self.super_class_name)
|
||||
raise "superclass not found for class #{self.name} (#{self.super_class_name})" unless s
|
||||
s
|
||||
end
|
||||
|
||||
|
||||
|
@ -120,11 +120,12 @@ module Register
|
||||
:Space => {:classes => :Dictionary , :first_message => :Message},
|
||||
:Frame => {:next_frame => :Frame, :indexed_length => :Integer},
|
||||
:Layout => {:object_class => :Class, :instance_methods => :List , :indexed_length => :Integer} ,
|
||||
:Class => {:object_layout => :Layout, :name => :Word, :instance_methods => :List,
|
||||
:Class => {:instance_methods => :List, :object_layout => :Layout, :name => :Word,
|
||||
:super_class_name => :Word},
|
||||
:Dictionary => {:keys => :List , :values => :List } ,
|
||||
:Method => {:name => :Word, :source => :Object, :instructions => :Object, :binary => :Object,
|
||||
:arguments => :List , :for_class => :Class, :locals => :List } ,
|
||||
:Value => {},
|
||||
:Variable => {:type => :Class, :name => :Word , :value => :Object}
|
||||
}
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user