Commit Graph

40944 Commits

Author SHA1 Message Date
Nikita Nazarov bd742bb95c Account for context class receivers when creating the ExpressionReceiver
^KT-54084 Fixed
2022-09-28 18:59:56 +04:00
Nikolay Lunyak f578381726 [FIR] KT-46483: Forbid annotations in where Clauses
Merge-request: KT-MR-7208
Merged-by: Nikolay Lunyak <lunyak.kolya@mail.ru>
2022-09-28 13:38:18 +00:00
Igor Chevdar 1963860a92 [K/N][caches] Removed old slow and hacky version of per-file caches building 2022-09-27 17:06:48 +00:00
Igor Chevdar 77f24a22dd [K/N][IR][codegen][caches] Speed-up of per-file caches 2022-09-27 17:06:48 +00:00
Ilmir Usmanov 4a10dbf383 FE: Warn about generic inline class parameter in LV < 1.8
#KT-54192 Fixed
2022-09-27 16:50:43 +00:00
Alexander Korepanov 252dc01dd5 [JS IR] IC: Propagate dependencies from nested declaration to parent
JsIrLinker can't load nested declarations,
 therefore it is required to load their parent.
 This patch adds a dependency in the incremental cache graph
 between nested declaration user and nested declaration parent.

^KT-53931 Fixed
^KT-54120 Fixed
2022-09-27 15:27:20 +00:00
Vladimir Dolzhenko b2b88662d8 Clean up
#KTIJ-23032
2022-09-27 15:17:27 +00:00
Vladimir Dolzhenko a32c660a67 Optimize contributedDescriptors
Take kindFilters into account on early stage.

#KTIJ-23032
2022-09-27 15:17:26 +00:00
Yahor Berdnikau c198d4d90d Simplify cache-redirector script apply method
Now it could be only be applied inside settings file pluginManagement
block. This will update both settings repositories and all projects in
the repo with cache redirection settings.
2022-09-27 14:04:43 +00:00
Nikolay Krasko 13a68b0e2d Explicitly define the set of environment variables needed for tests 2022-09-27 12:49:54 +00:00
Pavel Mikhailovskii 1b8a60b5a5 KT-51282 Add tests 2022-09-27 12:17:19 +00:00
Pavel Mikhailovskii ca221cc6f2 Unused import 2022-09-27 13:34:09 +02:00
Marat Akhin d6230a2e7b [K/N][KLIB][Tests]: support for klib binary compatibility tests on K/N
The impl supports both regular and caching testing modes.
Also add Gradle target for klib binary compatibility tests.
2022-09-27 10:03:06 +00:00
Marat Akhin 1594dd6d67 [KLIB][Tests]: fix typos in klib binary compatibility test suite 2022-09-27 10:03:05 +00:00
Dmitrii Gridin 64c9a9f137 AbstractResolverForProject: do not include modules info to default message
^KT-54188 Fixed
2022-09-27 08:03:53 +00:00
Alexander Udalov 4a00d1f978 Add internal way to enable old backend
Needed for tests on debugger in Kotlin IDE plugin.
2022-09-26 13:35:41 +00:00
Dmitriy Novozhilov 7ce3934cf7 [FIR] Add type resolution service into SerializationFirSupertypesExtension
This service allows resolve custom user types from plugins, which allows
  to support specifying type arguments of generated supertypes basing
  on arguments passed to annotations
2022-09-26 10:09:09 +00:00
Dmitriy Novozhilov 5461ef6172 [FIR] Add utility function for constructing user type ref on the air 2022-09-26 10:09:09 +00:00
Dmitriy Novozhilov 519f6aeff1 [FIR] Make source in qualifier parts nullable
This is needed to be able to create no-source user type refs from plugins
2022-09-26 10:09:08 +00:00
pyos 2dd49e5fb4 JVM_IR: unwrap suspend views when generating SAM wrappers
If the super class is in a file that has already been lowered, the base
method has an extra continuation parameter which breaks things.

Also, SAM wrappers around functional objects are tail-call and do not
need continuations ever, so don't even try.

^KT-50950 Fixed
2022-09-23 21:55:00 +02:00
Pavel Mikhailovskii a209098a6c KT-8575 Enable ReferencesToSyntheticJavaProperties in 1.9 2022-09-22 20:20:55 +00:00
Alexander Udalov ba150ca370 Add JVM target bytecode version 19
Test data in `box/annotations/typeAnnotations` is changed because nested
classes in type annotations are rendered differently in JDK 19
(`Outer.Nested` instead of `Outer$Nested`).

 #KT-54116 Fixed
2022-09-22 21:56:10 +02:00
Ilmir Usmanov 3ee09f05ef JVM: Check for multiple {POP, Unit} sequences in suspend function TCO
We already check for {POP, Unit} sequence before ARETURN, but if the
there are multiple sequence before ARETURN, the compiler assumes, that
TCO misses.

