Commit Graph

2915 Commits

Author SHA1 Message Date
Artem Kobzar 044c0adae7 [K/JS] Implement an incremental compilation for the per-file granularity 2023-07-19 15:57:56 +00:00
Dmitriy Dolovov ce815968cf [Native][tests] Use convention fun generatedTestDir() in build.gradle.kts 2023-07-17 21:09:40 +00:00
Dmitriy Dolovov 938146749d [PL][tests] K/JS: Avoid any unexpected warnings to appear in tests 2023-07-17 21:09:40 +00:00
Dmitriy Dolovov 715aba3d18 [PL][tests] K/JS: Run compiler through CLI interface 2023-07-17 21:09:40 +00:00
Alexander Korepanov a588e75c11 [JS IR] Optimize JS AST for closures
^KT-58891 Fixed
2023-07-13 16:37:18 +00:00
Alexander Korepanov 524c475834 [JS IR] Implement MoveTemporaryVariableDeclarationToAssignment optimization 2023-07-13 16:37:18 +00:00
Alexander Korepanov 25f7b81d51 [JS IR] Drop TemporaryAssignmentElimination optimization
Enable TemporaryAssignment tests
2023-07-13 16:37:17 +00:00
Dmitriy Novozhilov e7a10057f2 [Test] Use special test facade for IR actualization and IR plugins in all codegen configurations
Previously application of plugins was part of fir2ir conversion and
  ir actualization was the responsibility of each specific IR backend
  facade. Now (after moving IR extensions after IR actualization) those
  actions are extracted into separate facade for two purposes:
1. Avoid code duplication in backend facades
2. Step with this facade goes exactly after fir2ir conversion before
   irHandlersStep, which allows IR handlers to observe IR which was
   actualized and modified by extensions, which is quite useful

^KT-56173
2023-07-07 11:26:15 +00:00
Dmitriy Novozhilov 8e73d5a54a [FIR] Run irGenerationExtensions after IR actualization
^KT-56173 Fixed
2023-07-07 11:26:15 +00:00
Ilya Goncharov b6803b2400 [JS] Migrate web demo examples 2023-07-06 08:08:55 +00:00
Ilya Goncharov b5a7b9c661 [JS] Migrate multi module order test 2023-07-06 08:08:55 +00:00
Ilya Goncharov 08c04af5b5 [JS] Remove legacy line numbers test 2023-07-06 08:08:55 +00:00
Artem Kobzar 966a342bf1 [K/JS] Migrate invalidation tests to ES modules 2023-06-30 16:13:35 +00:00
Ilya Goncharov 0ac0c51c23 [JS] Remove Ant js test 2023-06-29 14:25:45 +00:00
Ilya Goncharov b0b266b73d [JS] Fix test of Ir Stdlib api 2023-06-29 14:25:45 +00:00
Svyatoslav Kuzmich 736519c506 [JS] Rename JsLibraryProvider to LibraryProvider
This class is not JS-specific and can be used in Wasm test services
2023-06-25 10:18:50 +02:00
Artem Kobzar 64158a8a2f [K/JS] Add file-to-file compilation ^KT-6168 Fixed 2023-06-22 18:23:45 +00:00
Ilya Goncharov 1c89a7e400 [JS] Remove legacy and output prefix-postfix tests 2023-06-22 12:25:24 +00:00
Ilya Goncharov 1465abcfed [JS] Source map to IR 2023-06-22 12:25:24 +00:00
Ilya Goncharov 5783693039 [JS] Remove js legacy codegen 2023-06-22 12:25:24 +00:00
Dmitriy Dolovov 2e43fa7cd0 [PL][tests] Adapt tests for K/N to the conditions when static cache is used w/o lazy IR 2023-06-22 08:10:11 +00:00
Dmitriy Novozhilov ba41e8ec38 [IR] Use common expect/actual matching algorithm in IR actualizer
^KT-58578 Fixed
2023-06-10 07:33:29 +00:00
Dmitriy Novozhilov 7eca772ec2 [JS Test] Introduce tests for loading metadata produced by JS compiler 2023-06-07 10:58:01 +00:00
Alexander Korepanov 82a1242f22 [JS IR] Add tests for JS IR IC + PL
^KT-57347 related
2023-06-06 09:27:57 +00:00
Nikolay Lunyak 70605c84df [FIR Native] KT-58549: Get rid of the builtin provider
According to
`FirNativeCodegenBoxTestGenerated.testNestedClassesInAnnotations`,
the annotation
`kotlin.internal.PlatformDependent` is
unresolved reference.

