[K/N] Throw exception on abstract class instantiation in ObjC
This commit is contained in:
@@ -5450,6 +5450,14 @@ if (isAppleTarget(project)) {
|
||||
swiftSources = ['framework/stacktraceByLibbacktrace/']
|
||||
}
|
||||
|
||||
frameworkTest("testAbstractInstantiationFramework") {
|
||||
framework('AbstractInstantiation') {
|
||||
sources = ['framework/abstractInstantiation']
|
||||
}
|
||||
swiftSources = ['framework/abstractInstantiation/']
|
||||
expectedExitStatus = 134
|
||||
}
|
||||
|
||||
frameworkTest("testFrameworkBundleId") {
|
||||
def currentTarget = project.target.name
|
||||
enabled = currentTarget.startsWith("mac")
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
public abstract class AbstractBase(val y: Int) {
|
||||
abstract val x: Int
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
import Foundation
|
||||
import AbstractInstantiation
|
||||
|
||||
func testInstantiate() throws {
|
||||
// this is failure test, it shouldn't work
|
||||
let base = AbstractBase(y: 5)
|
||||
}
|
||||
|
||||
class AbstractInstantiationTests : TestProvider {
|
||||
var tests: [TestCase] = []
|
||||
|
||||
init() {
|
||||
providers.append(self)
|
||||
tests = [
|
||||
TestCase(name: "testInstantiate", method: withAutorelease(testInstantiate))
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,6 @@ import Kt
|
||||
|
||||
private func test1() throws {
|
||||
let user = Person.User(id: 1)
|
||||
let worker = Person.Worker()
|
||||
let employee = Person.WorkerEmployee(id: 2)
|
||||
let contractor = Person.WorkerContractor(id: 3)
|
||||
let userAsPerson: Person = user
|
||||
|
||||
Reference in New Issue
Block a user