many bugfixes for js (#14158)

* many bugfixes for js

fixes #12672, fixes #14153, closes #14123, closes #11331, fixes #11783, fixes #13966, fixes #14087, fixes #14117, closes #12256.

mostly fixes the fact that it was allowed to assign to newly created temp variables. additionally attempts to get rid of null initialized seqs/strings (though they might pop up here and there); this simplifies a lot of things and makes code size smaller. even if null seqs/strings pop up here and there it's still better than all those bugs existing.

* formatting fixes

* CI fixes

* more CI fixes
This commit is contained in:
hlaaftana 2020-04-29 21:55:09 +03:00 • committed by GitHub
commit 707367e1ca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 240 additions and 65 deletions

View file

@ -62,8 +62,8 @@ block:
result = result and obj1.`&&`.addr[] == "bar".cstring
result = result and obj2.`if` == 0
result = result and obj2.`for` == 0
result = result and obj2.`==`.isNil()
result = result and obj2.`&&`.isNil()
result = result and obj2.`==`.len == 0
result = result and obj2.`&&`.len == 0
echo test()
# Test codegen for fields with uppercase letters: