Commit Graph

96369 Commits

Author SHA1 Message Date
Dmitrii Gridin 7e433a936d [AA FIR] introduce FirCallableSignature to encapsulate IdSignature
^KT-54826
2022-11-24 18:32:42 +00:00
Dmitrii Gridin b04c9f02b0 [AA] add test on data class members
^KT-54051
2022-11-24 18:32:42 +00:00
Dmitrii Gridin edd60cd204 [AA] improve symbol pointers for property accessors
Fe10:
* supported default setter
* support default getter
* support parameter from default setter

Fir:
* support java synthetic properties
* support parameter from default setter

^KT-54051
2022-11-24 18:32:41 +00:00
Denis.Zharkov ca12cfb90d K2: Do not fix variables that has yet unprocessed constraints in forks
Otherwise, exception from org.jetbrains.kotlin.resolve.calls.inference.components.ConstraintInjector.TypeCheckerStateForConstraintInjector.fixedTypeVariable
might happen during forks resolution

The test data is extracted from intelliJ FP test

^KT-43296 Fixed
2022-11-24 17:29:30 +00:00
Denis.Zharkov b73acd7a3a K2: Apply constraints from forks at UNTIL_FIRST_LAMBDA completion phase
Otherwise, OVERLOAD_RESOLUTION_AMBIGUITY is reported for the calls to
the functions annotated as @OverloadResolutionByLambdaReturnType

^KT-43296 In Progress
2022-11-24 17:29:29 +00:00
Denis.Zharkov 10d63cc52a K2: Postpone inference forks resolution until FULL completion
It helps to use expected type information when choosing the branch
even in the nested calls

^KT-43296 In Progress
2022-11-24 17:29:29 +00:00
Denis.Zharkov c958c79362 Minor cleanup at ConstraintInjector.kt 2022-11-24 17:29:29 +00:00
Denis.Zharkov 02b2927921 Clarify naming around inference fork points
^KT-43296 In Progress
2022-11-24 17:29:28 +00:00
Denis.Zharkov 715a73c8fb K2: Support inference case with a mix of smart-cast and expected type
The idea is that we should not fix (i.e. choose any of the fork branches)
on the stage of candidate processing before completion, but it's enough
just to check that current state can be converged to success.

And when completion starts, and we add expected type to the system,
we've got more information to choose the correct fork branch.

NB: The old `processForkConstraints` is being called just
at the beginning of the completion phase.

^KT-43296 In Progress
2022-11-24 17:29:28 +00:00
Sergej Jaskiewicz 77e197d46a [IR] Add documentation comments for IdSignatures 2022-11-24 17:13:31 +00:00
Troels Bjerre Lund 1fbc478833 [K/N] Fix benchmark build
The bootstrap advance to 1.8.20-dev-2904 broke the K/N performance
benchmark build, when built in non-Java8 environments.


Co-authored-by: Troels Lund <troels@google.com>

Merge-request: KOTLIN-MR-576
Merged-by: Pavel Punegov <pavel.punegov@jetbrains.com>
2022-11-24 14:54:32 +00:00
Sebastian Sellmair 39c97aa804 [Gradle][Native] Bump kotlin native version to 1.8.20-dev-2913
^KT-55071 Verification Pending
2022-11-24 14:42:11 +00:00
Sebastian Sellmair 7870c82221 [Gradle][Native] K2NativeCompilerArguments.refinesPaths: Use Array<String> instead of String
^KT-55071 Verification Pending
2022-11-24 14:42:11 +00:00
Sebastian Sellmair 5818187e57 [Gradle][Native] Implement KotlinNativeCompileRefinesPathsTest
^KT-55071 Verification Pending
2022-11-24 14:42:11 +00:00
Sebastian Sellmair 4c62b3b46b [Gradle][Native] Implement "kt-55071-compileSharedNative-withDefaultParameters" IT
^KT-55071 Verification Pending
2022-11-24 14:42:10 +00:00
Sebastian Sellmair 752ff04245 [Gradle][Native] Setup refinesPaths as expectedBy module dependencies
Previously, dependsOn dependencies were just passed as friend modules
to shared native compilations.

^KT-55071 Verification Pending
2022-11-24 14:42:10 +00:00
Pavel Kunyavskiy 0be789e9e3 [K/N] Add API for garbage collection statistics
^KT-53064
2022-11-24 13:14:37 +00:00
Anna Kozlova cdf6ffa167 [AA] do not try to build KtSymbol for FirErrorFunction
^KTIJ-23669
FirErrorFunctions are created for unknown labels
when the code in return statements is not complete yet.
Such labels cannot be resolved, and no symbols should be created for them
2022-11-24 13:09:29 +00:00
Nikolay Krasko 03d3885eff Instruction for building 1.8.0-Beta release 2022-11-24 12:55:06 +00:00
Nikolay Krasko e02395fa61 Instruction for building 1.7.21 release 2022-11-24 12:55:05 +00:00
Ivan Kylchik a1477983ba Properly handle vararg interpretation for classic frontend
#KT-55108 Fixed
2022-11-24 11:07:07 +00:00
Anna Kozlova 98cb25605a [LL] testdata for KTIJ-21468
ensure that for each destructuring declaration entry exists FirProperty
2022-11-24 10:20:38 +00:00
Denis.Zharkov f7d8fd54ca K2: Fix deserialization of flexible type based on type parameter
It's anyway safe to use avoidComprehensiveCheck = true because
during deserialization we're sure that we need DNN type because
it's been serialized as such.
2022-11-24 09:39:58 +00:00
nataliya.valtman ff340505ec Add git branch to http statistic 2022-11-24 08:03:13 +00:00
Artem Kobzar ad78f27cce [K/JS] Fix problem with dynamic return type inside coroutine 2022-11-23 21:33:56 +00:00
Pavel Kirpichenkov cc93f3a87c [MPP] Implement TCS dependency resolver for non-hierarchical deps
Resolves legacy common metadata dependencies and special common
libraries like kotlin-stdlib-common.

