Commit Graph

99852 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 96e9d690a6 [CLI] Prohibit passing HMPP module structure with CLI arguments to metadata compiler
^KT-57644 Fixed
2023-03-31 09:59:52 +00:00
Dmitriy Novozhilov b9c61bbc60 [FIR] Properly setup dependant module data for metadata compilation
^KT-57377 Fixed
2023-03-31 09:59:51 +00:00
Dmitriy Novozhilov b2e03035a9 [FIR] Properly load isExpect flag for constructors
^KT-57635 Fixed
2023-03-31 09:59:51 +00:00
Dmitriy Novozhilov 88d61173b6 [FIR] Don't run platform checkers during compilation to metadata
^KT-57376 Fixed
2023-03-31 09:59:51 +00:00
Mark Mann b6f669189b Use protocol name when creating objc protocol wrapper class 2023-03-31 09:50:25 +00:00
Sergey Bogolepov 51d441ee38 [K/N] Fix KT-57541
Root cause: commonizer does not add `ExternalObjCClass` annotation
to expect declarations, so forward declarations aren't resolved.

It is simpler (and safer) to fix it on the compiler side by checking
superclass instead of annotation.
2023-03-31 09:05:52 +00:00
Alexander Udalov 37c776b233 Add JVM target bytecode version 20
#KT-57495 Fixed
2023-03-30 19:05:41 +00:00
Artem Daugel-Dauge 7aeca2fda0 [Gradle] Split CocoapodsTasks and AdvancedCocoapodsTasks into separate files (2/2) 2023-03-30 18:48:17 +00:00
Artem Daugel-Dauge fc68873df7 [Gradle] Split CocoapodsTasks and AdvancedCocoapodsTasks into separate files (1/2) 2023-03-30 18:48:16 +00:00
Svyatoslav Scherbina f5532abd11 Native: support compileBitcodeWithXcodeLlvm=false binary option
This option makes the compiler use Kotlin/Native-provided LLVM
instead of Xcode-provided LLVM when compiling bitcode to machine code
for Apple targets.

^KT-54799 Fixed
2023-03-30 18:05:00 +00:00
Dmitriy Dolovov 1aa3e54459 [PL] Use CLI parameter -Xpartial-linkage with new semantics in Gradle plugin 2023-03-30 16:03:41 +00:00
Ilya Goncharov 39b385f475 [Gradle, JS] distribute resources with wasm file 2023-03-30 15:33:57 +00:00
Denis.Zharkov ca5789cec0 K2: Remove unreachable branch in when at SubstitutionOverrideCache
- It happens because FirSyntheticPropertySymbol <: FirPropertySymbol
- Also remove functions became unused

^KT-54345 Related
2023-03-30 14:43:30 +00:00
Pavel Kargashinsky 11e4cb12b7 [Gradle][Tests][MPP] Inherit mpp tests from MPPBaseTest 2023-03-30 12:55:24 +00:00
Pavel Kargashinsky d07fd15565 [Gradle][Tests][MPP] fix android namespace in mpp-composite test-data 2023-03-30 12:55:24 +00:00
Pavel Kargashinsky 5beba0acc6 [Gradle][Tests][MPP] Move BETA-versions test logic in MPPBaseTest 2023-03-30 12:55:23 +00:00
Pavel Kargashinsky 2a336140d2 [Gradle][Tests][MPP] set compileSdkVersion to 31 in new-mpp-adnroid test-data 2023-03-30 12:55:23 +00:00
Pavel Kargashinsky 91f38e76b8 [Gradle][Tests][MPP] Use JDK_17 for XCFrameworkIT and AppleFrameworkIT 2023-03-30 12:55:23 +00:00
Pavel Kargashinsky 46aed2b6b3 [Gradle][Tests][MPP] Fix AppleSiliconIT test 2023-03-30 12:55:22 +00:00
Pavel Kargashinsky 23a1598f0d [Gradle][Tests][MPP] Introduce NEXT_RELEASE versions constant for Gradle and AGP 2023-03-30 12:55:22 +00:00
Pavel Kargashinsky 7ae0e24bc7 [Gradle][Tests][MPP] Bump AGP and Gradle version in MPP related tests 2023-03-30 12:55:22 +00:00
Dmitriy Dolovov 46ed6e5766 [PL] Change semantics of CLI parameter -Xpartial-linkage
This parameter accepts the name of the "mode" in which the partial linkage would work. Currently, only two options are supported: 'enable', 'disable'. But the list may be extended in the future as needed.

At the moment the 'disable' option is the default one. This will be changed in #KT-51447, #KT-51443.
2023-03-30 12:38:07 +00:00
Dmitriy Dolovov a450866db3 [PL] Commonize Native & JS compiler configuration keys 2023-03-30 12:38:07 +00:00
Dmitriy Dolovov 831611d577 [PL] Introduce new CLI parameter: -Xpartial-linkage-loglevel
The parameter controls the level of logs produced during the compile time by the partial linkage: 'info', 'warn' (default for now), and 'error'.
2023-03-30 12:38:06 +00:00
Jinseong Jeon d8902816d0 SLC: fix non-last vararg parameter type
^KT-57547 Fixed
2023-03-30 12:07:01 +00:00
Denis.Zharkov 2622e593b5 Postpone KeepNullabilityWhenApproximatingLocalType until 2.0
See KT-53982
It's been decided to postpone enabling the bug fix, since there's been
 too little time for deprecation
