Commit Graph

87580 Commits

Author SHA1 Message Date
wrongwrong 6ecb5a1bd3 Fix ReadMe 2021-11-19 14:48:22 +01:00
Svyatoslav Scherbina 9476d4c647 Native: use Gradle exec for jsinterop invocation in jsinterop_math test
The previous implementation didn't log anything, including stdout,
stderr and the command line, and didn't detect non-zero exit code,
making it hard to investigate the test failures.
2021-11-19 11:54:46 +00:00
Pavel Punegov c5a02902a7 [K/N][build] Add artifacts depending on input in library task
Depending on noPack option compiler produces file or directory.
Artifact field that contains .klib file can't use @OutputDirectory
annotation. The same applies for @OutputFile with directory.
To workaround make an artifact field internal and use two optional
fields that return either file or directory depending on noPack option.
2021-11-19 11:29:53 +00:00
Pavel Punegov e3ac2b661a [K/N][build] Remove artifact overriding in library task
Depending on noPack option compiler produces file or directory.
Artifact field that contains .klib file can't use @OutputDirectory
annotation. The same applies for @OutputFile with directory.
2021-11-19 11:29:53 +00:00
Pavel Punegov cc7768e38f [K/N] Konan: override artifact property to use with OutputDirectory 2021-11-19 11:29:52 +00:00
Pavel Punegov f7e2572ccc [K/N][build] Add noPack option to Konan plugin
Make plugin aware of -nopack compiler option to correctly set outputs
without .klib suffix.
2021-11-19 11:29:52 +00:00
Sergej Jaskiewicz 060074a9d6 [JS IR] Don't concatenate string template segments with '' when possible
If concatenating with an empty string is a sure no-op, just don't do it.
2021-11-19 11:16:33 +00:00
Ilya Chernikov cad57e693f FIR: introduce declaration origin for binary classes from source module
in particular for incremental compilation when module is only partially
recompiled.
#KT-49750 fixed
2021-11-19 08:36:15 +01:00
Ilya Chernikov f324a81de7 Implement (failing) test for FIR IC - as in KT-49750 2021-11-19 08:36:15 +01:00
Alexander Udalov 59c5dddc88 Remove unused PrecomputedSuppressCache 2021-11-18 23:17:34 +01:00
Roman Artemev a0d67cb2e3 [JS IR] Support throwing linkage error in JS IR BE
- lower it into runtime API call
2021-11-19 01:16:37 +03:00
Roman Artemev 7f27ebc589 [JS IR] Add API to js runtime to throw linkage errors 2021-11-19 01:16:35 +03:00
Roman Artemev 53a65f818f [KLIB] Support partially linked klibs in Ir linker
Now it's possible to compile against klib even if in there are
references to declarations from other klibs which are no longer existed

 - add switch flag to turn on/off that mode
 - pass switch flag from JS CLI to JS Linker
2021-11-19 01:16:35 +03:00
Roman Artemev 650b04b4dd [JS IR] Make assert checks no unbound symbols left conditional 2021-11-19 01:16:34 +03:00
Roman Artemev e4585730d6 [IR] Add platform-agnostic builtin to throw linkage error 2021-11-19 01:16:33 +03:00
Roman Artemev 7d8f71d107 [JS IR] Add CLI flag and configuration key about partial linkage
- make possible to turn on/off linkage if klib contains unbound symbols
 - update jsExtraHelp test data