The fix is to check, that the instruction after the sequence is either
ARETURN or another {POP, Unit} sequence.

 #KT-50835
 #KT-54152 Fixed
2022-09-22 19:46:52 +02:00
Artem Kobzar 39a44d4ccb [K/JS] Add lateinit as exception for simple properties ^KT-53968 Fixed 2022-09-22 13:50:51 +00:00
Pavel Mikhailovskii f8fd23e373 KT-8575 Add tests and disable reflection for Java synthetic property references 2022-09-22 13:33:28 +00:00
Igor Yakovlev 5116bbc440 [WASM] Fix invalid element visiting for external declarations 2022-09-22 11:54:04 +02:00
Igor Yakovlev b4ebc1dca4 [WASM] Add missing implicit casts 2022-09-22 11:54:04 +02:00
Igor Yakovlev 081cd4a4a8 [WASM] Support nullable types for external functions 2022-09-22 11:54:04 +02:00
Nikolay Krasko 1630386712 Move to JDK_X_Y variables 2022-09-21 22:53:19 +00:00
Nikolay Krasko 2df9203336 Add ability to configure jdk with two backup properties 2022-09-21 22:53:18 +00:00
Ilmir Usmanov 569e72c34e Minor. Do not check for specific bytecode in test 2022-09-21 16:42:15 +00:00
Xin Wang 0eadf35132 Inline: Fix operand stack type verify error
This is a proposal to fix KT-49364.
Operand stack type verification happens before `checkcast`
is executed. When we implicitly cast an inline class
to a non-inline type, if type of stack value is not subtype
of the target, then coercing is necessary.
2022-09-21 16:42:14 +00:00
Dmitriy Dolovov c5d4619ebc [IR] Restore old Psi2IrTranslator constructor for older IDEs
^KT-54115
^KT-53649
2022-09-21 16:13:21 +02:00
Ilya Goncharov 4906f17d09 [JS IR] Fix js compiler arguments 2022-09-21 10:58:25 +00:00
Ilya Goncharov cab79d950f [Gradle, JS] outputName -> moduleName 2022-09-21 10:58:25 +00:00
Ilya Goncharov 55731f27a4 [Gradle, JS] Adopt changes about compilerOptions 2022-09-21 10:58:24 +00:00
Ilya Goncharov 4eedfe7f58 [Gradle, JS] Fix compilation after rebase 2022-09-21 10:58:24 +00:00
Ilya Goncharov 8d90173ea5 [JS, IR] Deprecated outputFile 2022-09-21 10:58:23 +00:00
Ilya Goncharov 9685b0a86b [JS, IR] Wasm with outputDir and outputName 2022-09-21 10:58:21 +00:00
Ilya Goncharov f320efedd3 [JS, Tests] Migrate IR tests onto outputDir and outputName 2022-09-21 10:58:21 +00:00
Ilya Goncharov eed994f1fe [Gradle, JS] Correct require relative path 2022-09-21 10:58:20 +00:00
Ilya Goncharov 642fae1a5b [Gradle, JS] Migrate onto destinationDirectory and outputName 2022-09-21 10:58:20 +00:00
Ilya Kirillov a74b5dbcad Add annotations-jar to compiler tests via KotlinStandardLibrariesPathProvider
to customize it outside kotlin repo
2022-09-21 09:44:24 +02:00
Ilya Goncharov d203dc35bf [JS IR] Add to IR keep possibility similar to legacy-dce one
It helps to:

- keep declarations even if they are not reachable and not exported
- not minify names of not exported declarations

Compiler argument: -Xir-keep=A,B

Can be used for top-level declarations or for member

^KT-54118 fixed
2022-09-20 16:06:17 +00:00
nataliya.valtman 4863e5d47b Store errors into separate files 2022-09-20 14:11:25 +02:00
Dmitry Khalanskiy 4cbee3cde7 Fix KT-51478
The issue was that, when various context elements were available
to fulfill a need for an extension receiver, but none of them were
applicable to it, the compiler behaved the same way as if there
was no extension receiver at all.

https://youtrack.jetbrains.com/issue/KT-51478/Inapplicable-receiver-diagnostic-expected-when-there-are-two-context-receiver-candidates
2022-09-20 10:32:32 +00:00
Nikolay Lunyak dccb7faf2e [FIR] KT-53479: Paraphrase INSTANCE_ACCESS_BEFORE_SUPER_CALL 2022-09-20 09:51:20 +00:00
Vladimir Dolzhenko fc8cb40a0d Make KtFileElementType#INSTANCE final
#KT-53781
2022-09-19 20:34:35 +00:00
Vladimir Dolzhenko 8804742220 Revert back and deprecate KtStubElementTypes#FILE
Due to usages in some external tooling

#KT-53781
2022-09-19 20:34:35 +00:00
Mikhail Glukhikh a4b2a8c4ea AbstractTypeChecker: fix special case with CapturedType as self type argument
#KT-53908 Fixed
May fix also KT-53271
2022-09-19 19:12:21 +00:00