2023-03-30 10:42:31 +00:00
Nikolay Lunyak 7545472dd3 [FIR] Validate K2 diagnostic messages as a unit-test 2023-03-30 09:42:15 +00:00
Nikolay Lunyak 8096e94c88 [FIR] KT-57458: Ensure the current K2 behavior differs from K1 2023-03-30 09:42:15 +00:00
Nikolay Lunyak f73ce25dbd [FIR] KT-57457: Ensure deprecations have messages
^KT-57457 Fixed
2023-03-30 09:42:14 +00:00
Vladimir Sukharev b9633375b4 [K2/N] KT-56030: Support Objective-C overloading by param names only
Merge-request: KT-MR-8901
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-03-30 09:37:57 +00:00
Dmitriy Novozhilov c957a0b43b [IR] Properly serialize IrDeclarationOrigin.GeneratedByPlugin to klibs
^KT-56911 Fixed
2023-03-30 07:52:56 +00:00
Nikolay Lunyak 12b11bd034 [FIR] KT-57568: Make K2 treat signed ints as more specific than unsigned
This is the way it works in K1.
See `OverloadingConflictResolver.kt:345`.

^KT-57568 Fixed

Merge-request: KT-MR-9395
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com>
2023-03-30 06:28:16 +00:00
Leonid Shalupov 34c82011fc Remove copying of transient fields in argumentUtils
Current code in argumentUtils handles transient fields incorrectly
and copies them (not intended behaviour)

change is required for further work in arguments handling

ref https://jetbrains.team/im/review/3CCOfH4ffz5J?message=9fPd30T1rQz&channel=1y9ZTj2JB0aG
2023-03-29 20:20:02 +01:00
Jinseong Jeon 0ac3fae9ab LC: commonize facade for multi-file class 2023-03-29 18:51:03 +02:00
Dmitriy Dolovov bcee270265 [PL][tests] Add JS K2 ABI partial linkage tests 2023-03-29 16:20:15 +00:00
Dmitriy Dolovov 5f1c09cc24 [PL][tests] Rename KLIB ABI tests to Partial Linkage tests 2023-03-29 16:20:14 +00:00
Dmitriy Dolovov b677112992 [PL][tests] Add Native K2 ABI compatibility tests 2023-03-29 16:20:14 +00:00
Dmitriy Dolovov 8147aa7dd6 [PL][tests] Don't compile source->binary directly in Native KLIB ABI tests
Avoid using source+KLIB+cache?->binary compilations in KLIB ABI tests. Such compilations are not supported by Native K2 and thus will block migrating ABI tests to K2.
2023-03-29 16:20:14 +00:00
Vladimir Sukharev 639b0cc525 Revert "[K2/N] KT-56190 Serialize simple const property initializers"
This reverts commit 2ace8ba9bd.
2023-03-29 18:00:09 +02:00
Dmitriy Dolovov 8380a1ed54 [PL][tests] Update IDE run configurations 2023-03-29 15:41:06 +00:00
Dmitriy Novozhilov 5ccf1eddab [K2 Serialization] Remove obsolete formatting suppression 2023-03-29 15:18:37 +00:00
Dmitriy Novozhilov fb97f4db87 [FIR] Don't create generated nested classifier scope for non-source classes
^KT-57626 Fixed
2023-03-29 15:18:37 +00:00
Dmitriy Novozhilov ea6651445c [Build] Fix generated run configurations for modularized tests with JPS
Previously it used incorrect path to dist directory, which lead to
  incorrect calculation of path for compiler plugin jars
2023-03-29 15:18:36 +00:00
Denis.Zharkov a8b9e8c44e K2: Fix false-positive TYPE_MISMATCH for suspend lambdas
Why did the problem existed?
At first, lambdas were analyzed with suspend function expected type,
because it's the WHEN-case and we propagate expected type info to
the branches.

Then, after the lambdas was introduced to the containing inference
system, we're creating ResolvedLambdaAtom using the information
from analyzed lambda's shape, but didn't use known lambda resulting
type (from which we might infer FunctionTypeKind).

So, the fix is just using that already obtained information.

^KT-57446 Fixed
2023-03-29 15:02:26 +00:00
Denis.Zharkov 0056ac5f5a K2: Clarify extractLambdaInfo contracts from its single usage
Currently, it's only been called once extractLambdaInfoFromFunctionType
returned null
2023-03-29 15:02:26 +00:00
Svyatoslav Scherbina 65d781758c Native: fix objc_direct tests on platforms with 32-bit NSUInteger
On some platforms, `NSUInteger` is 32-bit, while the objc_direct tests
expected it to be represented as `ULong`. So the tests failed on those
platforms.
Fix the tests by replacing `NSUInteger` with `uint64_t`.
2023-03-29 13:29:08 +00:00
Vladimir Sukharev 2ace8ba9bd [K2/N] KT-56190 Serialize simple const property initializers
Merge-request: KT-MR-8623
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-03-29 13:26:43 +00:00
Svyatoslav Kuzmich 46a6695072 [Wasm] WebIDL: Make getters and setters not inline 2023-03-29 11:08:30 +00:00
Svyatoslav Kuzmich 0c7d625123 [Wasm] Suppress warning of unused parameter in WebIDL js(code) functions 2023-03-29 11:08:30 +00:00
Svyatoslav Kuzmich c466f926b0 [Wasm] Deprecate Dynamic in favour of JsAny
Remove extension methods created to compile
Kotlin/JS-like WebIDL bindings

^KT-57060 Fixed
2023-03-29 11:08:30 +00:00