enhanced the compiler to show a proper message for a redundant class name defined with 'class'
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
@ -1,13 +1,26 @@
|
||||
(set t
|
||||
(defclass X
|
||||
| x |
|
||||
(defun ::* make() (set x 1234) self)
|
||||
(defun get-x() x)
|
||||
)
|
||||
)
|
||||
(if (nqv? t X) (printf "ERROR: t must point to X\n"))
|
||||
(printf "OK: t points to X\n")
|
||||
set t (
|
||||
class | x | {
|
||||
defun ::* make() { set x 1234; return self; };
|
||||
defun get-x() { return x };
|
||||
}
|
||||
);
|
||||
|
||||
(set t (:(:t make) get-x))
|
||||
(if (nqv? t 1234) (printf "ERROR: t must be 1234\n"))
|
||||
(printf "OK: t is %d\n" t)
|
||||
set X t;
|
||||
|
||||
if (nqv? t X) { printf "ERROR: t must point to X\n" }
|
||||
else { printf "OK: t points to X\n" };
|
||||
|
||||
set t ((t:make):get-x);
|
||||
|
||||
if (nqv? t 1234) { printf "ERROR: t must be 1234\n" }
|
||||
else { printf "OK: t is %d\n" t };
|
||||
|
||||
|
||||
set j #{ ((X:make):get-x): 9999, 4512: ((X: make): get-x) };
|
||||
set v (dic.get j 1234);
|
||||
if (nqv? v 9999) { printf "ERROR: v is not 9999\n" }
|
||||
else { printf "OK: value is %d\n" v };
|
||||
|
||||
set v (dic.get j 4512);
|
||||
if (nqv? v 1234) { printf "ERROR: v is not 1234\n" }
|
||||
else { printf "OK: value is %d\n" v };
|
||||
|
Reference in New Issue
Block a user