Commit Graph

96241 Commits

Author SHA1 Message Date
Igor Chevdar b100dfe8be [K/N][IR] Implemented suspend tail call optimization
If for a suspend function all calls to other suspend functions a tail calls,
it is not needed to build the coroutine implementation.
2022-11-21 19:32:40 +00:00
Igor Chevdar 68e6317159 [K/N][tests] Added FileCheck tests on suspend tail call optimization 2022-11-21 19:32:39 +00:00
Jaebaek Seo c55efe62a3 [AA] handles FIR isUsedAsExpression for return within function block
For the following example:

```
fun foo(bar: Int) {
  <expr>if (bar == 4) return "Four"
  else return "Int"</expr>
}
```

AA FE1.0 `isUsedAsExpression` returns `false`.
Since the current AA FIR `isUsedAsExpression` returns `true` for the
above example, this commit fixes it.
2022-11-21 18:26:41 +01:00
Ilya Kirillov b6481ed891 [FIR] do not use FirValueParameter for function type parameter
As it is a different abstraction, introduced FirFunctionTypeParameter instead

Also, fix syntax checkers for function type parameter

^KT-55035 fixed
2022-11-21 16:17:51 +00:00
Leonid Startsev 1b9fdeadfe Do not enable serialization plugin intrinsics in K2
because they lead to an unbound symbol errors
2022-11-21 16:15:46 +00:00
Leonid Startsev 715a730819 Insert a runtime exception if star-projection type is encountered in serializer<T>() intrinsic
This makes behavior consistent with non-intrinsified version of this function and serializer(KType).

#KT-54878 Fixed
2022-11-21 16:15:46 +00:00
Aleksei.Cherepanov de5fd767d4 Suppress warning for mvn+kapt+jdk9
Suppress the warning about lack of tools.jar, as this jar does not present in JDK9+

#KT-47110 Fixed
2022-11-21 15:22:27 +00:00
Jinseong Jeon f2bc25c71d SLC: fix visibility/static modifer of property in companion 2022-11-21 15:55:13 +01:00
Jinseong Jeon e2901c81ac SLC: populate fields from companion in annotation 2022-11-21 15:55:12 +01:00
Sebastian Sellmair f02fd2e04e [Gradle] Implement smoke test for external android target prototype resolving sdk
KT-54981
2022-11-21 14:11:27 +00:00
Sebastian Sellmair 83af85706d [Gradle] ExternalKotlinTarget Api: Implement 'configureIdeImport' API
^KT-55010 Verification Pending
2022-11-21 14:11:27 +00:00
Yahor Berdnikau 19f4e39ee7 Fix toolchain test fails jvm target validation
Happens after changes for KT-54933 was merged earlier than for KT-55004.
2022-11-21 14:59:01 +01:00
Anna Kozlova f937a85fb8 [tests] split by FILE directive to avoid artificial errors
during parsing psi
2022-11-21 13:07:14 +01:00
Sebastian Sellmair 17c20bff92 [Gradle] Implement integration test for KT-54981
^KT-54981 Verification Pending
2022-11-21 10:14:04 +00:00
Sebastian Sellmair 55ef9a6bad [Gradle] Only add 'directly included' source sets to metadata compile tasks
Contrary to platform compilations, metadata based compile tasks
are expected to only compile the directly associated source sets w/o
their dependsOn closure. DependsOn source sets will be represented
as .klib binary dependencies instead.

^KT-54981 Verification Pending
2022-11-21 10:14:04 +00:00
Roman Efremov 9330018390 Add comment with reference to K2 implementation of opt-in check
^KTIJ-23369 Fixed
2022-11-21 13:09:40 +03:00
Yahor Berdnikau f6dd302dc7 Fix child default toolchain configuration overwrites parent one
Caused by configure actions ordering - parent are applied first.

^KT-55004 Fixed
2022-11-21 09:53:19 +00:00
Mikhail Glukhikh 1d76bce3dd K2: fix outerClassSymbol behavior for local classes #KT-55018 Fixed 2022-11-21 09:23:54 +00:00
Nikolay Lunyak fb09f139dd [FIR] Unmute receiver annotations tests
These tests were muted in 89f8821d. Seems they began to work after the
introduction of `FirReceiverParameter` in KT-54417.
2022-11-21 08:51:43 +00:00
Sebastian Sellmair bc531610f7 [Gradle] ExternalKotlinTarget Api: Add initial APIs to configure publications
KT-54981
2022-11-21 07:33:17 +00:00
Sebastian Sellmair c33b172988 [Gradle] Introduce InternalKotlinTarget
KT-54981
2022-11-21 07:33:17 +00:00
Sebastian Sellmair e5398e6be7 [Gradle][Minor] Move KotlinTargetComponent into separate source file
KT-54981
2022-11-21 07:33:17 +00:00
Sebastian Sellmair 7368752c24 [Gradle] ExternalKotlinTargetApi: Configure apiElements and runtimeElements configurations
KT-54981
2022-11-21 07:33:16 +00:00
Igor Yakovlev c8306f1a3b [Wasm] Mark rotate functions with WasExperimental 2022-11-19 11:49:06 +01:00
vladislav.grechko 5ec2f1ad92 Get rid of redundant boxing when comparing inline class instances
^KT-33722: Fixed
2022-11-18 23:14:03 +00:00
Anna Kozlova e5ce32feeb [ANALYSIS API] introduce dedicated KtCall for incomplete code
KTIJ-23505 and duplicates
2022-11-18 20:59:31 +01:00
Artem Kobzar 725a224f74 [K/JS] Make available transitive reexport for ES modules 2022-11-18 16:54:10 +00:00
Zalim Bashorov d2b63c8c31 [Wasm] Use common logic for eqeq and eqeqeq
So, now it generates better code when null literals are passed to `eqeqeq`,
same as for `eqeq`.
2022-11-18 17:30:11 +01:00
Zalim Bashorov 96b02c9b66 [Wasm] Minor: move part of code of eqeqSymbol processing in BuiltInsLowering 2022-11-18 17:30:11 +01:00
Zalim Bashorov 0529ba9a87 [Wasm] Extract common some logic of eqeqSymbol processing in BuiltInsLowering 2022-11-18 17:30:10 +01:00
Zalim Bashorov 919029f34f [Wasm] Add fast path for null in externRefToAny
- Introduce new intrinsics `wasm_ref_cast_null` & `wasm_ref_test_null`.
- Support getting type for immediate from generic argument.
- Remove redundant null check in `tryGetOrSetExternrefBox`.
2022-11-18 17:30:10 +01:00
Alexander Shabalin b31a657494 [K/N] Add test support modules to runtime tests ^KT-53776
Previously all modules in a test group would also link in their tests.
This is not ideal. For example, an experimental module M depending on
module N might not yet implement enough functionality to run all Ns
integration tests, but we still want to run Ms unit tests.

