Zalim Bashorov
27988cd2f4
Remove the version of fail.kt that was "hacked" for JS IR BE tests
2018-04-25 22:21:22 +03:00
Zalim Bashorov
34587d9192
[JS IR BE] unmute tests
2018-04-25 22:20:43 +03:00
Roman Artemev
61e051cafa
Update test data
2018-04-24 14:04:16 +03:00
Roman Artemev
ec57a335f7
Temporally hacked js assert to make depending tests work
2018-04-24 13:52:16 +03:00
Zalim Bashorov
d03a128aa5
[JS IR BE] mute failed tests
2018-04-19 13:17:28 +03:00
Alexey Tsvetkov
87558873b5
Fix source element for JsSwitch generated from 'when'
...
Before this change we set JsSwitch source to subject's JsExpression.
We ignore these types of source elements during:
1. js ast serialization (see 'JsAstSerializer.extractLocation');
2. source map generation (see 'SourceMapBuilderConsumer.addMapping').
However we might add indent during source generation
(see 'JsToStringGenerationVisitor.pushSourceInfo').
That seemingly broken 'testEnumEntryRemoved' in
'IncrementalJsCompilerRunnerTestGenerated.ClassHierarchyAffected',
because deserialized ast during incremental build would not
have source element at all (JsExpression was ignored), but ast
during rebuild would have JsExpression source element.
2018-04-19 05:18:54 +03:00
Roman Artemev
3ce324fa9d
Add tests for secondary constructors
2018-04-10 15:45:55 +03:00
Anton Bannykh
7cde03938a
Fix some Unit materialization bugs
2018-03-26 20:07:00 +03:00
Anton Bannykh
04cbea4956
JS: fix Long constant translation (KT-19228 fixed)
2018-03-15 14:58:10 +03:00
Anton Bannykh
eabe21726c
JS: improve switch elimination
2018-02-21 18:39:19 +03:00
Alexander Udalov
d356f52873
JS: remove MULTIPLATFORM directive from box tests
...
Move all sources into one module and use "!LANGUAGE:
+MultiPlatformProjects" instead
2018-02-05 13:38:05 +01:00
Ilya Gorbunov
e2306ecf94
Keep exception primary constructors for binary compatibility in JS
...
Resort to a workaround for KT-22053 in direct Throwable inheritors.
2017-12-29 21:21:20 +03:00
Ilya Gorbunov
3825187e93
Update expected reachable node count
2017-12-29 21:20:59 +03:00
Anton Bannykh
2df85ae4a9
kotlin-test-js: pass test function result to test framework (e.g. Promise)
2017-12-27 19:57:49 +03:00
Anton Bannykh
79359b7bc2
JS: test kotlin-test as box tests, support nested, fix mpp
...
Support tests inside nested classes and companion objects (KT-21850
fixed).
Don't launch multiplatform tests twice (KT-21567 fixed).
2017-12-27 15:22:26 +03:00
Anton Bannykh
6bee5699a0
Migrate node_utils.xml to Gradle
2017-12-14 17:41:20 +03:00
Alexey Tsvetkov
c13b2a6bbc
Test incremental recompilation of enum usage in JS
2017-12-11 17:20:14 +03:00
Alexey Andreev
45e5cc190f
Update DCE limits in JS tests
2017-12-04 11:25:39 +03:00
Alexey Andreev
19438a3a07
JS: fix losing lambda in inline function after incremental compilation
...
See KT-21493
It's hard to maintain staticRef in cached AST. In fact, we don't need
it in this optimization. We'll get excessive names in used set,
which is ok: non-function names don't matter, they'll be simply ignored.
One possible concern: there's more chance to get name same to
some function's name and it won't be removed. First, it's not fatal,
it won't break the code (but put some excessive code that will likely
be removed by DCE). Second, there's same chance of two functions
having same names, and we manage to avoid this (otherwise we'll get
many problems).
2017-11-29 11:53:35 +03:00
Alexey Andreev
29b494cdac
JS: don't optimize when over external enum
...
See KT-21468
2017-11-29 11:52:36 +03:00
Alexey Andreev
7bee2ceac7
JS: add boxing/unboxing to default accessors of non-simple properties
...
See KT-21421
2017-11-27 17:01:19 +03:00
Alexey Andreev
6ab87ad66a
Fix failing JS tests
2017-11-27 17:01:15 +03:00
Alexey Andreev
88441da131
JS: cache PropertyMetadata objects in property delegates
...
Also, remove unused PropertyMetadata instances
See KT-20737, KT-20738
2017-11-21 12:21:22 +03:00
Alexey Andreev
7ebfba3722
JS: apply boxing when initializing val parameter of type Char
...
See KT-20854
2017-11-21 12:20:01 +03:00
Alexey Andreev
32a0221474
JS: refactor code that copies default methods in interfaces to classes
...
Als fixes KT-21245
2017-11-21 12:18:16 +03:00
Alexey Andreev
38e50e964a
JS: fix generation of source map for inline lambda with ignored result
...
See KT-21309
2017-11-21 12:15:25 +03:00
Alexey Andreev
89db4dfe79
JS: translate when against enum to JsSwitch when possible
2017-11-17 11:07:41 +03:00
Alexey Andreev
678b4c67c1
JS: translate when to JsSwitch when possible
...
See KT-21160
2017-11-17 11:07:38 +03:00
Alexey Andreev
b93acb07d2
JS: don't remove debugger statement from coroutine
...
See KT-19826
2017-11-17 11:07:36 +03:00
Zalim Bashorov
4849bddde1
KJS: write minification's test results to separate directory
...
It allows excluding this directory from indexing inside IDEA
and probably simplifies the main workflow.
2017-11-16 15:36:20 +03:00
Alexey Andreev
ec53f9b254
JS: don't emit short circuit operators for boolean and/or
...
See KT-21004
2017-11-08 16:10:57 +03:00
Alexey Andreev
132285ea03
JS: optimize loop over array.withIndex()
...
See KT-20932
2017-11-03 17:36:05 +03:00
Alexey Andreev
1be86e05ae
JS: optimize range check for int and long
...
See KT-2218
Additionally, fix temporary variable elimination for && and ||
2017-11-03 17:35:17 +03:00
Alexey Andreev
6b43465ed8
JS: add tests to check if super.equals/hashCode works properly
...
See KT-8226
2017-10-30 13:12:10 +03:00
Alexey Andreev
e9e01b70a8
JS: fix super access to simple non-overridable properties
...
See KT-7653
2017-10-30 13:12:09 +03:00
Alexey Andreev
6adb62f3a2
JS: prohibit declaration names that clash with JS builtin functions
...
See KT-18095, KT-17475, KT-18105, KT-5259
2017-10-23 17:19:52 +03:00
Alexey Andreev
e1f8bac4d5
JS: several bugfixes in incremental compilation
...
1. Fix exported packages sometimes being mixed up
2. Fix metadata losing package fragments sometimes
3. Don't serialize empty packages to .meta.js
4. Preserve order of package fragments in .meta.js
5. In IC tests, compare textual representation of metadata rather
than binary representation
2017-10-23 17:19:51 +03:00
Alexey Andreev
cb0482f53e
JS: fix crash when js function contains for statement w/o initializer
...
Fix KT-20898
2017-10-23 17:19:49 +03:00
Alexey Andreev
b781661279
JS: fix copying functions with default arguments across interfaces
...
Copy function to super interface first, then copy from interface
to class. Add interface set to JsClassModel for this purpose.
See KT-20625
2017-10-19 13:10:47 +03:00
Alexey Andreev
d4ea4983d8
JS: support integer overflow semantics for unary minus operator
...
See KT-19290
2017-10-19 12:59:09 +03:00
Alexey Andreev
46526db8f0
JS: fix behaviour of char-returning functions with multiple inheritance
...
See KT-19772
2017-10-16 18:56:33 +03:00
Anton Bannykh
b5d32f420d
JS: correct Double and Float conversions to Int (KT-8374 fixed)
2017-10-13 20:29:28 +03:00
Anton Bannykh
ac508a510e
JS: Support isInitialized intrisic for lateinit properties
2017-10-11 19:23:49 +03:00
Alexey Andreev
06b1ba7c47
JS: use prototype when checking is against interface
...
See KT-20527
2017-10-11 17:35:31 +03:00
Alexey Andreev
8cdef4139e
Fix JS DCE removing reachable functions
2017-10-10 18:59:18 +03:00
Alexey Andreev
8f9fc100a3
Fix compilation of JS stdlib
...
1. Don't import intrinsics when compiling stdlib, use declarations
from current module instead
2. Add constructor with one argument to SourceFilePathResolver,
to fix bootstrapping issues.
3. Pass correct source roots to compiler when building
stdlib, since now we pass module root by default,
while stdlib source roots are outside of module root.
2017-10-10 14:11:15 +03:00
Alexey Andreev
3b3fd0fa0d
JS: fix DCE limits in test data to fit new kotlin.js size
...
The size has increased due to new implementation of KClass
2017-10-06 18:16:51 +03:00
Alexey Andreev
93a3026c6d
JS: improve representation of KClass for primitive types
...
See KT-17933, KT-17629, KT-17760
2017-10-06 15:21:38 +03:00
Alexey Andreev
27e319a279
JS: fix parsing of object literals in js() function.
...
Also, fix generation of source maps of content of js() function.
See KT-19794
2017-10-04 12:01:51 +03:00
Alexey Andreev
992cc61abc
JS: prove that KT-15292 is no more reproducible
2017-09-29 14:32:48 +03:00