Commit Graph

103352 Commits

Author SHA1 Message Date
Denis.Zharkov 180a3bb320 K1: Fix false-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED with JDK 21
Previously, it was reported for List.toArray because, when traversing
supertypes, we've been stopped at j.u.SequencedCollection
as it has no JavaAnalogue.

^KT-60770 Fixed
2023-08-02 15:32:25 +00:00
Alexander Udalov e3efff7a33 K2: remove dependencies of fir-serialization on JVM modules 2023-08-02 14:50:10 +00:00
Alexander Udalov 2b84463ec8 K2: remove dependency fir-deserialization -> metadata.jvm 2023-08-02 14:50:10 +00:00
Alexander Udalov bdd94dddaa K2: remove dependency fir-deserialization -> deserialization.common.jvm
Move FirConstDeserializer to fir:java.
2023-08-02 14:50:10 +00:00
Alexander Udalov 3e313bca78 K2: remove dependency fir-deserialization -> compiler.common.jvm
- Rename DeserializedClassConfigurator -> FirDeserializationExtension to
  abstract the existing behavior (about the Serializable supertype), as
  well as any future JVM-specific deserialization behavior.
- Rename JvmDeserializedClassConfigurator ->
  FirJvmDeserializationExtension and move it to fir:java.
2023-08-02 14:50:10 +00:00
Roman Efremov 6943d03883 [FE, IR] Make expect actual annotations diagnostic message more friendly
Print which annotation exactly has a problem instead of
printing whole declarations with all annotations.

^KT-58551
2023-08-02 13:12:31 +00:00
Roman Efremov 11ccad7e40 [FE, IR] Add expect actual annotations incompatibility info into diagnostic
This is needed for more beautiful reporting and easier
implementation of quick fix in IDE.

^KT-58551
2023-08-02 13:12:31 +00:00
Roman Efremov a64bac0b8c [FE] Refactor: differentiate two types of problems in annotation checker
This is needed for more beautiful reporting and easier
implementation of quick fix in IDE.

^KT-58551
2023-08-02 13:12:31 +00:00
vladislav.grechko 75bef4050e Minor: rename method in JvmSymbols.kt
Rename createJavaPrimitiveClass ->
createJavaPrimitiveClassWithUnsignedUtils.
2023-08-02 10:48:22 +00:00
vladislav.grechko cfcdc6f0ae [JVM_IR] Box primitive types in class literals of reified type arguments
Bytecode inliner boxes primitive types in class literals of reified type
arguments. This is by design, and we should backport this behaviour to
IR inliner.

^KT-60144: Fixed
2023-08-02 10:48:22 +00:00
Kirill Rakhman ade1354a84 [FIR] If callable reference can't be resolved with expected type, try resolving with Any
In positions outside of calls (e.g. property initializers)
we resolve callable references using a synthetic outer call with the
expected type as parameter type.
If this fails, we previously returned an unresolved reference.
After this commit, we additionally try to resolve the callable reference
with expected type Any.
This lets us report more precise diagnostics like type mismatches or
when multiple overloads exist NONE_APPLICABLE.

#KT-55373 Fixed
#KT-55955 Fixed
2023-08-02 08:00:33 +00:00
Dmitriy Novozhilov 2c91ae1129 [Test] Report backend diagnostics from dependant MPP modules for FIR codegen tests 2023-08-02 07:53:26 +00:00
Dmitriy Novozhilov 48c148473f [Test] Report backend diagnostics in JVM codegen tests 2023-08-02 07:53:26 +00:00
Sebastian Sellmair b5e80fe060 [Gradle] KotlinMultiplatformSourceSetConventions: Do not configure source sets in 'lazy' context
As source sets are not lazy. This avoids unnecessary exceptions
in user buildscripts.

^KT-60842 Verification Pending
2023-08-02 07:44:19 +00:00
Zalim Bashorov fe0629ff8a Regenerate tests 2023-08-02 00:03:49 +02:00
Zalim Bashorov d2f537ede5 [JVM] Mute nestedCallsWithGenericToInt for IR inliner tests 2023-08-01 23:48:24 +02:00
Zalim Bashorov 8452e4732e [Wasm] Unmute typedDelegation test 2023-08-01 23:48:24 +02:00
Zalim Bashorov cac5342add Generate tests 2023-08-01 23:48:24 +02:00
Zalim Bashorov acc3dc0daa [Wasm] Take into account nullability for primitives while recovering a stack type
#KT-60496 Fixed
2023-08-01 23:48:24 +02:00
Zalim Bashorov 141645c5d7 [Wasm] Generate proper code in stack type recovering:
* When the actual type is some nullable type but nullable `Nothing` is expected.
* Respect nullability when casting reference types.

