Commit Graph

52 Commits

Author SHA1 Message Date
Kirill Rakhman f9540d8f69 [JS] Remove non-functional IGNORE_FIR directive in js box tests 2023-04-06 08:03:12 +00:00
Nikolay Lunyak bdc3b5fe6f [FIR JS] Mute 170 failing multi-module tests 2022-06-02 13:47:24 +00:00
Anton Bannykh 1b631da3a0 [JS IC] fix cross-module nested class references and interface inheritance
^ KT-50528 fixed
2021-12-29 16:04:06 +03:00
Roman Artemev 723ef8f1fb [KLIB] Deserialize backing field initializers of const in IB-only mode
Missing const initializer leads to crash in property accessors inline
lowering during IC recompilation on JS.

 - fix #KT-50512
 - add test for JS IR IC
2021-12-27 23:43:43 +03:00
Anton Bannykh 4d8926cf26 [JS IR] IC: support per-module layout 2021-12-22 10:13:07 +03:00
Anton Bannykh 670572bbc6 [JS IR] IC: test private declarations with same names 2021-12-22 10:13:07 +03:00
Anton Bannykh d74ab1538b [JS IR] fix IC pipeline and unmute tests 2021-11-29 21:09:33 +03:00
Anton Bannykh de0b3e5b20 [JS IR] temporary skip some IC checks 2021-11-19 00:39:40 +03:00
Anton Bannykh bb601042df [JS IR] unmute most RECOMPILE IR tests 2021-11-19 00:38:58 +03:00
Anton Bannykh 58bd4ffd71 [JS IR] disable some AST checks for now 2021-11-19 00:38:55 +03:00
Anton Bannykh bdf31b8e52 [JS IR] unmute enumUsage IC test 2021-11-19 00:38:21 +03:00
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Ivan Kylchik edd608446e [TESTS] Move WITH_RUNTIME directive to file level 2021-11-08 23:50:34 +03:00
Ivan Kylchik 32e6d3908d [JS TESTS] Move MODULE_KIND directive to module level 2021-10-25 00:14:19 +03:00
Anton Bannykh c2f7ed2fff [JS IR] added a directive to skip IC checks in IR 2021-10-15 20:14:53 +03:00
Sergej Jaskiewicz 65d40c2253 [JS IR] Make tests that use directives pass with IR BE 2021-10-06 09:23:50 +00:00
Abduqodiri Qurbonzoda dabf6376db Update js reachable nodes count after expanding StringBuilder api 2019-12-06 05:37:09 +03:00
Anton Bannykh b61a520da9 [JS IR BE] unmute tests 2019-03-15 14:07:53 +03:00
Svyatoslav Kuzmich 41a45d98e7 [JS IR BE] Regenerate & unmute tests 2019-03-15 13:53:23 +03:00
Svyatoslav Kuzmich 0f07209490 [JS IR BE] Remove unnecesary println from tests 2019-03-15 13:53:21 +03:00
Roman Artemev 5033d99380 [JS IR BE] Update test data 2019-03-04 23:24:16 +03:00
Svyatoslav Kuzmich a736756ceb [JS IR BE] Fix and refactor interop tests 2019-02-25 15:09:27 +03:00
Svyatoslav Kuzmich 0ff23544fc [JS IR BE] Initial support for mudule wrapper generation 2019-02-12 18:45:35 +03:00
Anton Bannykh 5c7072ec44 JS: add incremental suspend inline test 2019-01-29 13:16:39 +03:00
Anton Bannykh 4c5201d30e JS: fix module parameter linking 2018-11-07 12:06:09 +03:00
Anton Bannykh 29ff4d6677 [JS IR BE]: Disable incremental compilation tests until IC is supported 2018-10-18 14:24:05 +03:00
Anton Bannykh b389e29db5 JS: update DCE testdata 2018-09-12 09:49:25 +03:00
Roman Elizarov e2713501ce Rename SuccessOrFailure to Result and hide Failure from ABI
* The members of Result are isSuccess, isFailure, exceptionOrNull, getOrNull
* The rest of API is implemented via inline-only extensions
* There are two internal functions to hide detailed mechanics of an internal
  Result.Failure class: createFailure and throwOnFailure
* Result.toString is explicit: either Success(v) or Failure(x)

See KT-26538
2018-09-09 11:34:31 +03:00
Anton Bannykh 9af8fad43f JS: more coroutines 1.3 API related fixes 2018-08-30 16:24:45 +03:00
Anton Bannykh 8975a6e17e JS: adapt to 1.3 coroutines API
Also update a line number test
2018-08-30 16:24:43 +03:00
Anton Bannykh a83baee67b review fixes + DCE data update + test (un)muting 2018-08-30 14:57:27 +03:00
Zalim Bashorov 289ff845c4 Minor: remove extra slash from a testdata file 2018-08-09 16:22:25 +03:00
Zalim Bashorov d03a128aa5 [JS IR BE] mute failed tests 2018-04-19 13:17:28 +03:00
Alexey Tsvetkov c13b2a6bbc Test incremental recompilation of enum usage in JS 2017-12-11 17:20:14 +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 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
Anton Bannykh b5d32f420d JS: correct Double and Float conversions to Int (KT-8374 fixed) 2017-10-13 20:29:28 +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 95566b1374 JS: fix serialization of fileId in case of incremental compilation 2017-09-26 13:56:19 +03:00
Alexey Tsvetkov 1c4ada2008 Fix searching serialized classes package contains multiple fragments 2017-08-29 04:28:03 +03:00
Anton Bannykh e43a145614 fixup: updated EXPECTED_REACHABLE_NODES 2017-07-19 12:24:09 +03:00
Alexey Andreev a0e1bde594 Allow to embed source files into JS source maps 2017-06-26 18:15:28 +03:00
Alexey Andreev 3180ea24d1 Fix assertion in test for reimporting declarations in JS 2017-06-05 11:21:41 +03:00
Alexey Andreev 1df6f2f9a0 JS BE: expose imported modules via $$importsForInline$$ property
... and use it as prefix to FQN in inline functions. This allows
to properly inline function declared in module A to module B,
when this function calls another function in module C.

See KT-18201
2017-06-02 14:18:42 +03:00
Alexey Andreev e2c2fcf1ff Generate EXPECTED_REACHABLE_NODES directive on JS box tests 2017-05-26 18:20:20 +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