Alexey Andreev
2c10f253c5
Fix node.js tests on Windows agents in Teamcity
2017-05-10 16:46:49 +03:00
Anton Bannykh
2e9a59819a
JS: support internal visibility from friend modules
...
Friend modules should be provided using the -Xfriend-modules flag
in the same format as -libraries. No manual configuration required for
JPS, Gradle and Maven plugins.
Friend modules could be switched off using the -Xfriend-modules-disabled
flag. Doing that will
* prevent internal declarations from being exported,
* values provided by -Xfriend-modules ignored,
* raise a compilation error on attemps to use internal declarations from other modules
Fixes #KT-15135 and #KT-16568.
2017-05-04 21:44:17 +03:00
Alexey Andreev
6047746c90
Fix optimization in JS BE
...
Don't apply while condition folding when corresponding break
statement breaks outer loop.
2017-04-28 10:52:13 +03:00
Alexey Andreev
d89ce80d97
Fix temporary variable elimination in JS BE
...
Don't eliminate temporary variable when between its usage and its
definition there's assignment to a non-local variable.
Fix KT-17540
2017-04-28 10:51:30 +03:00
Zalim Bashorov
678d2e7c21
KJS: transform labeled blocks to labeled do-while
...
It's a workaround for JDK-8177691.
Such code can appear during inline.
2017-04-26 13:07:33 +03:00
Zalim Bashorov
76fa6ad5c2
KJS: switch to using Nashorn instead of Rhino for JS backend tests
2017-04-26 13:07:30 +03:00
Alexey Andreev
38aecb14a2
Improve Number.hashCode implementation in JavaScript
...
Fix KT-13577
2017-04-26 11:52:54 +03:00
Alexey Andreev
feb968e66d
JS: fix generation of names for local declarations
...
Local declarations obtain names prefixed with outer function's name.
Only simple name (i.e. without mangling) of outer function used
in this case. This raises a problem in case of inline functions
with object literals. Currently, they are not copied, but exported
from module. Consider two inline functions foo with different
signatures, both declare object literals. In this case both literals
are exported as foo$f, so only one will be accessible from outside.
2017-04-24 18:39:04 +03:00
Alexey Andreev
df46417cd7
JS: fix NPE in incremental compilation
...
Fix NPE when compiling project incrementally and a file which
is not recompiled contains try/catch statement
2017-04-24 18:39:03 +03:00
Alexey Andreev
1c2120d7e2
JS: avoid repeated export of the same declaration
2017-04-24 18:30:42 +03:00
Alexey Andreev
0058d2fdf6
JS: add some tests to ensure that AST metadata is correctly serialized and deserialized and visible to JS optimizer
2017-04-24 18:29:52 +03:00
Alexey Andreev
22f24d13b9
JS: transform coroutines before serializing AST to binary format
2017-04-24 18:29:49 +03:00
Alexey Andreev
02ca374dc9
JS: fix inlining in incremental compilation
2017-04-24 18:29:48 +03:00
Alexey Andreev
c85108602a
JS: add tests for recompilation of only some files in a project
2017-04-24 18:29:46 +03:00
Alexey Andreev
f82f5d0471
JS: add tests for private external declarations
2017-04-24 18:29:13 +03:00
Alexey Andreev
c1627e840b
JS: use eval instead of js in tests to refer local declarations to avoid renaming by resolveTemporaryNames
2017-04-24 18:29:12 +03:00
Alexey Andreev
9530ce6c26
JS: when resolving temporary functions, don't rely on JsScope hierarchy, build this hierarchy instead, based on scoping rules for function, var, etc expressions
2017-04-24 18:29:08 +03:00
Zalim Bashorov
25dd31a2e0
KJS: introduce new base class WebDemoExamples* tests
2017-04-24 17:59:08 +03:00
Zalim Bashorov
e1cf6445ee
KJS: make OutputPrefixPostfixTest generated and migrate to BasicBoxTest
2017-04-24 17:59:08 +03:00
Zalim Bashorov
7eb882ed27
KJS: switch sourcemap tests to generated using BasicBoxTest
2017-04-24 17:59:07 +03:00
Zalim Bashorov
725b0100e2
KJS: remove useless StdLibTest
2017-04-24 17:59:06 +03:00
Ilya Gorbunov
ec8ead754f
Run kotlin-test-js tests with kotlin-stdlib-js
...
Rework kotlin-test common tests to make them runnable with qunit.
Change the way how asserter is overridden in js box tests.
Minor: remove unneeded test configs
2017-04-21 20:51:07 +03:00
Zalim Bashorov
7cf684f624
KJS: remove unnecessary files from testData
2017-04-20 16:19:06 +03:00
Zalim Bashorov
c112542935
KJS: remove unnecessary test runners (mostly for stdlib)
...
Stdlib tests run separately via gradle.
2017-04-20 16:19:05 +03:00
Zalim Bashorov
5ef75e6e2b
KJS: remove PackageTest.java and move actual files to box/
2017-04-20 16:19:04 +03:00
Alexey Andreev
b11e33901b
Fix parsing of JavaScript number literals out of integer range
...
Fix KT-17219
2017-04-17 14:17:08 +03:00
Dmitry Petrov
e0ebaac70c
Perform additional checks on catch parameter declaration
...
KT-8320 It should not be possible to catch a type parameter type
KT-7645 Prohibit default value for `catch`-block parameter
2017-04-13 16:23:17 +03:00
Alexey Andreev
72898b378e
Add and target to prepare running tests in node.js
2017-04-11 16:15:26 +03:00
Alexey Andreev
7077de02e7
Fix passing non-string value to print/println in node.js
...
See KT-15484
2017-04-11 16:15:25 +03:00
Alexey Andreev
dbfa3fce2a
Fix running tests in node.js
2017-04-11 16:15:24 +03:00
Anton Bannykh
4086a84622
JS: add suffix '_test' to test module output files to avoid name conflicts (KT-16979)
...
Also stop setting AMD module ids explicitly.
2017-03-28 21:44:56 +03:00
Anton Bannykh
9b34e21619
JS: fixed <Type>Array.iterator methods; added -Xtypedarray compiler key
...
The <Type>Array.iterator used to lack next<Type>() method (KT-16626).
The -Xtypedarray compiler key enables translation of primitive arrays
to TypedArrays, and primitive array`is`-checks (KT-15358, KT-14007,
KT-14614, KT-16056).
2017-03-27 23:09:34 +03:00
Alexey Andreev
a6ca2906d8
JS: add tests for reflection against external classes
2017-03-07 10:46:08 +03:00
Alexey Andreev
723c9be5a0
JS: fix class literal expression with primitive classes. See KT-16545
2017-03-07 10:46:08 +03:00
Anton Bannykh
4c6b9b695c
JS: mute some tests with extension functions in external declarations
2017-03-03 21:39:40 +03:00
Anton Bannykh
9e5ecc11b7
JS: fixed Double.NaN behaviour (KT-13610).
2017-03-02 14:29:50 +03:00
Alexey Andreev
66f5a12cc4
JS: fix translation of && and || operators when their RHS declare temporary variables. See KT-16350
2017-02-22 11:10:07 +03:00
Alexey Andreev
86d1c7b7ec
JS: fix absence of temporary variable in secondary constructors. See KT-16377
2017-02-20 11:31:38 +03:00
Anton Bannykh
4c808e8691
JS: concat vararg arguments using Kotlin.concat and Kotlin.concatPrimitive functions in order to be binary compatible with (Kotlin PrimitiveArray -> JS TypedArrays) mapping.
2017-02-15 18:58:29 +03:00
Anton Bannykh
ad313750e7
JS: Fixed lateinit property initialization
2017-02-13 14:56:50 +03:00
Anton Bannykh
c7d4a4edf4
JS: test property inline through fake override
2017-02-09 15:46:06 +03:00
Anton Bannykh
a74fffeac8
JS: companion object dispatch receiver translation fixed (KT-16160); imported function inlining fixed.
2017-02-08 09:21:18 +03:00
Anton Bannykh
a2431f0d85
JS: fixed inlining functions called through inheritor ("fake" override) from another module (#KT-16144)
2017-02-08 09:19:50 +03:00
Alexey Andreev
0f049a90aa
JS: prohibit nested classes, objects and enums in external interface. See KT-16012
2017-02-03 11:09:09 +03:00
Ilya Gorbunov
38b79a51d5
Fix tests after introducing exlcusions to default imports of kotlin.js package.
2017-01-30 19:44:51 +03:00
Anton Bannykh
77aa685496
JS: char boxing
2017-01-30 16:31:44 +03:00
Zalim Bashorov
66fd566df0
KJS: fix inlining from modules with non valid identifier name
2017-01-27 23:13:53 +03:00
Ilya Gorbunov
3be1174824
Replace @native with external in tests
2017-01-27 01:29:15 +03:00
Ilya Gorbunov
c00d684ece
Fix deprecared API usages in test
2017-01-26 04:31:20 +03:00
Alexey Andreev
ba65e58fdd
JS: add checker to detect non-external declarations in files marked by JsModule or JsQualifier annotation
2017-01-25 13:52:19 +03:00