2021-11-19 01:16:32 +03:00
Roman Artemev 8381badcc4 [KLIB] Make IrModuleDeserializer constructor nullable 2021-11-19 01:16:30 +03:00
Roman Artemev 918ed1f077 [KLIB] Refactored IrSymbolDeserializer.kt
- extract function which creates a new symbols in linker
2021-11-19 01:16:29 +03:00
Roman Artemev df9d039c03 [KLIB] Don't use module descriptor to compute library in error reporter 2021-11-19 01:16:28 +03:00
Anton Bannykh de0b3e5b20 [JS IR] temporary skip some IC checks 2021-11-19 00:39:40 +03:00
Anton Bannykh 75368a2c06 [JS IR] tie together IC code in tests and K2JsIrCompiler 2021-11-19 00:39:37 +03:00
Anton Bannykh ff02ea5840 [JS IR] advance stage in regular mode when needed 2021-11-19 00:39:32 +03:00
Anton Bannykh 7d7dd3fe97 [JS IR] better tags + bare parameter names 2021-11-19 00:39:29 +03:00
Anton Bannykh f9e62f8ffa [JS IR] expose currentStage via the stageController
Otherwise the signatures for the declarations, created in lowerings,
will be miscalculated.
2021-11-19 00:39:24 +03:00
Anton Bannykh f413d7fd75 [JS IR] make using the original parameter names possible 2021-11-19 00:39:18 +03:00
Anton Bannykh e342ade00a [JS IR] fix inline graph tracker for file-local signatures 2021-11-19 00:39:15 +03:00
Anton Bannykh 56e1c4e38f [JS IR] IrFactory which saves signatures for declarations created in BE 2021-11-19 00:39:12 +03:00
Anton Bannykh 4e0d91d463 [JS IR] don't pack tests for kolin.test library into the klib. 2021-11-19 00:39:09 +03:00
Anton Bannykh ee6d3ea281 [JS IR] mark coroutine intrinsics as inline
They are de-facto inlined, but their bodies don't get
loaded when using the "no bodies except for inline functions"
deserializtion mode.
2021-11-19 00:39:06 +03:00
Anton Bannykh e972ad9855 [JS IR] improved missing body reporting for inliner 2021-11-19 00:39:03 +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 953089a4b9 [JS IR] suport SuspendN.invoke functions 2021-11-19 00:38:51 +03:00
Anton Bannykh b684c2f8d7 Revert "JS IR gradle plugin: don't run IC for the main module"
This reverts commit 525c5b886f.
2021-11-19 00:38:48 +03:00
Anton Bannykh 1ae042edc3 [JS IR] make old Ir2Js pass all tests 2021-11-19 00:38:46 +03:00
Anton Bannykh d565cc4262 [JS IR] support new Ir2Js in tests and in K2JsTranslator 2021-11-19 00:38:42 +03:00
Anton Bannykh 3c859138d1 [JS IR] support source maps in new Ir2Js 2021-11-19 00:38:33 +03:00
Anton Bannykh a7d8c34927 [JS IR] support generateScriptModule 2021-11-19 00:38:30 +03:00
Anton Bannykh 0506d422a3 [JS IR] support per-module in the new Ir2JS 2021-11-19 00:38:27 +03:00
Anton Bannykh 1f55dc73d2 [JS IR] don't inline property accessors across files 2021-11-19 00:38:24 +03:00
Anton Bannykh bdf31b8e52 [JS IR] unmute enumUsage IC test 2021-11-19 00:38:21 +03:00
Anton Bannykh 03b9caa439 [JS IR] export external declarations 2021-11-19 00:38:15 +03:00
Anton Bannykh ee8351b9c9 [JS IR] remove unused property 2021-11-19 00:38:11 +03:00
Anton Bannykh 0b0ed5241c [JS IR] remove unused method 2021-11-19 00:38:09 +03:00
Anton Bannykh 3617c1388c [JS IR] improve the hacky fix 2021-11-19 00:38:06 +03:00
Anton Bannykh 46a23c70df [JS IR] hacky fix for local variables name binding 2021-11-19 00:38:03 +03:00
Anton Bannykh e4c668462c [JS IR] fix field namer 2021-11-19 00:38:00 +03:00
Anton Bannykh 5100cb058f [JS IR] local var clashes 2021-11-19 00:37:55 +03:00
Anton Bannykh 05e8bfcd2a [JS IR] split fqn-ish JsNames before resolving temporary names 2021-11-19 00:37:45 +03:00
Anton Bannykh a5d9cb0cc6 [JS IR] copy class models 2021-11-19 00:37:40 +03:00