ljr/wcmtools/s2/BUGS

47 lines
1.3 KiB
Plaintext
Raw Normal View History

2019-02-05 21:49:12 +00:00
- precedence/parsing fucked with things like:
println (isnull $test ? "It's null" : "not null");
have to write:
println ((isnull $test) ? "It's null" : "not null");
- HTML backend will escape quotes in tripled quoted
TokenStringLiterals that weren't escaped originally
- in a foreach statement when iterating over hash keys,
you can extract them as ints or strings, regardless of
what they actually are. for the perl backend, this
doesn't really matter, but a better solution might have
to be found sometime.
- builtin functions can't be overridden by S2 functions
in subclasses? (look into this again)
- Confusing message when trying to interpolate an object without
a toString() method:
"Right hand side of + operator is Color, not a string or
integer at line 28, column 16"
TODO:
- don't make vardecls in foreach stmts require the type. infer it
instead from the listexpr type minus an arrayref
- static variables
- constructors with arguments
- 'readonly' class members
- private functions/members
GOTCHAS:
- this might be considered a bug:
function foo():string{ print "hi"; }
won't parse. the { after 'string' is parsed as part of the return
type. whitespace is required in there.
UPDATE: mart says this isn't a bug. :)