updating the compiler to recognize class-level variables accessors prefixed with self/super in assignment expressions
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:
@ -9,6 +9,7 @@ check_SCRIPTS = \
|
||||
va-01.hcl
|
||||
|
||||
check_ERRORS = \
|
||||
class-01.err \
|
||||
do-01.err \
|
||||
do-02.err \
|
||||
feed-01.err \
|
||||
|
@ -480,6 +480,7 @@ check_SCRIPTS = \
|
||||
va-01.hcl
|
||||
|
||||
check_ERRORS = \
|
||||
class-01.err \
|
||||
do-01.err \
|
||||
do-02.err \
|
||||
feed-01.err \
|
||||
|
23
t/class-01.err
Normal file
23
t/class-01.err
Normal file
@ -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: syntax 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;
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user