removed the S'' literals from the moo codes
This commit is contained in:
parent
ea4d782c1d
commit
4c7b5f2df8
@ -306,7 +306,7 @@ class UndefinedObject(Apex)
|
|||||||
|
|
||||||
method handleException: exception
|
method handleException: exception
|
||||||
{
|
{
|
||||||
('//# EXCEPTION NOT HANDLED //// ' & exception class name & ' - ' & exception messageText) dump.
|
("### EXCEPTION NOT HANDLED #### " & exception class name & " - " & exception messageText) dump.
|
||||||
// TODO: debug the current process???? "
|
// TODO: debug the current process???? "
|
||||||
// TODO: ensure to execute ensure blocks as well....
|
// TODO: ensure to execute ensure blocks as well....
|
||||||
////Processor activeProcess terminate.
|
////Processor activeProcess terminate.
|
||||||
@ -369,18 +369,18 @@ extend Error
|
|||||||
//thisContext unwindTo: (Processor activeProcess initialContext) return: nil.
|
//thisContext unwindTo: (Processor activeProcess initialContext) return: nil.
|
||||||
|
|
||||||
// TOOD: IMPROVE THIS EXPERIMENTAL BACKTRACE...
|
// TOOD: IMPROVE THIS EXPERIMENTAL BACKTRACE...
|
||||||
System logNl: '== BACKTRACE =='.
|
System logNl: "== BACKTRACE ==".
|
||||||
ctx := thisContext.
|
ctx := thisContext.
|
||||||
while (ctx notNil)
|
while (ctx notNil)
|
||||||
{
|
{
|
||||||
if (ctx class == MethodContext) { System logNl: (' ' & ctx method owner name & '>>' & ctx method name) }.
|
if (ctx class == MethodContext) { System logNl: (" " & ctx method owner name & ">>" & ctx method name) }.
|
||||||
// TODO: include blockcontext???
|
// TODO: include blockcontext???
|
||||||
ctx := ctx sender.
|
ctx := ctx sender.
|
||||||
}.
|
}.
|
||||||
System logNl: '== END OF BACKTRACE =='.
|
System logNl: "== END OF BACKTRACE ==".
|
||||||
|
|
||||||
thisContext unwindTo: (thisProcess initialContext) return: nil.
|
thisContext unwindTo: (thisProcess initialContext) return: nil.
|
||||||
('//# ERROR NOT HANDLED //// ' & self class name & ' - ' & self asString) dump.
|
("### ERROR NOT HANDLED #### " & self class name & " - " & self asString) dump.
|
||||||
// TODO: debug the current process???? "
|
// TODO: debug the current process???? "
|
||||||
|
|
||||||
//Processor activeProcess terminate.
|
//Processor activeProcess terminate.
|
||||||
|
@ -37,7 +37,7 @@ TODO: can i convert 'thisProcess primError' to a relevant exception?
|
|||||||
|
|
||||||
method asString
|
method asString
|
||||||
{
|
{
|
||||||
^(self class name) & ' - ' & self.messageText.
|
^(self class name) & " - " & self.messageText.
|
||||||
}
|
}
|
||||||
|
|
||||||
method signal
|
method signal
|
||||||
@ -70,18 +70,18 @@ TODO: can i convert 'thisProcess primError' to a relevant exception?
|
|||||||
//thisContext unwindTo: (Processor activeProcess initialContext) return: nil.
|
//thisContext unwindTo: (Processor activeProcess initialContext) return: nil.
|
||||||
|
|
||||||
// TOOD: IMPROVE THIS EXPERIMENTAL BACKTRACE...
|
// TOOD: IMPROVE THIS EXPERIMENTAL BACKTRACE...
|
||||||
System logNl: '== BACKTRACE =='.
|
System logNl: "== BACKTRACE ==".
|
||||||
ctx := thisContext.
|
ctx := thisContext.
|
||||||
while (ctx notNil)
|
while (ctx notNil)
|
||||||
{
|
{
|
||||||
if (ctx class == MethodContext) { System logNl: (' ' & ctx method owner name & '>>' & ctx method name) }.
|
if (ctx class == MethodContext) { System logNl: (" " & ctx method owner name & ">>" & ctx method name) }.
|
||||||
// TODO: include blockcontext???
|
// TODO: include blockcontext???
|
||||||
ctx := ctx sender.
|
ctx := ctx sender.
|
||||||
}.
|
}.
|
||||||
System logNl: '== END OF BACKTRACE =='.
|
System logNl: "== END OF BACKTRACE ==".
|
||||||
|
|
||||||
thisContext unwindTo: (thisProcess initialContext) return: nil.
|
thisContext unwindTo: (thisProcess initialContext) return: nil.
|
||||||
('//# EXCEPTION NOT HANDLED(Exception) //// ' & self class name & ' - ' & self messageText) dump.
|
("### EXCEPTION NOT HANDLED(Exception) #### " & self class name & " - " & self messageText) dump.
|
||||||
// TODO: debug the current process???? "
|
// TODO: debug the current process???? "
|
||||||
|
|
||||||
//Processor activeProcess terminate.
|
//Processor activeProcess terminate.
|
||||||
@ -502,7 +502,7 @@ extend Apex
|
|||||||
ec := thisProcess primError.
|
ec := thisProcess primError.
|
||||||
msg := thisProcess primErrorMessage.
|
msg := thisProcess primErrorMessage.
|
||||||
if (msg isNil) { msg := ec asString }.
|
if (msg isNil) { msg := ec asString }.
|
||||||
if (method notNil) { msg := msg & ' - ' & (method owner name) & '>>' & (method name) }.
|
if (method notNil) { msg := msg & " - " & (method owner name) & ">>" & (method name) }.
|
||||||
|
|
||||||
//# TODO: convert an exception to a more specific one depending on the error code.
|
//# TODO: convert an exception to a more specific one depending on the error code.
|
||||||
//#if (ec == Error.Code.ERANGE) { self index: index outOfRange: (self basicSize) }
|
//#if (ec == Error.Code.ERANGE) { self index: index outOfRange: (self basicSize) }
|
||||||
@ -519,46 +519,46 @@ extend Apex
|
|||||||
class_name := if (self class == Class) { self name } else { self class name }.
|
class_name := if (self class == Class) { self name } else { self class name }.
|
||||||
|
|
||||||
// TOOD: IMPROVE THIS EXPERIMENTAL BACKTRACE...
|
// TOOD: IMPROVE THIS EXPERIMENTAL BACKTRACE...
|
||||||
System logNl: '== BACKTRACE =='.
|
System logNl: "== BACKTRACE ==".
|
||||||
ctx := thisContext.
|
ctx := thisContext.
|
||||||
while (ctx notNil)
|
while (ctx notNil)
|
||||||
{
|
{
|
||||||
if (ctx class == MethodContext) { System logNl: (' ' & ctx method owner name & '>>' & ctx method name) }.
|
if (ctx class == MethodContext) { System logNl: (" " & ctx method owner name & ">>" & ctx method name) }.
|
||||||
// TODO: include blockcontext???
|
// TODO: include blockcontext???
|
||||||
ctx := ctx sender.
|
ctx := ctx sender.
|
||||||
}.
|
}.
|
||||||
System logNl: '== END OF BACKTRACE =='.
|
System logNl: "== END OF BACKTRACE ==".
|
||||||
|
|
||||||
|
|
||||||
NoSuchMessageException signal: (message_name & ' not understood by ' & class_name).
|
NoSuchMessageException signal: (message_name & " not understood by " & class_name).
|
||||||
}
|
}
|
||||||
|
|
||||||
method(#dual) index: index outOfRange: ubound
|
method(#dual) index: index outOfRange: ubound
|
||||||
{
|
{
|
||||||
IndexOutOfRangeException signal: 'Out of range'.
|
IndexOutOfRangeException signal: "Out of range".
|
||||||
}
|
}
|
||||||
|
|
||||||
method(#dual) subclassResponsibility: method_name
|
method(#dual) subclassResponsibility: method_name
|
||||||
{
|
{
|
||||||
SubclassResponsibilityException signal: ('Subclass must implement ' & method_name).
|
SubclassResponsibilityException signal: ("Subclass must implement " & method_name).
|
||||||
}
|
}
|
||||||
|
|
||||||
method(#dual) shouldNotImplement: method_name
|
method(#dual) shouldNotImplement: method_name
|
||||||
{
|
{
|
||||||
SubclassResponsibilityException signal: ('Message should not be implemented - ' & method_name).
|
SubclassResponsibilityException signal: ("Message should not be implemented - " & method_name).
|
||||||
}
|
}
|
||||||
|
|
||||||
method(#dual) notImplemented: method_name
|
method(#dual) notImplemented: method_name
|
||||||
{
|
{
|
||||||
| class_name |
|
| class_name |
|
||||||
class_name := if (self class == Class) { self name } else { self class name }.
|
class_name := if (self class == Class) { self name } else { self class name }.
|
||||||
NotImplementedException signal: (method_name & ' not implemented by ' & class_name).
|
NotImplementedException signal: (method_name & " not implemented by " & class_name).
|
||||||
}
|
}
|
||||||
|
|
||||||
method(#dual) messageProhibited: method_name
|
method(#dual) messageProhibited: method_name
|
||||||
{
|
{
|
||||||
| class_name |
|
| class_name |
|
||||||
class_name := if (self class == Class) { self name } else { self class name }.
|
class_name := if (self class == Class) { self name } else { self class name }.
|
||||||
ProhibitedMessageException signal: (method_name & ' not allowed for ' & class_name).
|
ProhibitedMessageException signal: (method_name & " not allowed for " & class_name).
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -51,53 +51,53 @@ class MyObject(Object)
|
|||||||
d := Dictionary new.
|
d := Dictionary new.
|
||||||
d at: #abc put: 20.
|
d at: #abc put: 20.
|
||||||
d at: #dddd put: 40.
|
d at: #dddd put: 40.
|
||||||
d at: #jjjj put: 'hello world'.
|
d at: #jjjj put: "hello world".
|
||||||
d at: #moo put: 'good?'.
|
d at: #moo put: "good?".
|
||||||
d at: #moo put: 'not good?'.
|
d at: #moo put: "not good?".
|
||||||
|
|
||||||
/* (d at: #abc) dump.
|
/* (d at: #abc) dump.
|
||||||
/* (d at: #dddd) dump. */
|
/* (d at: #dddd) dump. */
|
||||||
/*d do: [:v | v dump].*/
|
/*d do: [:v | v dump].*/
|
||||||
|
|
||||||
d keysAndValuesDo: [:k :v| System logNl: (k asString) & ' => ' & (v asString) ].
|
d keysAndValuesDo: [:k :v| System logNl: (k asString) & " => " & (v asString) ].
|
||||||
|
|
||||||
//(d includesAssociation: (Association key: #moo value: 'not good?')) dump.
|
//(d includesAssociation: (Association key: #moo value: "not good?")) dump.
|
||||||
'-------------------------' dump.
|
"-------------------------" dump.
|
||||||
//(System at: #MyObject) dump.
|
//(System at: #MyObject) dump.
|
||||||
(d removeKey: #moo) dump.
|
(d removeKey: #moo) dump.
|
||||||
d removeKey: #abc ifAbsent: [System logNl: '#moo not found'].
|
d removeKey: #abc ifAbsent: [System logNl: "#moo not found"].
|
||||||
d keysAndValuesDo: [:k :v| System logNl: (k asString) & ' => ' & (v asString) ].
|
d keysAndValuesDo: [:k :v| System logNl: (k asString) & " => " & (v asString) ].
|
||||||
|
|
||||||
'-------------------------' dump.
|
"-------------------------" dump.
|
||||||
(d at: #jjjj) dump.
|
(d at: #jjjj) dump.
|
||||||
(d at: #jjjja) dump.
|
(d at: #jjjja) dump.
|
||||||
|
|
||||||
/*
|
/*
|
||||||
System keysAndValuesDo: [:k :v|
|
System keysAndValuesDo: [:k :v|
|
||||||
System logNl: (k asString) & ' => ' & (v asString)
|
System logNl: (k asString) & " => " & (v asString)
|
||||||
].
|
].
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//System keysDo: [:k| System logNl: (k asString)]
|
//System keysDo: [:k| System logNl: (k asString)]
|
||||||
|
|
||||||
/*[
|
/*[
|
||||||
[Exception hash dump] ensure: ['xxxx' dump].
|
[Exception hash dump] ensure: ["xxxx" dump].
|
||||||
] on: Exception do: [:ex | ('Exception caught - ' & ex asString) dump ].*/
|
] on: Exception do: [:ex | ("Exception caught - " & ex asString) dump ].*/
|
||||||
|
|
||||||
ffi := FFI new: '/lib64/libc.so.6'.
|
ffi := FFI new: "/lib64/libc.so.6".
|
||||||
if (ffi isError)
|
if (ffi isError)
|
||||||
{
|
{
|
||||||
System logNl: 'cannot open libc.so'
|
System logNl: "cannot open libc.so"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
(ffi call: #getpid signature: ')i' arguments: nil) dump.
|
(ffi call: #getpid signature: ")i" arguments: nil) dump.
|
||||||
(ffi call: #printf signature: 's|iis)i' arguments: #(S'A=>%d B=>%d Hello, world %s\n' 1 2 'fly away')) dump.
|
(ffi call: #printf signature: "s|iis)i" arguments: #("A=>%d B=>%d Hello, world %s\n" 1 2 "fly away")) dump.
|
||||||
(ffi call: #printf signature: 's|iis)i' arguments: #(S'A=>%d B=>%d Hello, world %s\n' 1 2 'jump down')) dump.
|
(ffi call: #printf signature: "s|iis)i" arguments: #("A=>%d B=>%d Hello, world %s\n" 1 2 "jump down")) dump.
|
||||||
ffi close.
|
ffi close.
|
||||||
}.
|
}.
|
||||||
|
|
||||||
(('abcd' == 'abcd') ifTrue: [1] ifFalse: [2]) dump.
|
(("abcd" == "abcd") ifTrue: [1] ifFalse: [2]) dump.
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,28 +106,28 @@ class MyObject(Object)
|
|||||||
{
|
{
|
||||||
|a k|
|
|a k|
|
||||||
|
|
||||||
'BEGINNING OF main...........' dump.
|
"BEGINNING OF main..........." dump.
|
||||||
a :=
|
a :=
|
||||||
if ([System logNl: 'xxxx'. 'abcd' == 'bcde'. false] value)
|
if ([System logNl: "xxxx". "abcd" == "bcde". false] value)
|
||||||
{
|
{
|
||||||
System logNl: 'XXXXXXXXX'.
|
System logNl: "XXXXXXXXX".
|
||||||
1111
|
1111
|
||||||
}
|
}
|
||||||
elsif ('abcd' ~= 'abcd')
|
elsif ("abcd" ~= "abcd")
|
||||||
{
|
{
|
||||||
System logNl: 'second if'.
|
System logNl: "second if".
|
||||||
}
|
}
|
||||||
elsif ([k := 20. System logNl: 'k => ' & (k asString). k + 20. true] value)
|
elsif ([k := 20. System logNl: "k => " & (k asString). k + 20. true] value)
|
||||||
{
|
{
|
||||||
System logNl: 'THIRID forever.............' & (k asString)
|
System logNl: "THIRID forever............." & (k asString)
|
||||||
}
|
}
|
||||||
elsif (true = true)
|
elsif (true = true)
|
||||||
{
|
{
|
||||||
System logNl: 'forever.............'
|
System logNl: "forever............."
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
System logNl: 'NO MATCH'.
|
System logNl: "NO MATCH".
|
||||||
[true] value.
|
[true] value.
|
||||||
}.
|
}.
|
||||||
|
|
||||||
@ -135,12 +135,12 @@ class MyObject(Object)
|
|||||||
|
|
||||||
(if (false) { 10 } else { 16rFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}) dump.
|
(if (false) { 10 } else { 16rFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}) dump.
|
||||||
|
|
||||||
System logNl: 'DONE DONE DONE...'.
|
System logNl: "DONE DONE DONE...".
|
||||||
|
|
||||||
|
|
||||||
(if (false) {} else {1.} ) dump.
|
(if (false) {} else {1.} ) dump.
|
||||||
|
|
||||||
'TESTING ^^....' dump.
|
"TESTING ^^...." dump.
|
||||||
a := 10.
|
a := 10.
|
||||||
([
|
([
|
||||||
a := a + 3.
|
a := a + 3.
|
||||||
@ -152,11 +152,11 @@ class MyObject(Object)
|
|||||||
([true] whileTrue: [
|
([true] whileTrue: [
|
||||||
[true] whileTrue: [
|
[true] whileTrue: [
|
||||||
[
|
[
|
||||||
'aaa' dump.
|
"aaa" dump.
|
||||||
if (a > 20) { ^^506070 }.
|
if (a > 20) { ^^506070 }.
|
||||||
a := a + 1.
|
a := a + 1.
|
||||||
'bbb' dump.
|
"bbb" dump.
|
||||||
] ensure: [('xxxxx' & a asString) dump].
|
] ensure: [("xxxxx" & a asString) dump].
|
||||||
]
|
]
|
||||||
]) dump.
|
]) dump.
|
||||||
|
|
||||||
@ -187,7 +187,7 @@ class MyObject(Object)
|
|||||||
a := 5.
|
a := 5.
|
||||||
do {
|
do {
|
||||||
a := do {
|
a := do {
|
||||||
('in loop.....' & a asString) dump.
|
("in loop....." & a asString) dump.
|
||||||
//if (a > 5) { break }.
|
//if (a > 5) { break }.
|
||||||
a := a + 1.
|
a := a + 1.
|
||||||
} while(a < 10).
|
} while(a < 10).
|
||||||
@ -225,7 +225,7 @@ class MyObject(Object)
|
|||||||
1 + 1,
|
1 + 1,
|
||||||
##( 1, 2, ##(a, a := a + 1, a, if (a > 10) { a + 20 } ), 3),
|
##( 1, 2, ##(a, a := a + 1, a, if (a > 10) { a + 20 } ), 3),
|
||||||
2 + 2,
|
2 + 2,
|
||||||
#'a b c'
|
#"a b c"
|
||||||
).
|
).
|
||||||
|
|
||||||
/* Dictionary ???
|
/* Dictionary ???
|
||||||
@ -246,7 +246,7 @@ class MyObject(Object)
|
|||||||
k dump.
|
k dump.
|
||||||
a dump.
|
a dump.
|
||||||
*/
|
*/
|
||||||
'---------- END ------------' dump.
|
"---------- END ------------" dump.
|
||||||
//System sleepForSecs: 20.
|
//System sleepForSecs: 20.
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,23 +276,23 @@ class MyObject(Object)
|
|||||||
|
|
||||||
|
|
||||||
a := ##{
|
a := ##{
|
||||||
'aaa' -> 10,
|
"aaa" -> 10,
|
||||||
'bbb' -> 20,
|
"bbb" -> 20,
|
||||||
'bbb' -> 30,
|
"bbb" -> 30,
|
||||||
#bbb -> 40,
|
#bbb -> 40,
|
||||||
Association key: 12343 value: 129908123,
|
Association key: 12343 value: 129908123,
|
||||||
//5 -> 99,
|
//5 -> 99,
|
||||||
'ccc' -> 890
|
"ccc" -> 890
|
||||||
}.
|
}.
|
||||||
|
|
||||||
/*a removeKey: 'bbb'.
|
/*a removeKey: "bbb".
|
||||||
a remove: :(#bbb).*/
|
a remove: :(#bbb).*/
|
||||||
|
|
||||||
//1 to: 100 do: [ :i | a at: i put: (i * 2) ].
|
//1 to: 100 do: [ :i | a at: i put: (i * 2) ].
|
||||||
a keysAndValuesDo: [:k :v |
|
a keysAndValuesDo: [:k :v |
|
||||||
k dump.
|
k dump.
|
||||||
v dump.
|
v dump.
|
||||||
'------------' dump.
|
"------------" dump.
|
||||||
].
|
].
|
||||||
|
|
||||||
(a associationAt: (#aaa -> nil)) dump.
|
(a associationAt: (#aaa -> nil)) dump.
|
||||||
@ -309,16 +309,16 @@ class MyObject(Object)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* basicAt: 12 to access the nsdic field. use a proper method once it's defined in Class */
|
/* basicAt: 12 to access the nsdic field. use a proper method once it"s defined in Class */
|
||||||
// (System nsdic) keysAndValuesDo: [:k :v |
|
// (System nsdic) keysAndValuesDo: [:k :v |
|
||||||
// k dump.
|
// k dump.
|
||||||
// v dump.
|
// v dump.
|
||||||
// '------------' dump.
|
// "------------" dump.
|
||||||
// ].
|
// ].
|
||||||
|
|
||||||
|
|
||||||
(System at: #Processor) dump.
|
(System at: #Processor) dump.
|
||||||
System logNl: 'Sleeping start now....'.
|
System logNl: "Sleeping start now....".
|
||||||
|
|
||||||
|
|
||||||
a := System malloc(200).
|
a := System malloc(200).
|
||||||
@ -349,7 +349,7 @@ a free.
|
|||||||
{
|
{
|
||||||
| event |
|
| event |
|
||||||
|
|
||||||
Timer fire: [ 'Timer job' dump. ] in: 3000.
|
Timer fire: [ "Timer job" dump. ] in: 3000.
|
||||||
|
|
||||||
GUI on: #XXX do: [:evt | ... ].
|
GUI on: #XXX do: [:evt | ... ].
|
||||||
GUI on: #YYYY do: [:evt | ... ].
|
GUI on: #YYYY do: [:evt | ... ].
|
||||||
|
@ -178,15 +178,15 @@ TODO: how to pass all variadic arguments to another variadic methods???
|
|||||||
// | x |
|
// | x |
|
||||||
// x := Array new: 2.
|
// x := Array new: 2.
|
||||||
// x at: 0 put: message.
|
// x at: 0 put: message.
|
||||||
// x at: 1 put: S'\n'.
|
// x at: 1 put: "\n".
|
||||||
// ^self atLevel: level log: x.
|
// ^self atLevel: level log: x.
|
||||||
|
|
||||||
^self atLevel: level log: message and: S'\n'.
|
^self atLevel: level log: message and: "\n".
|
||||||
}
|
}
|
||||||
|
|
||||||
method(#class) atLevel: level logNl: message and: message2
|
method(#class) atLevel: level logNl: message and: message2
|
||||||
{
|
{
|
||||||
^self atLevel: level log: message and: message2 and: S'\n'.
|
^self atLevel: level log: message and: message2 and: "\n".
|
||||||
}
|
}
|
||||||
|
|
||||||
method(#class) log: message
|
method(#class) log: message
|
||||||
@ -201,7 +201,7 @@ TODO: how to pass all variadic arguments to another variadic methods???
|
|||||||
|
|
||||||
method(#class) logNl
|
method(#class) logNl
|
||||||
{
|
{
|
||||||
^self atLevel: System.Log.INFO log: S'\n'.
|
^self atLevel: System.Log.INFO log: "\n".
|
||||||
}
|
}
|
||||||
|
|
||||||
method(#class) logNl: message
|
method(#class) logNl: message
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include 'Moo.moo'.
|
#include "Moo.moo".
|
||||||
|
|
||||||
interface X11able
|
interface X11able
|
||||||
{
|
{
|
||||||
@ -27,7 +27,7 @@ method(#dual) abc { ^nil }
|
|||||||
method(#dual,#liberal) def(x, z) { ^nil }
|
method(#dual,#liberal) def(x, z) { ^nil }
|
||||||
}
|
}
|
||||||
|
|
||||||
class X11(Object) [X11able,selfns.X11able3] from 'x11'
|
class X11(Object) [X11able,selfns.X11able3] from "x11"
|
||||||
{
|
{
|
||||||
// =====================================================================
|
// =====================================================================
|
||||||
// this part of the class must match the internal
|
// this part of the class must match the internal
|
||||||
@ -252,7 +252,7 @@ class X11.GC(Object)
|
|||||||
widget displayServer dump.
|
widget displayServer dump.
|
||||||
widget windowHandle dump.
|
widget windowHandle dump.
|
||||||
gc := widget displayServer _create_gc (widget windowHandle).
|
gc := widget displayServer _create_gc (widget windowHandle).
|
||||||
if (gc isError) { selfns.Exception signal: 'Cannot create a graphics context' }.
|
if (gc isError) { selfns.Exception signal: "Cannot create a graphics context" }.
|
||||||
self.gcHandle := gc.
|
self.gcHandle := gc.
|
||||||
self.widget := widget.
|
self.widget := widget.
|
||||||
}
|
}
|
||||||
@ -287,7 +287,7 @@ widget windowHandle dump.
|
|||||||
{
|
{
|
||||||
if (self.widget displayServer _apply_gc (self) isError)
|
if (self.widget displayServer _apply_gc (self) isError)
|
||||||
{
|
{
|
||||||
X11.Exception signal: 'Cannot apply GC settings'
|
X11.Exception signal: "Cannot apply GC settings"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -332,13 +332,13 @@ class X11.Widget(Object)
|
|||||||
disp := self displayServer.
|
disp := self displayServer.
|
||||||
if (disp isNil)
|
if (disp isNil)
|
||||||
{
|
{
|
||||||
X11.Exception signal: 'Cannot realize a widget not added to a display server'
|
X11.Exception signal: "Cannot realize a widget not added to a display server"
|
||||||
}.
|
}.
|
||||||
|
|
||||||
wind := disp __create_window(self parentWindowHandle, self.x, self.y, self.width, self.height, self.fgcolor, self.bgcolor, self).
|
wind := disp __create_window(self parentWindowHandle, self.x, self.y, self.width, self.height, self.fgcolor, self.bgcolor, self).
|
||||||
if (wind isError)
|
if (wind isError)
|
||||||
{
|
{
|
||||||
self.Exception signal: 'Cannot create widget window'.
|
self.Exception signal: "Cannot create widget window".
|
||||||
}.
|
}.
|
||||||
|
|
||||||
self.windowHandle := wind.
|
self.windowHandle := wind.
|
||||||
@ -455,7 +455,7 @@ class X11.Composite(X11.Widget)
|
|||||||
{
|
{
|
||||||
if (widget parent notNil)
|
if (widget parent notNil)
|
||||||
{
|
{
|
||||||
selfns.Exception signal: 'Cannot add an already added widget'.
|
selfns.Exception signal: "Cannot add an already added widget".
|
||||||
}.
|
}.
|
||||||
|
|
||||||
self.children addLast: widget.
|
self.children addLast: widget.
|
||||||
@ -467,7 +467,7 @@ class X11.Composite(X11.Widget)
|
|||||||
| link |
|
| link |
|
||||||
if (widget parent ~~ self)
|
if (widget parent ~~ self)
|
||||||
{
|
{
|
||||||
selfns.Exception sinal: 'Cannot remove an unknown widget'
|
selfns.Exception sinal: "Cannot remove an unknown widget"
|
||||||
}.
|
}.
|
||||||
|
|
||||||
link := self.children findIdenticalLink: widget.
|
link := self.children findIdenticalLink: widget.
|
||||||
|
@ -146,15 +146,15 @@ class MyObject(Object)
|
|||||||
].
|
].
|
||||||
|
|
||||||
|
|
||||||
f puts(S'static moo_ooch_t* ', name, S'[] =\n{\n').
|
f puts("static moo_ooch_t* ", name, "[] =\n{\n").
|
||||||
0 to: c do: [:i |
|
0 to: c do: [:i |
|
||||||
((i rem: 8) = 0) ifTrue: [ f putc(C'\t') ].
|
((i rem: 8) = 0) ifTrue: [ f putc(C"\t") ].
|
||||||
f puts(prefix, (i asString)).
|
f puts(prefix, (i asString)).
|
||||||
(i = c) ifFalse: [f puts(S',') ].
|
(i = c) ifFalse: [f puts(",") ].
|
||||||
(((i + 1) rem: 8) = 0) ifTrue: [ f putc(C'\n') ] ifFalse: [ f putc(C' ') ].
|
(((i + 1) rem: 8) = 0) ifTrue: [ f putc(C"\n") ] ifFalse: [ f putc(C' ') ].
|
||||||
].
|
].
|
||||||
(((c + 1) rem: 8) = 0) ifFalse: [ f putc(C'\n') ].
|
(((c + 1) rem: 8) = 0) ifFalse: [ f putc(C"\n") ].
|
||||||
f puts(S'};\n').
|
f puts("};\n").
|
||||||
}
|
}
|
||||||
|
|
||||||
method(#class) printString: s prefix: prefix index: index on: f
|
method(#class) printString: s prefix: prefix index: index on: f
|
||||||
@ -162,7 +162,7 @@ class MyObject(Object)
|
|||||||
| c |
|
| c |
|
||||||
c := s size - 1.
|
c := s size - 1.
|
||||||
|
|
||||||
f puts('static moo_ooch_t ', prefix, index asString, '[] = {').
|
f puts("static moo_ooch_t ", prefix, index asString, '[] = {').
|
||||||
|
|
||||||
0 to: c do: [:i |
|
0 to: c do: [:i |
|
||||||
| ch |
|
| ch |
|
||||||
@ -178,6 +178,6 @@ class MyObject(Object)
|
|||||||
(i = c) ifFalse: [f putc($,) ].
|
(i = c) ifFalse: [f putc($,) ].
|
||||||
].
|
].
|
||||||
|
|
||||||
f puts(S',\'\\0\'};\n').
|
f puts(",\'\\0\'};\n").
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// TEST CASES for namespacing
|
// TEST CASES for namespacing
|
||||||
//
|
//
|
||||||
|
|
||||||
#include 'Moo.moo'.
|
#include "Moo.moo".
|
||||||
|
|
||||||
|
|
||||||
class MyObject(Object)
|
class MyObject(Object)
|
||||||
@ -425,7 +425,7 @@ extend MyObject
|
|||||||
0 priorTo: limit by: 1 do: [ :idx |
|
0 priorTo: limit by: 1 do: [ :idx |
|
||||||
| tb |
|
| tb |
|
||||||
tb := tc at: idx.
|
tb := tc at: idx.
|
||||||
System log(System.Log.INFO, idx asString, (if (tb value) { ' PASS' } else { ' FAIL' }), S'\n').
|
System log(System.Log.INFO, idx asString, (if (tb value) { " PASS" } else { " FAIL" }), "\n").
|
||||||
].
|
].
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
#include 'Moo.moo'.
|
#include "Moo.moo".
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////#
|
////////////////////////////////////////////////////////////////#
|
||||||
// MAIN
|
// MAIN
|
||||||
@ -179,7 +179,7 @@ class MyObject(Object)
|
|||||||
0 priorTo: limit by: 1 do: [ :idx |
|
0 priorTo: limit by: 1 do: [ :idx |
|
||||||
| tb |
|
| tb |
|
||||||
tb := tc at: idx.
|
tb := tc at: idx.
|
||||||
System log(System.Log.INFO, idx asString, (if (tb value) { ' PASS' } else { ' FAIL' }), S'\n').
|
System log(System.Log.INFO, idx asString, (if (tb value) { " PASS" } else { " FAIL" }), "\n").
|
||||||
].
|
].
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// TEST CASES for basic methods
|
// TEST CASES for basic methods
|
||||||
//
|
//
|
||||||
|
|
||||||
#include 'Moo.moo'.
|
#include "Moo.moo".
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////#
|
////////////////////////////////////////////////////////////////#
|
||||||
// MAIN
|
// MAIN
|
||||||
@ -42,7 +42,7 @@ class MyObject(Object)
|
|||||||
3 to: 100 do: [ :i |
|
3 to: 100 do: [ :i |
|
||||||
//(results at: i - 2) dump.
|
//(results at: i - 2) dump.
|
||||||
//(results at: i - 3) dump.
|
//(results at: i - 3) dump.
|
||||||
//'----------' dump.
|
//"----------" dump.
|
||||||
results add: (rec value: (results at: i - 2) value: (results at: i - 3)).
|
results add: (rec value: (results at: i - 2) value: (results at: i - 3)).
|
||||||
].
|
].
|
||||||
|
|
||||||
@ -79,9 +79,9 @@ class MyObject(Object)
|
|||||||
[([] isKindOf: Context) == true],
|
[([] isKindOf: Context) == true],
|
||||||
|
|
||||||
// 15-20
|
// 15-20
|
||||||
[('string' isKindOf: String) == true],
|
[("string" isKindOf: String) == true],
|
||||||
[(#symbol isKindOf: String) == true],
|
[(#symbol isKindOf: String) == true],
|
||||||
[('string' isKindOf: Symbol) == false],
|
[("string" isKindOf: Symbol) == false],
|
||||||
[(#symbol isKindOf: Symbol) == true]
|
[(#symbol isKindOf: Symbol) == true]
|
||||||
).
|
).
|
||||||
|
|
||||||
@ -90,11 +90,11 @@ class MyObject(Object)
|
|||||||
0 priorTo: limit by: 1 do: [ :idx |
|
0 priorTo: limit by: 1 do: [ :idx |
|
||||||
| tb |
|
| tb |
|
||||||
tb := tc at: idx.
|
tb := tc at: idx.
|
||||||
System log(System.Log.INFO, idx asString, (if (tb value) { ' PASS' } else { ' FAIL' }), "\n").
|
System log(System.Log.INFO, idx asString, (if (tb value) { " PASS" } else { " FAIL" }), "\n").
|
||||||
].
|
].
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
String format('%s', " 나 는\\\"") dump.
|
String format("%s", " 나 는\\\"") dump.
|
||||||
#"a b\nc" dump.
|
#"a b\nc" dump.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ class MyObject(Object)
|
|||||||
System sleepForSecs: 1.
|
System sleepForSecs: 1.
|
||||||
sg wait.
|
sg wait.
|
||||||
sg removeSemaphore: s1.
|
sg removeSemaphore: s1.
|
||||||
'********** END OF TESTER *************' dump.
|
"********** END OF TESTER *************" dump.
|
||||||
}
|
}
|
||||||
|
|
||||||
method(#class) main
|
method(#class) main
|
||||||
@ -67,9 +67,9 @@ sg removeSemaphore: s1.
|
|||||||
0 priorTo: limit by: 1 do: [ :idx |
|
0 priorTo: limit by: 1 do: [ :idx |
|
||||||
| tb |
|
| tb |
|
||||||
tb := tc at: idx.
|
tb := tc at: idx.
|
||||||
System log(System.Log.INFO, idx asString, (if (tb value) { ' PASS' } else { ' FAIL' }), S'\n').
|
System log(System.Log.INFO, idx asString, (if (tb value) { " PASS" } else { " FAIL" }), "\n").
|
||||||
].
|
].
|
||||||
|
|
||||||
'********** END OF MAIN PROGRAM *************' dump.
|
"********** END OF MAIN PROGRAM *************" dump.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
#include 'Moo.moo'.
|
#include "Moo.moo".
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////#
|
////////////////////////////////////////////////////////////////#
|
||||||
// MAIN
|
// MAIN
|
||||||
@ -66,7 +66,7 @@ class MyObject(TestObject)
|
|||||||
{
|
{
|
||||||
| a |
|
| a |
|
||||||
a := self yyy: aBlock.
|
a := self yyy: aBlock.
|
||||||
'KKKKKKKKKKKKKKKKKKKKKKKKKKKKK' dump.
|
"KKKKKKKKKKKKKKKKKKKKKKKKKKKKK" dump.
|
||||||
^a.
|
^a.
|
||||||
}
|
}
|
||||||
method(#class) main2
|
method(#class) main2
|
||||||
@ -116,12 +116,12 @@ class MyObject(TestObject)
|
|||||||
|
|
||||||
#[ 1 2 3] dump.
|
#[ 1 2 3] dump.
|
||||||
#[ 4 5 6] dump.
|
#[ 4 5 6] dump.
|
||||||
#(#abc:def: 2 'string is good' 3 4 #(5 6) #(7 #(8 9)) 10) dump.
|
#(#abc:def: 2 "string is good" 3 4 #(5 6) #(7 #(8 9)) 10) dump.
|
||||||
#(#[] #[]) dump.
|
#(#[] #[]) dump.
|
||||||
|
|
||||||
|
|
||||||
a := #(#abc:def: -2 'string is good' 3 #[2 3 4] 4 #(5 6) #(7 #(8 #[4 56] 'hello' 9)) 10 -93952 #self true false nil #thisContext #super).
|
a := #(#abc:def: -2 "string is good" 3 #[2 3 4] 4 #(5 6) #(7 #(8 #[4 56] "hello" 9)) 10 -93952 #self true false nil #thisContext #super).
|
||||||
a at: 3 put: 'hello world'; dump.
|
a at: 3 put: "hello world"; dump.
|
||||||
|
|
||||||
|
|
||||||
a := self new.
|
a := self new.
|
||||||
@ -131,8 +131,8 @@ class MyObject(TestObject)
|
|||||||
b := 0.
|
b := 0.
|
||||||
[ b < 9 ] whileTrue: [ b dump. b := b + 1 ].
|
[ b < 9 ] whileTrue: [ b dump. b := b + 1 ].
|
||||||
|
|
||||||
S'hello \t\u78966\u8765\u3456\u2723\x20\123world\uD57C\uB85C\uC6B0' dump.
|
"hello \t\u78966\u8765\u3456\u2723\x20\123world\uD57C\uB85C\uC6B0" dump.
|
||||||
C'\n' dump.
|
C"\n" dump.
|
||||||
#abc:def: dump.
|
#abc:def: dump.
|
||||||
|
|
||||||
//a := (11 < 10) ifTrue: [5] ifFalse: [20].
|
//a := (11 < 10) ifTrue: [5] ifFalse: [20].
|
||||||
@ -155,7 +155,7 @@ class MyObject(TestObject)
|
|||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
// this sample demonstrates what happens when a block context returns to the origin's caller
|
// this sample demonstrates what happens when a block context returns to the origin"s caller
|
||||||
// after the caller has already returned.
|
// after the caller has already returned.
|
||||||
|
|
||||||
method(#class) xxxx
|
method(#class) xxxx
|
||||||
@ -202,22 +202,22 @@ class MyObject(TestObject)
|
|||||||
sum := [ :n | (n < 2) ifTrue: [1] ifFalse: [ n + (sum value: (n - 1))] ].
|
sum := [ :n | (n < 2) ifTrue: [1] ifFalse: [ n + (sum value: (n - 1))] ].
|
||||||
(sum value: 5) dump.
|
(sum value: 5) dump.
|
||||||
|
|
||||||
'-------------------------' dump.
|
"-------------------------" dump.
|
||||||
b := 0.
|
b := 0.
|
||||||
[ b < 2000 ] whileTrue: [ b dump. b := b + 1 ].
|
[ b < 2000 ] whileTrue: [ b dump. b := b + 1 ].
|
||||||
|
|
||||||
'-------------------------' dump.
|
"-------------------------" dump.
|
||||||
b := 0.
|
b := 0.
|
||||||
[ b < 10 ] whileTrue: [ b dump. b := b + 1 ].
|
[ b < 10 ] whileTrue: [ b dump. b := b + 1 ].
|
||||||
|
|
||||||
'-------------------------' dump.
|
"-------------------------" dump.
|
||||||
a := #[4 5 6 7] at: 3.
|
a := #[4 5 6 7] at: 3.
|
||||||
(#[3 2 1] at: 3) dump.
|
(#[3 2 1] at: 3) dump.
|
||||||
|
|
||||||
|
|
||||||
// thisContext value. // the message value must be unresolvable as thisContext is a method context
|
// thisContext value. // the message value must be unresolvable as thisContext is a method context
|
||||||
// [thisContext value] value.
|
// [thisContext value] value.
|
||||||
'-------------------------' dump.
|
"-------------------------" dump.
|
||||||
b := 0.
|
b := 0.
|
||||||
[ b := b + 1. b dump. thisContext value] value.
|
[ b := b + 1. b dump. thisContext value] value.
|
||||||
|
|
||||||
@ -245,18 +245,18 @@ class MyObject(TestObject)
|
|||||||
|
|
||||||
method(#class) getABlock
|
method(#class) getABlock
|
||||||
{
|
{
|
||||||
^ [ 'a block returned by getABlock' dump. "^ self"]
|
^ [ "a block returned by getABlock" dump. "^ self"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
method(#class) test_ffi
|
method(#class) test_ffi
|
||||||
{
|
{
|
||||||
| ffi |
|
| ffi |
|
||||||
ffi := FFI new: 'libc.so.6'.
|
ffi := FFI new: "libc.so.6".
|
||||||
|
|
||||||
// ffi call: #printf with: #((str '%d') (int 10) (long 20)).
|
// ffi call: #printf with: #((str "%d") (int 10) (long 20)).
|
||||||
ffi call: #printf signature: '|s|ici)i' arguments: #("hello world %d %c %d\n" 11123 $X 9876543).
|
ffi call: #printf signature: "|s|ici)i" arguments: #("hello world %d %c %d\n" 11123 $X 9876543).
|
||||||
//ffi call: #puts signature: 's)i' arguments: #('hello world').
|
//ffi call: #puts signature: "s)i" arguments: #("hello world").
|
||||||
ffi close.
|
ffi close.
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -264,8 +264,8 @@ class MyObject(TestObject)
|
|||||||
{
|
{
|
||||||
// ---------------------------------------------------------------
|
// ---------------------------------------------------------------
|
||||||
// getABlock has returned.
|
// getABlock has returned.
|
||||||
// aBlock's home context is getABlock. getABlock has returned
|
// aBlock"s home context is getABlock. getABlock has returned
|
||||||
// when 'aBlock value' is executed. so when aBlock is really
|
// when "aBlock value" is executed. so when aBlock is really
|
||||||
// executed, ^self is a double return attempt. should this be made
|
// executed, ^self is a double return attempt. should this be made
|
||||||
// illegal??
|
// illegal??
|
||||||
|aBlock|
|
|aBlock|
|
||||||
@ -278,16 +278,16 @@ class MyObject(TestObject)
|
|||||||
/* -----------------------------
|
/* -----------------------------
|
||||||
PROCESS TESTING
|
PROCESS TESTING
|
||||||
| p |
|
| p |
|
||||||
'000000000000000000' dump.
|
"000000000000000000" dump.
|
||||||
// p := [ | 'xxxxxxxxxxx' dump. 'yyyyyyyyyy' dump. ^10. ] newProcess.
|
// p := [ | "xxxxxxxxxxx" dump. "yyyyyyyyyy" dump. ^10. ] newProcess.
|
||||||
p := [ :a :b :c :d | a dump. b dump. (c + d) dump. ^10. ] newProcessWith: #(abc def 10 20).
|
p := [ :a :b :c :d | a dump. b dump. (c + d) dump. ^10. ] newProcessWith: #(abc def 10 20).
|
||||||
'999999999999999999' dump.
|
"999999999999999999" dump.
|
||||||
p resume.
|
p resume.
|
||||||
|
|
||||||
'111111111111111111' dump.
|
"111111111111111111" dump.
|
||||||
'222222222222222222' dump.
|
"222222222222222222" dump.
|
||||||
'333333333333333333' dump.
|
"333333333333333333" dump.
|
||||||
'444444444444444444' dump.
|
"444444444444444444" dump.
|
||||||
---------------------------- */
|
---------------------------- */
|
||||||
|
|
||||||
|
|
||||||
@ -436,20 +436,20 @@ PROCESS TESTING
|
|||||||
[1 + [100 + 200] value] value dump.
|
[1 + [100 + 200] value] value dump.
|
||||||
|
|
||||||
|
|
||||||
'====================' dump.
|
"====================" dump.
|
||||||
[
|
[
|
||||||
| a b |
|
| a b |
|
||||||
'--------------' dump.
|
"--------------" dump.
|
||||||
[a := 20. b := [ a + 20 ]. b value.] value dump.
|
[a := 20. b := [ a + 20 ]. b value.] value dump.
|
||||||
a dump.
|
a dump.
|
||||||
b dump.
|
b dump.
|
||||||
] value.
|
] value.
|
||||||
'====================' dump.
|
"====================" dump.
|
||||||
([ :a :b | /*a := 20.*/ b := [ a + 20 ]. b value.] value: 99 value: 100) dump.
|
([ :a :b | /*a := 20.*/ b := [ a + 20 ]. b value.] value: 99 value: 100) dump.
|
||||||
'====================' dump.
|
"====================" dump.
|
||||||
|
|
||||||
[ :a :b | a dump. b dump. a := 20. b := [ a + 20 ]. b value.] value dump. // not sufficient arguments. it must fail
|
[ :a :b | a dump. b dump. a := 20. b := [ a + 20 ]. b value.] value dump. // not sufficient arguments. it must fail
|
||||||
//[ :a :b | a dump. b dump. a := 20. b := [ a + 20 ]. b value.] on: Exception do: [:ex | 'Exception' dump].
|
//[ :a :b | a dump. b dump. a := 20. b := [ a + 20 ]. b value.] on: Exception do: [:ex | "Exception" dump].
|
||||||
|
|
||||||
/*
|
/*
|
||||||
FFI isNil dump.
|
FFI isNil dump.
|
||||||
@ -503,9 +503,9 @@ bc2 bc4 is shallow-copied of bc3. (bc3 value)
|
|||||||
bc4.
|
bc4.
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
'home' is set when the context is created by blockCopy.
|
"home" is set when the context is created by blockCopy.
|
||||||
'caller' is set when the context is activated.
|
"caller" is set when the context is activated.
|
||||||
all 'origin' fields point to mc1 as a result.
|
all "origin" fields point to mc1 as a result.
|
||||||
self represents the receiver. that is bc->origin->receiver which is mc1->receiver.
|
self represents the receiver. that is bc->origin->receiver which is mc1->receiver.
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
#include 'Moo.moo'.
|
#include "Moo.moo".
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////#
|
////////////////////////////////////////////////////////////////#
|
||||||
// MAIN
|
// MAIN
|
||||||
@ -60,43 +60,43 @@ class MyObject(TestObject)
|
|||||||
method(#class) main
|
method(#class) main
|
||||||
{
|
{
|
||||||
| v1 v2 |
|
| v1 v2 |
|
||||||
System logNl: 'START OF MAIN'.
|
System logNl: "START OF MAIN".
|
||||||
v2 := [
|
v2 := [
|
||||||
[ v1 := [ System logNl: 'xxxxxxxxxxxxxxxxc'. Exception signal: 'qqqqq' ] value.
|
[ v1 := [ System logNl: "xxxxxxxxxxxxxxxxc". Exception signal: "qqqqq" ] value.
|
||||||
'OK OK OK' dump. ] ensure: [ System logNl: 'ENSURE ENSURE ENSURE'].
|
"OK OK OK" dump. ] ensure: [ System logNl: "ENSURE ENSURE ENSURE"].
|
||||||
]
|
]
|
||||||
on: Exception
|
on: Exception
|
||||||
do: [:ex |
|
do: [:ex |
|
||||||
System logNl: ('Exception: ' & ex messageText).
|
System logNl: ("Exception: " & ex messageText).
|
||||||
ex return: 10.
|
ex return: 10.
|
||||||
//ex retry.
|
//ex retry.
|
||||||
System logNl: '--- THIS MUST NOT BE PRINTED ---'.
|
System logNl: "--- THIS MUST NOT BE PRINTED ---".
|
||||||
].
|
].
|
||||||
|
|
||||||
|
|
||||||
System logNl: '---------------------'.
|
System logNl: "---------------------".
|
||||||
System log: 'v1=>'; log: v1; log: ' v2=>'; logNl: v2.
|
System log: "v1=>"; log: v1; log: " v2=>"; logNl: v2.
|
||||||
|
|
||||||
v1 := [
|
v1 := [
|
||||||
[
|
[
|
||||||
[
|
[
|
||||||
//1 to: 20000 by: 1 do: [:i | System logNl: i asString. "System sleepForSecs: 1." ]
|
//1 to: 20000 by: 1 do: [:i | System logNl: i asString. "System sleepForSecs: 1." ]
|
||||||
Processor activeProcess terminate.
|
Processor activeProcess terminate.
|
||||||
] ensure: [ System logNl: '<<<PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP>>>' ].
|
] ensure: [ System logNl: "<<<PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP>>>" ].
|
||||||
|
|
||||||
] ensure: [ System logNl: '<<--------------------->>' ].
|
] ensure: [ System logNl: "<<--------------------->>" ].
|
||||||
] newProcess.
|
] newProcess.
|
||||||
|
|
||||||
System logNl: 'RESUMING v1'.
|
System logNl: "RESUMING v1".
|
||||||
v1 resume.
|
v1 resume.
|
||||||
System sleepForSecs: 1.
|
System sleepForSecs: 1.
|
||||||
v1 terminate.
|
v1 terminate.
|
||||||
|
|
||||||
//[
|
//[
|
||||||
// [ Processor activeProcess terminate. ] ensure: [System logNl: '<<<PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP>>>' ].
|
// [ Processor activeProcess terminate. ] ensure: [System logNl: "<<<PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP>>>" ].
|
||||||
//] ensure: [ System logNl: '<<--------------------->>' ].
|
//] ensure: [ System logNl: "<<--------------------->>" ].
|
||||||
|
|
||||||
System logNl: S'\0\0\0END OF MAIN\0AB\0\0\0C\0\0\0'.
|
System logNl: "\0\0\0END OF MAIN\0AB\0\0\0C\0\0\0".
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -102,8 +102,8 @@ class MyObject(TestObject)
|
|||||||
v1 := MyConsole output.
|
v1 := MyConsole output.
|
||||||
v1 clear.
|
v1 clear.
|
||||||
v1 box: 0@0 corner: 80@20.
|
v1 box: 0@0 corner: 80@20.
|
||||||
v1 write: S'hello, 월드 이거 좋지 않니\n'.
|
v1 write: "hello, 월드 이거 좋지 않니\n".
|
||||||
v1 write: S'하하하하하하하하 좋아좋아 可愛くってしょうがない(^o^) ほのかちゃん、しおりちゃん元気そうだね! 久しぶりに見た。しおりちゃんどうしたのかな?좋아 하라하하\n'.
|
v1 write: "하하하하하하하하 좋아좋아 可愛くってしょうがない(^o^) ほのかちゃん、しおりちゃん元気そうだね! 久しぶりに見た。しおりちゃんどうしたのかな?좋아 하라하하\n".
|
||||||
v1 close.
|
v1 close.
|
||||||
|
|
||||||
self main2.
|
self main2.
|
||||||
@ -118,7 +118,7 @@ class MyObject(TestObject)
|
|||||||
* 765507696474864454832447821143032209556194237429024272487376513755618415740858933212778176226195677908876814855895611901838419364549855580388081219363378099926549770419687104031809304167273647479680584409544921582452247598843590335565958941218635089801691339265287920342381909847353843571491984747541378691432905678660731517460920201717549951480681654501180257614183394160869490681730637245109396396631700176391975994387097927483353281545628136320635813474136122790139443917922910896873631927820545774) asString.
|
* 765507696474864454832447821143032209556194237429024272487376513755618415740858933212778176226195677908876814855895611901838419364549855580388081219363378099926549770419687104031809304167273647479680584409544921582452247598843590335565958941218635089801691339265287920342381909847353843571491984747541378691432905678660731517460920201717549951480681654501180257614183394160869490681730637245109396396631700176391975994387097927483353281545628136320635813474136122790139443917922910896873631927820545774) asString.
|
||||||
System logNl:(-820186817651640487320479808367534510238779540102526006236474836166734016865205999870833760242352512045225158774173869894826877890589130978987229877889333678492731896878236182891224254464936050871086340438798130266913122427332418216677813151305680453358955006355665628938266331979307689540884269372365762883678113227136498054422414501840232090872158915536978847443767922315217311444711397048331496139248250188991402851129033493732164230227458717486395514436574417275149404197774547389507462779807727615
|
System logNl:(-820186817651640487320479808367534510238779540102526006236474836166734016865205999870833760242352512045225158774173869894826877890589130978987229877889333678492731896878236182891224254464936050871086340438798130266913122427332418216677813151305680453358955006355665628938266331979307689540884269372365762883678113227136498054422414501840232090872158915536978847443767922315217311444711397048331496139248250188991402851129033493732164230227458717486395514436574417275149404197774547389507462779807727615
|
||||||
* 765507696474864454832447821143032209556194237429024272487376513755618415740858933212778176226195677908876814855895611901838419364549855580388081219363378099926549770419687104031809304167273647479680584409544921582452247598843590335565958941218635089801691339265287920342381909847353843571491984747541378691432905678660731517460920201717549951480681654501180257614183394160869490681730637245109396396631700176391975994387097927483353281545628136320635813474136122790139443917922910896873631927820545774) asString.
|
* 765507696474864454832447821143032209556194237429024272487376513755618415740858933212778176226195677908876814855895611901838419364549855580388081219363378099926549770419687104031809304167273647479680584409544921582452247598843590335565958941218635089801691339265287920342381909847353843571491984747541378691432905678660731517460920201717549951480681654501180257614183394160869490681730637245109396396631700176391975994387097927483353281545628136320635813474136122790139443917922910896873631927820545774) asString.
|
||||||
System logNl: S'\0\0\0END OF MAIN\0AB\0\0\0C\0\0\0'.
|
System logNl: "\0\0\0END OF MAIN\0AB\0\0\0C\0\0\0".
|
||||||
|
|
||||||
|
|
||||||
//v1 := Stdio2 open: '/tmp/1.txt' for: 'w+'.
|
//v1 := Stdio2 open: '/tmp/1.txt' for: 'w+'.
|
||||||
|
Loading…
Reference in New Issue
Block a user