hcl/t/var-5001.err

54 lines
1.0 KiB
Plaintext
Raw Normal View History

defclass A [ a ] {
2024-02-03 09:50:10 +00:00
defun :* init1() {
| b |
set b (+ 1 2);
set a b;
printf "init to %d\n" a;
return self;
};
2023-11-26 15:08:59 +00:00
{
## this must not be allowed at this level. if it's allowed,
## it should be at the top-level which is above the class level. this is confusing.
| j | ##ERROR: syntax error - variable declaration disallowed in class init scope
2023-11-26 15:08:59 +00:00
set j 20;
printf ">>> %d\n" j;
}
2024-02-03 09:50:10 +00:00
defun :* init2() {
| b |
set b (+ 10 20);
set a b;
printf "init to %d\n" a;
2023-11-26 15:08:59 +00:00
return self;
};
};
---
defun String length() { ##ERROR: syntax error - no argument list
}
---
class A [ 10 ] { ##ERROR: syntax error - not variable name - 10
}
---
class A [ a := 20 ] { ##ERROR: syntax error - := disallowed
}
---
class A [ [ [a] ] ] { ##ERROR: syntax error - not variable name
}
---
class A [ a + ] { ##ERROR: syntax error - prohibited binary operator - +
}
## TODO: This check is supposed to fail. + must be treated as a binop symbol
##---
2024-07-13 04:33:20 +00:00
##class A [ + ] { ## ERROR: syntax error - prohibited binary operator - +
##}