#KT-60113 Fixed
2023-08-01 23:48:23 +02:00
Zalim Bashorov 1946476e58 [Wasm] Generate comments for inlined calls 2023-08-01 23:48:23 +02:00
Ilya Goncharov 3450e60a1f [Gradle, Wasm] Fix test data for wasm js test 2023-08-01 19:48:36 +00:00
Igor Yakovlev 5e14ccbccc [Wasm] Backend support for wasi mode 2023-08-01 18:47:38 +00:00
Alexander Shabalin 22a3000789 [K/N] Make a stress test faster with aggressive GC 2023-08-01 16:25:51 +00:00
Alexander.Likhachev 61f404e493 [BT] Implement incremental compilation within the daemon
#KT-57398 In Progress
2023-08-01 16:24:37 +00:00
Alexander.Likhachev 91dc33f398 [IC] Allow to not specify the root project dir
When it's specified, it's used to calculate relative paths
2023-08-01 16:24:37 +00:00
Alexander.Likhachev b3677fa0ca [IC] Allow to not specify the modules info 2023-08-01 16:24:37 +00:00
Alexander.Likhachev e33611a88a [IC] Allow to not specify the build history file 2023-08-01 16:24:37 +00:00
Kirill Rakhman 38a54549ff [FIR] Fix serialization of empty varargs in annotations in KLIBs
#KT-59249 Fixed
2023-08-01 15:31:18 +00:00
Kirill Rakhman 487c3e80bb [FIR] Rename toResolvedFunctionSymbol to toResolvedNamedFunctionSymbol 2023-08-01 15:31:18 +00:00
Nikolay Lunyak 61d2e338a4 [FIR] Prevent compiler crash on lambdas in annotations
^KT-59110 Fixed
2023-08-01 14:58:52 +00:00
Roman Efremov 31f21d8593 [IR] Fix IR expect-actual annotations checker in case when annotation is actual typealias
^KT-60830 Fixed
2023-08-01 14:10:04 +00:00
Roman Efremov 5ed3f308fa Add tests for repeatable annotations on expect-actual declarations
Add tests showing current behavior.

^KT-60670
2023-08-01 14:04:03 +00:00
Kirill Rakhman 2de9480101 [FIR] Report deprecations on typealias constructor calls
Typealias constructor calls are now always wrapped with synthetic
FirConstructorCalls so that the referenced typeAlias can be extracted.
Previously, it was only necessary to map type arguments.

#KT-57780 Fixed
2023-08-01 13:50:22 +00:00
Ilya Goncharov b9e5b8a087 [Gradle, Wasm] Add wasmWasi target, replace wasm target onto wasmJs
KT-60654
2023-08-01 13:11:36 +00:00
Dmitry Savvinov a65953a7fb [Gradle] Minor, rename task
EnsureNoKotlinGradlePluginErrors ->
CheckKotlinGradlePluginConfigurationErrors
2023-08-01 13:03:29 +00:00
Dmitry Savvinov 7cc72f096a [Gradle] Don't use PropertiesProvider.propertiesWithPrefix in checker
It causes weird failures in functional tests, see KT-60712.

Instead, enumerate all known KGP properties and report only them. Note
that internal properties, unknown to the current version of KGP, won't
be reported. Such cases can appear because of a typo or after migrating
to version of KGP that dropped support for that property. It's not
considered to be a problem at the moment
2023-08-01 13:03:29 +00:00
Dmitry Savvinov 34f4e3cbf6 [mpp, tests] Modernize and simplify new-mpp-lib-with-tests
- Don't use presets (they are deprecated and provoke ERROR, causing
  build to fail)
- Drop two JVM targets (cause issues because ambiguous consumable
  configuration will be created; proper setup needs disambiguation
  attribute, but that's too much for this test)
- Drop jvmWithJava-target (this test case is used in several places
  as "just some MPP project", so specific advanced features like
  jvmWithJava shouldn't be covered here)

Refer to KT-60745 for proper jvmWithJava support
2023-08-01 13:03:29 +00:00
Dmitry Savvinov a9a6441d2d [Gradle] Improve tests on diagnostics rendering, suppression, failures 2023-08-01 13:03:29 +00:00
Dmitry Savvinov a132d37292 [Gradle] Introduce checker of 'kotlin.internal' properties
Those properties are meant for internal use and/or "hacking". Using them
by design provokes big non-suppressible warning
2023-08-01 13:03:29 +00:00
Dmitry Savvinov 6c88b92b88 [Gradle] Fail compileKotlin-tasks if ERROR-diagnostics were reported
KT-60237
2023-08-01 13:03:29 +00:00
Dmitry Savvinov c544d68a64 [Gradle] Do not store suppressed diagnostics 2023-08-01 13:03:28 +00:00
Dmitry Savvinov 71c1abde5c [mpp] Minor: use ToolingDiagnostic for reporting cyclic dependsOn-edges 2023-08-01 13:03:28 +00:00
Dmitry Savvinov 7abb0d9f0c [Gradle] Minor: prettify extraction of Tooling diagnostics from output 2023-08-01 13:03:28 +00:00
Alexander Korepanov d0e4515ec1 [JS IR] Materialize all JsCompositeBlock
^KT-60667 Fixed
2023-08-01 12:22:17 +00:00
Artem Kobzar cd840997b1 [K/Wasm] Rework Wasm enumEntriesIntrinsic declaration to fix stdlib compilation 2023-08-01 11:53:14 +00:00
Artem Kobzar 12715c062d [K/JS] Reexport exported declarations in a proxy module file with per-file compilation 2023-08-01 09:42:33 +00:00
Vyacheslav Gerasimov 5ccc302e01 Build: Cleanup verification-metadata.xml
#KTI-1277
2023-08-01 09:18:34 +00:00
Vyacheslav Gerasimov be2875126c Update Dependency verification section in ReadMe.md
#KTI-1277
2023-08-01 09:18:34 +00:00
Vyacheslav Gerasimov be1babeae4 Build: Add protoc to implicitDependencies
#KTI-1277
2023-08-01 09:18:34 +00:00