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

22
tests/js/t14153.nim Normal file
View file

@ -0,0 +1,22 @@
discard """
output: '''
index 5 not in 0 .. 2
index 5 not in 0 .. 2
'''
"""
var x = @[1, 2, 3]
try:
echo x[5]
except IndexError:
echo getCurrentExceptionMsg()
except:
doAssert false
try:
x[5] = 8
except IndexError:
echo getCurrentExceptionMsg()
except:
doAssert false