^KT-58549 Fixed
2023-06-01 10:27:54 +00:00
Vladimir Sukharev a534708900 [K2/N] Use FqName to mangle invisible class-like symbol in fake override
^KT-57484

Merge-request: KT-MR-10263
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-05-24 07:34:11 +00:00
Alexander Korepanov e4d7897071 [JS IR] Check fir compilation errors after checking IC next round 2023-05-23 10:13:26 +00:00
Nikolay Lunyak d72a50b3f5 [FIR] KT-58065: Support LT in K2JsIrCompiler 2023-05-16 12:11:46 +00:00
Alexander Korepanov 1920bbde07 [K/JS] Enable partial linkage tests 2023-05-11 12:37:01 +00:00
Ivan Kochurkin 988927154e [Tests] Extract common dependentIrModuleFragments and diagnosticReporter for IrBackendInput 2023-05-09 20:50:01 +00:00
Alexander Korepanov 2aea5822b2 [JS IR] Unmute all fir invalidation tests 2023-05-01 12:56:12 +00:00
Dmitriy Dolovov e85406b561 [PL][tests] Learn PL test infra to work with JS files
^KT-57378
2023-04-25 08:00:14 +00:00
Anton Bannykh c839fdca3e [JS IR] initial support for KLIB incremental compilation with K2 2023-04-23 14:47:48 +02:00
Dmitriy Dolovov 7da05d66e3 [PL][tests] Run JS tests with enabled PL with ERROR log level
#KT-57378
2023-04-20 10:23:47 +00:00
Ivan Kylchik 5956e9b500 [IR] Print evaluated const directly into interpreter's tests 2023-04-19 13:52:44 +00:00
Artem Kobzar 33c5068b79 [K/JS] Rework IR deserialization and lowering phases to consume less memory 2023-04-19 13:10:19 +00:00
Dmitriy Dolovov 87125d0703 [PL] Fix: Don't run partial linkage on early stages when no external dependencies have been loaded yet 2023-04-18 09:22:54 +00:00
Alexander Korepanov 980d83eccd [JS IR IC] Drop incremental cache after updating a klib set
Enabled Partial Linkage may replace entire IR expressions with a stub
during klib linking and loading. This may break the incremental cache
dependency graph. Dropping incremental cache files after updating klibs
(e.g. update klib version) covers almost all cases which
could not be tracked due to a broken dependency graph.

This patch could be reverted after fixing KT-57347
2023-04-18 09:06:07 +00:00
Ivan Kochurkin 3a60b30dae Minor: IrActualizationResult -> IrActualizedResult 2023-04-17 19:55:35 +00:00
Artem Kobzar 73f8c984a1 [K/JS TEST] Fix the problem with running JS tests on Windows if the test has a long name 2023-04-14 10:46:52 +00:00
Alexander Korepanov 949186b629 [JS IR Tests] Prevent implicit deletion of irdump files 2023-04-14 09:25:16 +00:00
Artem Kobzar 5dc6da2b33 [K/JS] Add serialization/deserialization for JsImport/JsExport nodes 2023-04-13 12:58:46 +00:00
Artem Kobzar 09bccd272d [K/JS] Prevent Char boxing on value or reference equals call 2023-04-13 08:39:03 +00:00
Artem Kobzar 96a25b7b7d [K/JS TESTS] Migrate generating and running of invalidation tests to JUnit 5 2023-04-11 07:25:56 +00:00
Dmitriy Dolovov f1a97ed4b8 Minor. Comment updated 2023-04-04 20:18:18 +00:00
Dmitriy Dolovov b08d805f1e [JS][tests] Support FIR for KLIB evolution tests 2023-04-04 20:18:18 +00:00
Dmitriy Dolovov 5970cfff75 [JS][tests] Rename KLIB binary compatibility tests to KLIB evolution tests 2023-04-04 20:18:17 +00:00
Dmitriy Dolovov bd4acfc4dc [JS][tests] Remove unused AbstractJsKlibBinaryCompatibilityErrorTest 2023-04-04 20:18:17 +00:00
Dmitriy Dolovov 1fef48bb60 [PL] Log partial linkage messages at different severity
As specified in -Xpartial-linkage-loglevel CLI argument.
2023-03-31 18:29:44 +00:00
Dmitriy Dolovov 46ed6e5766 [PL] Change semantics of CLI parameter -Xpartial-linkage
This parameter accepts the name of the "mode" in which the partial linkage would work. Currently, only two options are supported: 'enable', 'disable'. But the list may be extended in the future as needed.

At the moment the 'disable' option is the default one. This will be changed in #KT-51447, #KT-51443.
2023-03-30 12:38:07 +00:00