hcl/t/class-5001.err
hyung-hwan b91e48d2a1
All checks were successful
continuous-integration/drone/push Build is passing
added hcl_seterrbfmtloc() and hcl_seterrufmtloc()
added the errloc field to hcl_t to capture the exception location
2024-04-05 01:26:02 +09:00

54 lines
769 B
Plaintext

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;
}
};
---
defclass X {
defun :* xxx() {
return X;
}
defun :* qqq() {
return "hello"
}
defun String:length() { ##ERROR: syntax error - function name not valid
return (str.length self)
}
}
---
defclass X {
defun :* xxx() {
return X;
}
defun :* qqq() {
return "hello"
}
}
## this will trigger a runtime error as J isn't a class name
defun J:ccc() { ##ERROR: exception not handled
return 999
}