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
|
return method if method
|
||||||
if( self.super_class_name )
|
if( self.super_class_name )
|
||||||
method = self.super_class.resolve_method(m_name)
|
method = self.super_class.resolve_method(m_name)
|
||||||
raise "Method not found #{m_name}, for \n#{self}" unless method
|
|
||||||
end
|
end
|
||||||
method
|
method
|
||||||
end
|
end
|
||||||
|
@ -63,7 +63,10 @@ module Parfait
|
|||||||
end
|
end
|
||||||
|
|
||||||
def super_class
|
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
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -120,11 +120,12 @@ module Register
|
|||||||
:Space => {:classes => :Dictionary , :first_message => :Message},
|
:Space => {:classes => :Dictionary , :first_message => :Message},
|
||||||
:Frame => {:next_frame => :Frame, :indexed_length => :Integer},
|
:Frame => {:next_frame => :Frame, :indexed_length => :Integer},
|
||||||
:Layout => {:object_class => :Class, :instance_methods => :List , :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},
|
:super_class_name => :Word},
|
||||||
:Dictionary => {:keys => :List , :values => :List } ,
|
:Dictionary => {:keys => :List , :values => :List } ,
|
||||||
:Method => {:name => :Word, :source => :Object, :instructions => :Object, :binary => :Object,
|
:Method => {:name => :Word, :source => :Object, :instructions => :Object, :binary => :Object,
|
||||||
:arguments => :List , :for_class => :Class, :locals => :List } ,
|
:arguments => :List , :for_class => :Class, :locals => :List } ,
|
||||||
|
:Value => {},
|
||||||
:Variable => {:type => :Class, :name => :Word , :value => :Object}
|
:Variable => {:type => :Class, :name => :Word , :value => :Object}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user