KT-54974
2022-11-23 20:56:57 +00:00
Sergey.Shanshin 339b152390 Implemented caching of child serializers
Resolves Kotlin/kotlinx.serialization#1918

Merge-request: KT-MR-7578
Merged-by: Sergey Shanshin <Sergey.Shanshin@jetbrains.com>
2022-11-23 19:53:44 +00:00
Egor Kulikov 3e8f7b8ee4 [FIR] Make enum entry initializer lazy in RawFirBuilder
Third step for KT-52615

Merge-request: KT-MR-7769
Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com>
2022-11-23 18:55:21 +00:00
Ivan Kochurkin 194d1cfccf [FIR] Filter out incorrect library provides for dependencyProviders
Get rid of providers duplication
2022-11-23 18:29:29 +00:00
Ivan Kochurkin 8883de3f00 [FIR] Don't resolve Enum.declaringClass and Enum.getDeclaringClass
^KT-53946 Fixed
2022-11-23 18:29:29 +00:00
Ivan Kochurkin 6e76978530 [FIR] Consider anonymous objects in FirSuperclassNotAccessibleFromInterfaceChecker
^KT-54673 Fixed
2022-11-23 18:29:28 +00:00
Ilya Goncharov adeb31ebf6 Upgrade yarn.lock file 2022-11-23 16:02:19 +00:00
Dmitriy Novozhilov c2d30c43bd Advance bootstrap to 1.8.20-dev-2904 2022-11-23 14:53:29 +00:00
Ilya Goncharov 358943c7cb [Gradle, JS] Fix warning in case when js target declared twice
^KT-55099 fixed
2022-11-23 12:48:35 +00:00
Mikhail Glukhikh 774bed875a Fix opt-in related bootstrap problem in kotlin-native/build-tools 2022-11-23 12:00:09 +00:00
Mikhail Glukhikh bf4d48e208 K2 opt-in checker: extract callable/class-like specific fragments 2022-11-23 12:00:09 +00:00
Mikhail Glukhikh 3e22f6c052 K2 opt-in: fix reporting of WasExperimental-bound errors 2022-11-23 12:00:08 +00:00
Mikhail Glukhikh f62bdb0e3d K1 opt-in: fix message/behavior for future error with WasExperimental 2022-11-23 12:00:08 +00:00
Mikhail Glukhikh 8ddc535caf Opt-in: forbid/deprecate constructor call with default arguments under marker
#KT-55074 Fixed
2022-11-23 12:00:07 +00:00
Mikhail Glukhikh b92ce68f32 K2 opt-in: restore marker annotation check for constructors 2022-11-23 12:00:07 +00:00
Mikhail Glukhikh a77750a257 K2 opt-in: drop redundant recursive check for overridables 2022-11-23 12:00:06 +00:00
Mikhail Glukhikh cd81f22bd3 K2 opt-in: extract specific checks for overridable experimentalities 2022-11-23 12:00:05 +00:00
Mikhail Glukhikh a2f7224370 K2 opt-in: check callable parent class only in case of constructor call 2022-11-23 12:00:04 +00:00
Mikhail Glukhikh 73cb4d1a6e K2 opt-in: don't take sub./int. override parent classes into account
#KT-54823 Fixed
2022-11-23 12:00:04 +00:00
Artem Kobzar c1c5933c72 [K/JS] Deprecate old JS-compiler 2022-11-23 11:22:29 +00:00
Anton Bannykh e42385dfb0 JS tests: split fir, ir, and legacy tests
Also split write FIR output to separate folders
2022-11-23 11:01:13 +00:00
Anton Bannykh f99d480bf8 JS: move DCE test output to build/ dir 2022-11-23 11:01:13 +00:00
Anton Bannykh 56765461a0 WASM: move output to build/ dir 2022-11-23 11:01:12 +00:00
Anna Kozlova 43bd05f470 [LL FIR] make dependency from library on builtins invisible from outside
^KTIJ-23421

hide explicit builtins to reveal target platform dependencies.
Otherwise, `expect` class from builtin of e.g. JDK
would be found instead of actual dependency from Kotlin Runtime
2022-11-23 10:46:49 +00:00
Ilya Kirillov 28ff475dd6 Fix binary compatibility with android plugin for org.jetbrains.kotlin.platform.js.isJs 2022-11-22 21:04:09 +00:00