From 5521a0c81e788025b6c259e0790486e26b64b12c Mon Sep 17 00:00:00 2001 From: hyung-hwan Date: Sat, 2 Dec 2023 03:09:17 +0900 Subject: [PATCH] updating the compiler to recognize class-level variables accessors prefixed with self/super in assignment expressions --- t/class-01.err | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 t/class-01.err diff --git a/t/class-01.err b/t/class-01.err new file mode 100644 index 0000000..be4ac6b --- /dev/null +++ b/t/class-01.err @@ -0,0 +1,23 @@ +defclass B | x y | { + +}; + +defclass X ::: B | a b | { + defun ::* new(t) { + | a | + set self.a t; + set a 100; + set self.b (* t 2); + + set self.c (fun(b) { ##ERROR: unknown class-level variable name + printf "xxxx [%d]\n" b; + }); + return self; + }; + + defun print() { + self.c (+ self.a self.b); + printf "a=%d b=%d\n" self.a self.b; + } +}; +