Commit Graph

1875 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 5c632bc78e [FIR2IR] Don't create f/o symbols on smartcasted Nothing in dispatch receiver
^KT-63525 Fixed
2024-02-28 08:28:14 +00:00
Marco Pennekamp 708ed81eb2 [Test] Avoid importing unused @Nested annotations in generated tests
- Unused `Nested` imports frequently cause unused import warnings in the
  IDE, which are especially annoying in after-commit warning/error
  analysis.
2024-02-27 20:30:06 +00:00
Artem Daugel-Dauge fff5a412ec [Gradle] Xcode version too high warning
Adds new warning diagnostic that checks that selected Xcode version is not higher than latest tested with the current Kotlin version

^KT-62373 Verification Pending
2024-02-27 13:23:55 +00:00
Alexander Shabalin 0882d1752d [K/N][tests] Fix path-separator handling ^KT-65977 2024-02-27 13:20:50 +00:00
Alexander Shabalin c491858a49 [K/N][tests] Add EnforcedHostTarget to atomicfu tests ^KT-65977 2024-02-27 13:20:50 +00:00
Mikhail Glukhikh 678816f9e8 K1: introduce BUILDER_INFERENCE_STUB_PARAMETER_TYPE to prevent compiler crashes
This diagnostic is reported in rare situations when
StubTypeForBuilderInference is kept as a parameter type
of for loop or lambda. Before this commit, we had in K1
"Could not load module <error module>" from IrLinker instead.

Related to: KT-52757, KT-53109, KT-63841, KT-64066
#KT-53478 Fixed
2024-02-27 10:25:13 +00:00
Artem Olkov f493df42a9 [Swift Export] fix swift export full test by adding missing runtime modulemap
Merge-request: KT-MR-14627
Merged-by: Artem Olkov <artem.olkov@jetbrains.com>
2024-02-27 08:15:12 +00:00
Artem Olkov e4acb396ba Add SIR builder and printer for classes #KT-65905 fixed
Merge-request: KT-MR-14478
Merged-by: Artem Olkov <artem.olkov@jetbrains.com>
2024-02-26 14:30:07 +00:00
Vladimir Sukharev febac0dd5f [Tests] Migrate backend-independent tests from native to compiler/testData.
^KT-65979
2024-02-26 13:38:49 +00:00
Artem Olkov dd9332d9e1 Add kotlin runtime modulemap for swift export as part of kotlin-native dist #KT-65673 fixed
Co-authored-by: Alexander Shabalin <alexander.shabalin@ashabalin.me>

Merge-request: KT-MR-14493
Merged-by: Artem Olkov <artem.olkov@jetbrains.com>
2024-02-26 12:51:57 +00:00
Andrey Yastrebov 28a305a826 KT-65928 Worker API for Swift Export 2024-02-26 12:44:22 +00:00
Abduqodiri Qurbonzoda 7978f63d37 Set AV to 2.0 in K/N StdlibTest 2024-02-26 10:48:29 +00:00
Dmitriy Novozhilov 9857bdc891 [FIR2IR] Unwrap typealiases during applying of suspend conversion
^KT-65002 Fixed
2024-02-26 08:56:24 +00:00
eugene.levenetc 83ddf904aa [ObjCExport] Fix data class predefined methods translation
KT-65800
2024-02-25 21:31:30 +00:00
Pavel Kunyavskiy c991535756 [IRFakeOverrides] Fix accessors visibilities
^KT-65801
2024-02-23 16:35:27 +00:00
Vladimir Sukharev 425381ddf9 [K/N][Tests] Improve test UX for wrong combination of OPT and CACHE modes 2024-02-23 15:06:16 +00:00
Sebastian Sellmair 6b6808d87c [ObjCExport] ObjCType: Implement HasExtras instead of HasMutableExtras
... to enforce the immutability concept of this entities.

