added moo_findmethodinclasschain()
added MOO_SYNERR_CLASSNCIFCE finished implementing interface conformance check primitively
This commit is contained in:
@ -1,8 +1,14 @@
|
||||
interface ClassInterface
|
||||
{
|
||||
method name.
|
||||
method superclass.
|
||||
}
|
||||
|
||||
##
|
||||
## the Class object should be a variable-pointer object because
|
||||
## it needs to accomodate class instance variables.
|
||||
##
|
||||
class(#pointer,#limited) Class(Apex)
|
||||
class(#pointer,#limited) Class(Apex) [ClassInterface]
|
||||
{
|
||||
var spec, selfspec, superclass, subclasses, name, modname.
|
||||
var instvars, classinstvars, classvars, pooldics.
|
||||
|
@ -3,7 +3,7 @@
|
||||
interface X11able
|
||||
{
|
||||
method(#dual) abc.
|
||||
method(#dual) def.
|
||||
method(#dual,#liberal) def(x, y).
|
||||
}
|
||||
interface X11able2
|
||||
{
|
||||
@ -13,7 +13,7 @@ interface X11able2
|
||||
|
||||
interface X11able3
|
||||
{
|
||||
method(#dual) abc3.
|
||||
method(#dual) class.
|
||||
}
|
||||
|
||||
|
||||
@ -33,8 +33,8 @@ class X11(Object) [X11able,selfns.X11able3] from 'x11'
|
||||
var llevent_blocks.
|
||||
|
||||
method(#dual) abc { ^nil }
|
||||
method(#dual) def { ^nil }
|
||||
method(#dual) abc3 { ^nil }
|
||||
method(#dual,#liberal) def(x, z) { ^nil }
|
||||
###method(#dual) abc3 { ^nil }
|
||||
|
||||
interface X11able3
|
||||
{
|
||||
|
@ -80,6 +80,7 @@ class MyObject(Object)
|
||||
'duplicate name'
|
||||
'undefined name'
|
||||
'contradictory class definition'
|
||||
'class not conforming to interface'
|
||||
'invalid non-pointer instance size'
|
||||
'prohibited inheritance'
|
||||
'variable declaration not allowed'
|
||||
|
Reference in New Issue
Block a user