Rework stubs for interop globals passed by value

#KT-21855 Fixed
This commit is contained in:
Svyatoslav Scherbina
2018-01-09 11:54:44 +03:00
committed by SvyatoslavScherbina
parent 670d05a4f3
commit b700f96e0c
5 changed files with 57 additions and 13 deletions
+3 -1
View File
@@ -2324,7 +2324,9 @@ if (isMac()) {
task interop_objc_smoke(type: RunInteropKonanTest) {
disabled = (project.testTarget == 'wasm32') // No interop for wasm yet.
goldValue = "84\nFoo\nHello, World!\nKotlin says: Hello, everybody!\nHello from Kotlin\n2, 1\n" +
"true\ntrue\nDeallocated\nDeallocated\n"
"true\ntrue\n" +
"Global string\nAnother global string\nnull\nglobal object\n" +
"Deallocated\nDeallocated\n"
source = "interop/objc/smoke.kt"
interop = 'objcSmoke'
@@ -52,3 +52,6 @@ void invoke2(void (^block)(void)) {
int (^getSupplier(int x))(void);
Class (^ _Nonnull getClassGetter(NSObject* obj))(void);
extern NSString* globalString;
extern NSObject* globalObject;
@@ -48,6 +48,18 @@ fun run() {
// toString (virtually):
println(map.keys.map { it.toString() }.min() == foo.description())
}
println(globalString)
autoreleasepool {
globalString = "Another global string"
}
println(globalString)
println(globalObject)
globalObject = object : NSObject() {
override fun description() = "global object"
}
println(globalObject)
}
fun MutablePairProtocol.swap() {
@@ -57,3 +57,6 @@ int (^getSupplier(int x))(void) {
Class (^ _Nonnull getClassGetter(NSObject* obj))() {
return ^{ return obj.class; };
}
NSString* globalString = @"Global string";
NSObject* globalObject = nil;