KT-65891 Fixed
2024-02-23 07:31:32 +00:00
Sebastian Sellmair 622a88ff26 [ObjCExport] Translate ObjCObject types, respecting the @ExternalObjCClass annotation
KT-65891 Fixed
2024-02-23 07:31:32 +00:00
Sebastian Sellmair a5baf42422 [ObjCExport] KtObjCExportHeaderGenerator: Separate 'requiresClassForwardDeclaration' from ObjCType.classId
There are two different objectives associated with this newly
introduced extras:

- originClassId: Used to track where a type came from; Will
ensure that the translation queue will be populated to also
translate potential dependency classes

- requiresForwardDeclaration: Used to track if a certain
type requires rendering as forward declaration

KT-65891
2024-02-23 07:31:32 +00:00
Vladimir Sukharev 947b825d77 [K/N][Tests] Ignore test kt56402 with caches
^KT-66032
2024-02-22 22:41:37 +00:00
Vladimir Sukharev ecdf97c6b7 [K/N][Tests] Adjust test smoke.kt to improved fake override engine
^KT-61323
2024-02-22 22:41:37 +00:00
Vladimir Sukharev 98c3147d19 [K/N][Tests] Fix ComplexCInteropTest.kt to respect 2-stage compilation
^KT-66014
2024-02-22 22:41:37 +00:00
Alexander Shabalin edf8dc0421 [K/N] Add xcodeOverride to Xcode in native-utils ^KTI-1553
- findCurrent() is used by the build of Kotlin/Native compiler itself.
  It happens indirectly, via AppleConfigurables.
- CurrentXcode invokes xcrun command line tool in its implementation.
- Configuration cache prohibits calling external commands

All three factors combined make K/N compiler build incompatible with CC.

By using xcodeOverride, K/N compiler build can provide its own Xcode
instance avoiding calling external commands when it's not allowed by CC.
2024-02-22 21:22:36 +00:00
Andrey Yastrebov 9d30fb1b1c KT-65741 Fix SIR visitor parameter name & fix typo 2024-02-22 18:46:01 +00:00
Dmitriy Dolovov 8365915b3f [Commonizer] Metadata comparator: Proper comparison of type lists
There are two types of type lists that can be met in Kotlin metadata
and that should be treated in a different way:

1. The order-sensitive type list. Examples: Context receivers.
2. The order-insensitive type list. Examples: Class supertypes,
   type parameter upper bounds.

With (1) swapping elements in list causes source and/or ABI
incompatibility, while with (2) it does not. If it happens that we
compare two type lists in Kotlin metadata of (2) kind, we should group
them using the key computed with the help of
`dumpToString(dumpExtras = false)` instead of just the index as we do
in case of (1).

