renamed *.st files to *.moo
This commit is contained in:
103
moo/kernel/test-013.moo
Normal file
103
moo/kernel/test-013.moo
Normal file
@ -0,0 +1,103 @@
|
||||
|
||||
#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)
|
||||
{
|
||||
dcl(#class) Q R.
|
||||
dcl(#classinst) a1 a2.
|
||||
|
||||
method test999
|
||||
{
|
||||
^self.Q
|
||||
}
|
||||
}
|
||||
|
||||
class B.TestObject(Object)
|
||||
{
|
||||
dcl(#class) Q R.
|
||||
dcl(#classinst) a1 a2.
|
||||
|
||||
method test000
|
||||
{
|
||||
^self.Q
|
||||
}
|
||||
}
|
||||
|
||||
pooldic ABC
|
||||
{
|
||||
#KKK := 20.
|
||||
}
|
||||
|
||||
|
||||
class MyObject(TestObject)
|
||||
{
|
||||
method(#class) main
|
||||
{
|
||||
| v1 v2 |
|
||||
System logNl: 'START OF MAIN'.
|
||||
v2 := [
|
||||
[ v1 := [ System logNl: 'xxxxxxxxxxxxxxxxc'. Exception signal: 'qqqqq' ] value.
|
||||
'OK OK OK' dump. ] ensure: [ System logNl: 'ENSURE ENSURE ENSURE'].
|
||||
]
|
||||
on: Exception
|
||||
do: [:ex |
|
||||
System logNl: ('Exception: ', ex messageText).
|
||||
ex return: 10.
|
||||
##ex retry.
|
||||
System logNl: '--- THIS MUST NOT BE PRINTED ---'.
|
||||
].
|
||||
|
||||
|
||||
System logNl: '---------------------'.
|
||||
System log: 'v1=>'; log: v1; log: ' v2=>'; logNl: v2.
|
||||
|
||||
v1 := [
|
||||
[
|
||||
[
|
||||
##1 to: 20000 by: 1 do: [:i | System logNl: i asString. "Processor sleepFor: 1." ]
|
||||
Processor activeProcess terminate.
|
||||
] ensure: [ System logNl: '<<<PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP>>>' ].
|
||||
|
||||
] ensure: [ System logNl: '<<--------------------->>' ].
|
||||
] newProcess.
|
||||
|
||||
System logNl: 'RESUMING v1'.
|
||||
v1 resume.
|
||||
Processor sleepFor: 1.
|
||||
v1 terminate.
|
||||
|
||||
##[
|
||||
## [ Processor activeProcess terminate. ] ensure: [System logNl: '<<<PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP>>>' ].
|
||||
##] ensure: [ System logNl: '<<--------------------->>' ].
|
||||
|
||||
System logNl: S'\0\0\0END OF MAIN\0AB\0\0\0C\0\0\0'.
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user