Commit Graph

21 Commits

Author SHA1 Message Date
Svyatoslav Scherbina 76672a4abf Native: terminate if cinterop ObjC reference conversion throws exception
To avoid forwarding Obj-C exceptions to Kotlin or vice versa.
Otherwise this might lead to a crash or other undesirable behaviour.

^KT-50648 Fixed
2022-02-09 07:47:42 +00:00
Pavel Kunyavskiy 3798920183 [K/N] Any.isFrozen is now always false when freezing is disabled 2022-01-24 13:38:30 +00:00
Svyatoslav Scherbina 575c0fabb6 Native: add test for KT-38850
(the bug was fixed long ago, in 1.4-M1).
2021-12-08 13:00:15 +00:00
Svyatoslav Scherbina ea7160947a Native: enable lazy IR generation before running fake override builder
^KT-48816 Fixed

Native compiler uses lazy IR for declarations provided by cinterop.
The problem: `FakeOverrideBuilder` requests super types during
type checking, accessing `.owner` for them. So if a type and super type
are represented as lazy IR, and lazy IR generation is not enabled yet,
then the super type symbol won't be bound by this moment, and the access
will fail.

This happens in KT-48816: fake override builder tries to access `.owner`
for `IrClassSymbol` of `NSObject` (super type of `NSDate` and `NSUUID`).

Fix this by enabling lazy IR generation before building fake overrides.
2021-11-10 12:30:12 +00:00
Vladimir Ivanov 8ba164163c [K/N] cinterop: ignore CXIdxEntity_CXXClass in ObjC header
Unexpected behavior is caused by `@class` declaration in ObjC context.
This entity is not used in CPP context either.
2021-09-09 09:37:05 +00:00
Dmitriy Dolovov df208dc060 [Native][tests] Fix failing 'interop_objc_smoke_noopgc' test 2021-09-03 14:53:10 +03:00
Dmitriy Dolovov 1a863106e6 [Native][tests] Move golden data outside of Gradle build file 2021-09-01 10:14:01 +03:00
Svyatoslav Scherbina b13e7d1e28 Native: enable more Obj-C interop tests for new MM 2021-06-11 07:35:50 +00:00
Pavel Punegov afdecef112 Use minOrNull instead of deprecated min in the interop_objc_test 2021-04-08 11:57:34 +03:00
Svyatoslav Scherbina 107129679e Native: fix interop_objc_tests after recent frontend change
b60056f11e raises a warning to an error,
fixing this error here.
2021-03-30 15:32:46 +00:00
Sergey Bogolepov ec23ebd1c5 Fix workerAutoreleasePool test on macos_arm64 using __autoreleasing
Also merge `createAutorelease` and `create. There is no need in
such separation since it was originally added to prevent
optimization `result`'s lifetime.
Turned out, it was still happening on Apple Silicon,
and only addition of __autoreleasing attribute solves the problem.
2021-03-22 14:02:39 +03:00
Vladimir Ivanov ba50a8275c Add test for [KT-3706]
Issue is already fixed by metadata-based cinterop

(cherry picked from commit fd4f5b2c07ebdc431d6243ac087f911ee30e88ca)
2021-03-15 15:54:48 +03:00
Pavel Punegov 73297a4ef3 Remove obsolete comments in the test 2021-01-26 17:38:02 +03:00
Pavel Punegov 6cc74a1b66 Better fix for the test: check for NUSInteger size 2021-01-26 17:38:02 +03:00
Pavel Punegov b565562a1f Fix architecture check in the test 2021-01-26 17:38:02 +03:00
Pavel Punegov e241d1249c Fix NSUInteger size for Watchos x64 2021-01-26 17:38:02 +03:00
Alexander Shabalin c582612bd7 Restore runtimeState value in deinitRuntime (#4587) 2020-12-14 15:25:37 +01:00
SvyatoslavScherbina 62272f54c1 Fix isa swizzling for Kotlin subclasses of Obj-C classes
Don't rely on indexed ivars of instance's isa since isa swizzling
replaces it. Use method instead, it works on the replacement too
(if it is a subclass of the original isa).

 #KT-42482 Fixed.
2020-12-14 15:25:37 +01:00
Alexander Shabalin ee508efb23 Add a switch to destroy runtime only on shutdown (#4482) 2020-11-28 21:01:54 +01:00
SvyatoslavScherbina 47c606f1eb Wrap worker jobs to autoreleasepool
#KT-42822 Fixed.
2020-11-28 19:44:18 +01:00
Stanislav Erokhin f624800b84 Move everything under kotlin-native folder
I was forced to manually do update the following files, because otherwise
they would be ignored according .gitignore settings. Probably they
should be deleted from repo.

Interop/.idea/compiler.xml
Interop/.idea/gradle.xml
Interop/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_runtime_1_0_3.xml
Interop/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_0_3.xml
Interop/.idea/modules.xml
Interop/.idea/modules/Indexer/Indexer.iml
Interop/.idea/modules/Runtime/Runtime.iml
Interop/.idea/modules/StubGenerator/StubGenerator.iml
backend.native/backend.native.iml
backend.native/bc.frontend/bc.frontend.iml
backend.native/cli.bc/cli.bc.iml
backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt
backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2NativeCompilerArguments.kt
backend.native/tests/link/lib/foo.kt
backend.native/tests/link/lib/foo2.kt
backend.native/tests/teamcity-test.property
2020-10-27 21:00:28 +03:00