Alexander Korepanov
46afb46a6d
[JS IR] Add IC test for local inline function
...
^KT-50739
2022-09-16 12:14:35 +02:00
Alexander Korepanov
47bbd5e8c1
[JS IR] Add work around in EnumEntriesList for JS IR to avoid name clashes
...
JS IR generates bridges with type checks for special class methods,
however if parent and child type parameters are same,
the JS signature for the generated brige will be clashed with
the JS signature of original method.
This patch changes type parameter name of EnumEntriesList to avoid the clash.
^KT-54011 Fixed
2022-09-16 07:19:20 +00:00
Alexander Korepanov
dd7d669464
[JS IR] Use jsOutputName for module naming when IC is enabled
...
^KT-53986 Fixed
2022-09-16 07:19:20 +00:00
Anže Sodja
09d6dfc8bf
[Assign plugin] Add a compiler plugin for overloading assign ('=') operator
2022-09-16 10:12:41 +03:00
Igor Yakovlev
c2d4a2cfb5
[WASM] Small refactoring of box test runner
2022-09-15 16:27:40 +00:00
Alexander Korepanov
752ce887b2
[JS IR] Add IC test for JsModule annptation
...
^KT-43455
2022-09-15 11:02:46 +00:00
Dmitriy Dolovov
e4556ecc0d
[IR] User-friendly message about unexpected unlinked symbols
...
^KT-53649
2022-09-13 17:12:13 +00:00
pyos
acce055fc4
FIR: fix incorrect handling of suspend function typealiases again
...
The previous attempt stopped this code from throwing an exception during
serialization, but the arity is still wrong so an exception is now throw
when reading the serialized type.
^KT-50997 Fixed
2022-09-12 17:45:40 +02:00
Vladimir Sukharev
c8864369fd
Use main class as test generator name
...
Merge-request: KT-MR-7031
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-09-09 12:51:18 +00:00
Artem Kobzar
da367a467d
[K/JS] chore: stop unnecessary defineProperties generating.
2022-09-09 11:14:26 +00:00
Sergej Jaskiewicz
64465480a3
[JS] J2K for SourceMap3Builder
2022-09-09 11:02:25 +00:00
Sergej Jaskiewicz
660e8ff4da
Rename .java to .kt
2022-09-09 11:02:25 +00:00
Sergej Jaskiewicz
7874b1fcad
[JS] Rename JsLocation.identityObject to fileIdentity
2022-09-09 11:02:25 +00:00
Sergej Jaskiewicz
b9cac8a4ca
[JS IR] Support the sourceMapEmbedSources setting (partially)
...
This doesn't work with external libraries yet (including stdlib).
2022-09-09 11:02:25 +00:00
Pavel Mikhailovskii
0b453ee328
KT-41670 Check for default property accessors in SAM interfaces
2022-09-07 13:37:38 +00:00
Artem Kobzar
a6d1f30e89
chore: generate extra files.
2022-09-07 12:46:45 +00:00
Artem Kobzar
24d73e5cb8
fix: test case for js name.
2022-09-07 09:04:07 +00:00
Pavel Mikhailovskii
a75d5ba4cf
KT-53465, KT-53677 Get rid of unnecessary checkcasts to array of reified type
2022-09-06 18:33:38 +00:00
Alexander Korepanov
453faeaa45
[JS IR] Memory consumption optimization
...
- Remove IR after JS AST generation
- Remove JS AST after/during JS code generation
2022-09-05 11:15:55 +00:00
Alexander Korepanov
14b7db0187
[JS IR] Optimize JS AST metadata memory consumption
2022-09-05 11:15:54 +00:00
Alexander Korepanov
c747d0e742
[JS IR] Optimize JS AST blocks memory consumption
2022-09-05 11:15:54 +00:00
Alexander Korepanov
ea34e10b67
[JS IR] Optimize JS AST scopes memory consumption
2022-09-05 11:15:54 +00:00
Alexander Korepanov
bf53273b84
[JS IR] Cache JsLocation objects and js function signatures
...
Memory consumption optimization
2022-09-05 11:15:53 +00:00
Alexander Korepanov
01507281a2
[Common IR] Forward the extension receiver in the reified wrapper
...
^KT-53672 Fixed
2022-09-05 07:40:30 +00:00
Sergej Jaskiewicz
f07163125b
[JS Legacy] For Unit Elvis don't forget to generate code for the RHS
...
^KT-53780 Fixed
2022-09-02 11:44:17 +00:00
Artem Kobzar
0bb0be8703
feat(KT-48814): represent all of the external declarations nullable properties as an optional fields inside d.ts.
2022-09-02 10:50:20 +00:00
Sergej Jaskiewicz
17f22c7204
[JS IR] Use a special executor for stepping tests
...
This will hopefully fix flakiness for some tests
2022-08-30 13:38:47 +00:00
Artem Kobzar
98474f0d13
chore: change line breaker for generated js files.
2022-08-29 18:06:27 +00:00
Artem Kobzar
8b826a865b
[K/JS, K/WASM] feat(Enum.entries): add support of new enum static field for JS and WASM.
2022-08-29 16:04:12 +00:00
Artem Kobzar
dbda8dcad1
[K/JS] test: add @file:JsExport tests for each @JsExport test + auto-generate TypeScript export tests.
2022-08-26 09:51:59 +00:00
Artem Kobzar
e0a2400823
[K/JS] build: speedup tests rerunning with incremental typescript compilation for IrJsTyperScriptTests.
2022-08-25 18:02:56 +00:00
Sergej Jaskiewicz
d57ddc5f83
[JS IR] Generate debug info for JS injections
...
Also, fix the JS parser to collect the "correct" debug info
(see the note in `translateJsCodeIntoStatementList`)
#KT-53361 Fixed
2022-08-22 23:15:52 +00:00
Sergej Jaskiewicz
746c1b5903
[JS] Add toString() override to JsPropertyInitializer
...
This doesn't affect js2string, but is convenient for debugging
2022-08-22 23:15:52 +00:00
Sergej Jaskiewicz
a152bc2313
[JS IR] Don't parse/print JS code in js() call twice
...
#KT-51327 Fixed
2022-08-22 23:15:52 +00:00
Steven Schäfer
a90c4d5dd5
JVM IR: Optimize equality on class literals
2022-08-23 00:14:11 +02:00
Nikita Bobko
8f79e833a8
Drop all redundant kotlin-reflect, kotlin-reflect-api dependencies
...
Review: https://jetbrains.team/p/kt/reviews/6753
All redundant I managed to find, of course.
Why: I'm going to process all reflect dependencies in the next commits.
Cleanup reflect dependency before processing.
They are redundant because:
1. if `compileOnly` then compilation didn't break after dropping the
dependency
2. if `test*` then tests didn't break after dropping the dependency.
3. `analysis/analysis-api-fir/analysis-api-fir-generator/build.gradle.kts`
`compiler/fir/checkers/checkers-component-generator/build.gradle.kts`
Drop `implementation(project(":kotlin-reflect-api"))` because the
module already depends on
`implementation(project(":kotlin-reflect"))`
4. `compiler/daemon/daemon-client/build.gradle.kts`. Drop `runtimeOnly`
because after dropping `compileOnly` compilation didn't break (so
`runtimeOnly` looks suspicious). Less safe than 1-3
2022-08-22 15:42:57 +02:00
Ilya Gorbunov
cda90dbfa5
Implement JS-legacy intrinsic for rangeUntil builtin member operator #KT-52933
2022-08-18 19:15:26 +00:00
Artem Kobzar
8e17c39cc9
[K/JS] fix(KT-53569): skip double traversing for nested annotation classes.
2022-08-18 16:39:48 +00:00
Pavel Kunyavskiy
5034581788
[K/N] Fix references for inline function
...
Corresponding lowering creating wrappers from JS Backend was used.
Also, the lowering was changed to create local function, instead of
normal one in outer scope, as a lot of logic from local declarations
lowering should be duplicated otherwise for correct type parameters
handling.
^KT-38535
2022-08-18 13:23:10 +00:00
Ilya Goncharov
2f75ea585e
[JS, Frontend] Not report warning with non-exportable super type
...
^KT-53539 fixed
2022-08-18 12:46:40 +00:00
Artem Kobzar
ab6964d32e
[K/JS] test(Inner Classes): check exported and not-exported inner classes inside kotlin.
2022-08-17 14:58:31 +00:00
Sergej Jaskiewicz
d24bbb63f5
[JS IR] Enable logging for stepping tests
...
The IrJsSteppingTestGenerated.testTryCatchExpression test is flaky.
Let's enable some logging to see what's what.
2022-08-16 16:46:43 +00:00
Vsevolod Tolstopyatov
c0f81cbc45
[JVM] Improve code coverage of EntriesMapping
...
Ensure that when .entries is accessed from an inline function body
or lambda argument, EntriesMapping are properly generated and used
without excessive mappings and duplicated fields
#KT-53236
2022-08-12 09:35:24 +00:00
Pavel Mikhailovskii
8ba80b4b7b
KT-1436 Allow break/continue in inlined lambdas
2022-08-11 10:38:23 +00:00
Pavel Kunyavskiy
18cda8844d
[K/N] Fix possible data races found by thread sanitizer
2022-08-10 08:36:07 +00:00
Artem Kobzar
87038e7d8a
[K/JS] feat: add logic under the flag for strict implicit export generating inside d.ts files.
2022-08-09 16:48:59 +00:00
Alexander Korepanov
bb8da65188
[Common IR] Do inlining of callable references of inline functions
...
^KT-52805 Fixed
2022-08-08 17:40:45 +00:00
Pavel Kunyavskiy
3424e756ad
[K/N] Fix for instantiating annotations from already lowered file
...
If annotation class is already lowered, it can have more than one
constructor. So we should use primary one, not any one.
^KT-53475
2022-08-08 16:35:22 +00:00
Alexander Korepanov
794229d012
[box-tests] Add tests about anonymous classes uplifting
...
^KT-50175 Fixed by commits before
2022-08-08 08:39:59 +00:00
Igor Chevdar
e38f02b53a
[box-tests] Added a bunch of tests on local objects in inline lambdas
2022-08-08 08:39:57 +00:00