Commit Graph

19 Commits

Author SHA1 Message Date
Anton Bannykh b389e29db5 JS: update DCE testdata 2018-09-12 09:49:25 +03:00
Zalim Bashorov d03a128aa5 [JS IR BE] mute failed tests 2018-04-19 13:17: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
Anton Bannykh e43a145614 fixup: updated EXPECTED_REACHABLE_NODES 2017-07-19 12:24:09 +03:00
Alexey Andreev 3ae214b97a Fix reified parameters with non-identifier names in JS
See KT-18169
2017-06-20 10:41:52 +03:00
Alexey Andreev a0ddbf0e9b Fix handling non-ES5 identifiers in JS
When a Kotlin identifiers contains non-ES5 chars, JS BE
either reports error (for published declarations) or mangles name
(for non-published ones). The old approach relied on wrong
assuption that Java identifier = ES identifier.
However, that's not true. This commit introduces functions that
check identifiers according to ES5.1 spec rather than
using Character.isIdentifierStart[Part]

See KT-17476
2017-05-29 15:37:29 +03:00
Alexey Andreev e2c2fcf1ff Generate EXPECTED_REACHABLE_NODES directive on JS box tests 2017-05-26 18:20:20 +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 aedf8bd232 JS: replace noImpl with definedExternally in tests 2017-01-24 20:14:31 +03:00
Zalim Bashorov d635d7859e KJS: remove obsolete kotlin.modules 2017-01-18 14:40:48 +03:00
Alexey Andreev 900adcf29b JS: prohibit stable (public) names with non-identifier chars. Rewrite unstable (private) names with non-identifier chars. See KT-4160 2016-12-30 16:21:18 +03:00
Alexey Andreev 79ba6a57d6 JS: report errors on different external items:
* data classes
* val/var parameters of primary constructors
* enum entry with body
* anonymous `init {}` block in classes
2016-12-29 16:00:35 +03:00
Alexey Andreev 68412ae94f JS: replace all usages of @native annotation with external modifier, in tests, stdlib, etc 2016-12-08 15:41:39 +03:00
Zalim Bashorov ef11393462 KJS: add multimodule version of inheritFromRenamedNativeClass 2016-11-17 16:22:31 +03:00
Zalim Bashorov c25dfe997c KJS: fix inheritance from renamed native classes 2016-11-17 16:17:43 +03:00
Alexey Andreev 6f7e7d8504 KT-2752: fixes after code review 2016-10-08 19:25:49 +03:00
Alexey Andreev aa5d15cff7 KT-2752: minor fixes after code review 2016-10-08 19:25:43 +03:00
Alexey Andreev fb7f221158 KT-2752: add test to ensure that JsName affects classes 2016-10-08 19:25:40 +03:00
Alexey Andreev 5ce158f297 KT-2752: add basic tests for JsName 2016-10-08 19:25:28 +03:00