enhanced the reader and compiler to treat the binop expression like a message-send expression
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@ -1,5 +1,16 @@
|
||||
## test class instantiation methods
|
||||
|
||||
fun Number: + (oprnd) { return (+ self oprnd) }
|
||||
fun Number: - (oprnd) { return (- self oprnd) }
|
||||
fun Number: * (oprnd) { return (* self oprnd) }
|
||||
fun Number: / (oprnd) { return (/ self oprnd) }
|
||||
fun Number: > (oprnd) { return (> self oprnd) }
|
||||
fun Number: < (oprnd) { return (< self oprnd) }
|
||||
fun Number: >= (oprnd) { return (>= self oprnd) }
|
||||
fun Number: <= (oprnd) { return (<= self oprnd) }
|
||||
fun Number: == (oprnd) { return (== self oprnd) }
|
||||
fun Number: ~= (oprnd) { return (~= self oprnd) }
|
||||
|
||||
class A [ a b c ] {
|
||||
|
||||
defun :*newInstance(x y z) {
|
||||
@ -34,24 +45,24 @@ class B :: A [ d e f ] {
|
||||
};
|
||||
|
||||
a := ((B:newInstance 1 2 3):sum);
|
||||
if (a /= 18) { printf "ERROR: a must be 18\n"; } \
|
||||
if (a ~= 18) { printf "ERROR: a must be 18\n"; } \
|
||||
else { printf "OK %d\n" a; };
|
||||
|
||||
b := (B:newInstance 2 3 4);
|
||||
a := (b:get-a);
|
||||
if (a /= 4) {printf "ERROR: a must be 4\n" } \
|
||||
if (a ~= 4) {printf "ERROR: a must be 4\n" } \
|
||||
else { printf "OK %d\n" a };
|
||||
|
||||
a := (b:get-b);
|
||||
if (a /= 6) { printf "ERROR: a must be 6\n" } \
|
||||
if (a ~= 6) { printf "ERROR: a must be 6\n" } \
|
||||
else { printf "OK %d\n" a };
|
||||
|
||||
a := (b:get-c);
|
||||
if (a /= 8) { printf "ERROR: a must be 8\n" } \
|
||||
if (a ~= 8) { printf "ERROR: a must be 8\n" } \
|
||||
else {printf "OK %d\n" a };
|
||||
|
||||
a := (b:sum);
|
||||
if (a /= 27) { printf "ERROR: a must be 27\n" } \
|
||||
if (a ~= 27) { printf "ERROR: a must be 27\n" } \
|
||||
else { printf "OK %d\n" a };
|
||||
|
||||
## super is equivalent to self unless a message is sent to it.
|
||||
|
Reference in New Issue
Block a user