^KT-62753
2024-02-22 17:53:15 +00:00
Dmitriy Dolovov 40af02ca4f [Commonizer] Metadata comparator: A special path element for FlexibleTypeUpperBound
^KT-62753
2024-02-22 17:53:15 +00:00
Alexander Shabalin dc4f12f29c Revert "[K/N][Tests] Migrate driver test llvm_variant_dev"
This reverts commit d8a90f55a8.
2024-02-22 14:56:13 +00:00
Alexander Shabalin 4765cfda53 Revert "[K/N][Tests] Migrate test override_konan_properties0"
This reverts commit 9ef051dbc5.
2024-02-22 14:56:13 +00:00
Alexander Shabalin 8518c3f54f Revert "[K/N][Tests] Migrate test override_konan_properties0 and add testDriverVersion"
This reverts commit fbe8db4b45.
2024-02-22 14:56:13 +00:00
Alexander Shabalin 876be8f17a Revert "[K/N][Tests] Ignore KonanDriverTest tests on MinGW/opt.debug/cache.no"
This reverts commit 313b230333.
2024-02-22 14:56:13 +00:00
Yahor Berdnikau 6b19b8b9d0 [Repo] Don't use kotlinOptions in repo build scripts
^KT-63419 In Progress
2024-02-22 14:48:10 +00:00
eugene.levenetc 30b63e4843 [ObjCExport] Add translation of functions and properties extensions
KT-65630
2024-02-22 09:20:12 +00:00
Dmitriy Dolovov 7fe0de897b [KLIB tool] Update missing test data in Kotlin/Native C-interop tests
^KT-62340
2024-02-21 21:21:31 +00:00
Vladimir Sukharev bd7ffc71aa [K/N][Tests] Migrate test kt62262.kt
^KT-61259
2024-02-20 21:10:33 +00:00
Vladimir Sukharev 3d70be0c5f [K/N][Tests] Migrate test kt40426
^KT-61259
2024-02-20 18:56:54 +00:00
Dmitrii Krasnov f525d03e67 [Gradle] Moved downloading konan dependencies from compiler to Gradle
^KT-65823 Fixed
2024-02-20 15:47:58 +00:00
Sergey Bogolepov 8ae6e98295 [Native][Tests] Adapt CExport tests to generator changes 2024-02-20 15:23:22 +00:00
Sergey Bogolepov 4f9c1860b1 [Native][Tests] Add tests for -Xbinary=cInterfaceMode=none 2024-02-20 15:23:22 +00:00
Sergey Bogolepov dd25130464 [Native][Tests] Move existing CExport tests under the InterfaceV1 dir
To avoid collisions with the future InterfaceNone tests
2024-02-20 15:23:22 +00:00
Sergey Bogolepov 06c0977408 [Native][Tests] Refactor CExport tests for future changes
1. Unify BinaryLibraryKind type and move it to TestSettings
2. Pass it via ClassSettings instead of constructor parameters.
3. Update GenerateNativeTests.kt to generate CExport tests as a matrix.
2024-02-20 15:23:22 +00:00
Vladimir Sukharev 313b230333 [K/N][Tests] Ignore KonanDriverTest tests on MinGW/opt.debug/cache.no
^KT-61259
2024-02-20 12:56:58 +00:00
Vladimir Sukharev 223277f106 Revert "[K/N][Tests] Fix passing of -Xbinary options under MinGW"
This reverts commit ba217ad688.
2024-02-20 12:56:58 +00:00
Kirill Rakhman 634f0c2ae7 [FIR2IR] Unwrap named arguments for suspend conversion
#KT-65878 Fixed
2024-02-20 12:52:08 +00:00
Dmitriy Dolovov a2a217799b [KLIB tool] Update KLIB metadata signature dump tests
^KT-62340
2024-02-20 11:52:26 +00:00
Dmitriy Novozhilov 3469e3b198 [FIR2IR] Create delegated field for delegation to var property
^KT-65920 Fixed
2024-02-20 09:46:17 +00:00
Johan Bay 446db595ce [K/N] keep internal members in header klibs
This is also the behavior of jvm-abi-gen and desired to support
friend modules.
^KT-65442
2024-02-20 08:03:07 +00:00
Vladimir Sukharev 2b2c685827 [K/N][Tests] Migrate dylib-interop-exe tests
^KT-61259
2024-02-19 18:44:08 +00:00
Vladimir Sukharev ba217ad688 [K/N][Tests] Fix passing of -Xbinary options under MinGW
^KT-61259
2024-02-19 17:42:34 +00:00
Sebastian Sellmair 98eca9058b [ObjCExport][Minor] Add breadcrumb for KT-65891 2024-02-19 14:24:37 +00:00
Sebastian Sellmair d0e67ff336 [ObjCExport] Restructure ObjC export symbol queue to replicate order of K1
The previous implementation used a two-stage process:
1) Processing of declared symbols
2) Analysis and processing of referenced dependency symbols

However, to replicate the exact same order as in K1
those two steps need to be done together.

^KT-64953 Fixed
2024-02-19 14:24:37 +00:00