Now, there's a separate `testSupportModules` list. For each module their
main sources and test support sources will get linked into the test
group, but the tests will not.

Merge-request: KT-MR-7731
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-11-18 16:11:37 +00:00
Andrei.Tyrin 0df7e689d9 [Gradle][MPP] MPP/AGP compatibility: Bump maxSupportedVersion to 7.4
^KT-54982 Verification Pending
2022-11-18 14:57:36 +00:00
Andrei.Tyrin cc0bd8e57a [MPP] Prettify the message about incompatible AGP and KGP versions
add protocol for youtrack link, quote flag

^KT-53338 Fixed
2022-11-18 14:57:36 +00:00
Svyatoslav Scherbina 69dccec6ca Bump Kotlin/Native version to 1.8.20-dev-2653 2022-11-18 12:11:18 +00:00
Stanislav Erokhin efdfcdff63 Update CODEOWNERS for /libraries/tools/kotlin-gradle-* folders 2022-11-18 12:09:05 +00:00
Yahor Berdnikau e07e92c945 Raise 'kotlin.jvm.target.validation.mode' default value to 'error'.
Now target check intentionally runs always - even when Java sources are
empty. Java part configures publication 'org.gradle.jvm.version'
attribute which affect  published artifact consumers and should be the
same as Kotlin jvmTarget value.

^KT-54993 Fixed
2022-11-18 10:42:00 +00:00
Egor Kulikov 877e11419e Stub updates for RawFirBuilder
First step for KT-52615
2022-11-18 11:40:09 +01:00
Sergej Jaskiewicz becbc06663 [JS] Re-enable some stepping tests 2022-11-18 10:37:58 +00:00
Sergej Jaskiewicz 932e1a3c1d [JS] Re-run stepping tests if they fail because of a Node crash
KT-54283
2022-11-18 10:37:58 +00:00
Yahor Berdnikau 53adf097c2 Exclude Kotlin Gradle Plugins test data from to be owned by infra team 2022-11-18 09:50:02 +00:00
Ilya Gorbunov 59131f8138 Use BCV plugin to dump and check public API of Kotlin Gradle plugin-related artifacts 2022-11-18 06:00:18 +00:00
Ilya Gorbunov 49bd4e672b Drop dump of the obsolete kotlin-coroutines-experimental-compat artifact 2022-11-18 06:00:17 +00:00
Ilya Gorbunov d8e8c6afb3 Update BCV library version in reference public api test and update dumps
There were two problems in BCV fixed:
- https://github.com/Kotlin/binary-compatibility-validator/issues/36
- https://github.com/Kotlin/binary-compatibility-validator/issues/58

Therefore some methods with default values and properties that
mistakenly wasn't included in the dump, now have appeared in it.
2022-11-18 06:00:17 +00:00
Mikhail Glukhikh d41c1e7e99 Code cleanup: ExpectedActualResolver 2022-11-17 22:28:04 +00:00
Mikhail Glukhikh 82f1535007 K1: fix IIOBE in expect-actual checker with different type parameter number
#KT-54827 Fixed
2022-11-17 22:28:04 +00:00
Marco Pennekamp c5e5140c08 [Analysis API] Fix exceptions around type parameters being treated as callables
- `toResolvedCallableSymbol`: cast defensively because
  the resolved symbol might not be a callable symbol.
- `toKtCallInfo`: Check that the resolved symbol is actually callable.

^KTIJ-23003 fixed
2022-11-17 18:58:38 +00:00
Sergey Bogolepov 170c19d293 [K/N] Update SDK versions for iOS/watchOS/tvOS 2022-11-17 17:37:14 +00:00
Sergey Bogolepov c465d8248c [K/N] Update macOS SDK to Xcode 14.1 2022-11-17 17:37:13 +00:00
Sergey Bogolepov 360046a33c [K/N] xcode 14.1 rc2 2022-11-17 17:37:13 +00:00