allowed interface specification in extending a class. e.g. extend ClassName [Interface1,Interface2,etc] { ... }
This commit is contained in:
parent
a21cee67e0
commit
852349b26c
@ -16,6 +16,16 @@ interface X11able3
|
||||
method(#dual) class.
|
||||
}
|
||||
|
||||
class QQQ(Object)
|
||||
{
|
||||
}
|
||||
|
||||
extend QQQ [X11able]
|
||||
{
|
||||
|
||||
method(#dual) abc { ^nil }
|
||||
method(#dual,#liberal) def(x, z) { ^nil }
|
||||
}
|
||||
|
||||
class X11(Object) [X11able,selfns.X11able3] from 'x11'
|
||||
{
|
||||
@ -32,6 +42,7 @@ class X11(Object) [X11able,selfns.X11able3] from 'x11'
|
||||
var event_loop_sem, event_loop_proc.
|
||||
var llevent_blocks.
|
||||
|
||||
|
||||
method(#dual) abc { ^nil }
|
||||
method(#dual,#liberal) def(x, z) { ^nil }
|
||||
###method(#dual) abc3 { ^nil }
|
||||
|
@ -8021,6 +8021,11 @@ static int __compile_class_definition (moo_t* moo, int class_type)
|
||||
|
||||
cc->super_oop = cc->self_oop->superclass;
|
||||
MOO_ASSERT (moo, cc->super_oop == moo->_nil || MOO_CLASSOF(moo, cc->super_oop) == moo->_class);
|
||||
|
||||
if (TOKEN_TYPE(moo) == MOO_IOTOK_LBRACK)
|
||||
{
|
||||
if (process_class_interfaces(moo) <= -1) return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user