moo/kernel/test-009.moo

66 lines
922 B
Smalltalk

#include 'Moo.moo'.
////////////////////////////////////////////////////////////////#
// MAIN
////////////////////////////////////////////////////////////////#
// TODO: use #define to define a class or use #class to define a class.
// use #extend to extend a class
// using #class for both feels confusing.
extend Apex
{
}
extend SmallInteger
{
method getTrue: anInteger
{
^anInteger + 9999.
}
method inc
{
^self + 1.
}
}
class TestObject(Object)
{
var(#class) Q, R.
var(#classinst) a1, a2.
}
class MyObject(TestObject)
{
var(#classinst) t1, t2.
method(#class) main2
{
'START OF MAIN2' dump.
t1 value.
'END OF MAIN2' dump.
}
method(#class) main1
{
'START OF MAIN1' dump.
self main2.
t2 := [ 'BLOCK #2' dump. ^200].
'END OF MAIN1' dump.
}
method(#class) main
{
'START OF MAIN' dump.
t1 := ['BLOCK #1' dump. ^100].
self main1.
'END OF MAIN' dump.
}
}