blob: db1767b645e902239d24cff888a9da69c6598afe [file] [log] [blame]
import resilient_struct
import Foundation
// Resilient base class
open class ResilientNSObjectOutsideParent: NSObject {
open var property: String = "ResilientNSObjectOutsideParent.property"
public final var finalProperty: String = "ResilientNSObjectOutsideParent.finalProperty"
open class var classProperty: String {
return "ResilientNSObjectOutsideParent.classProperty"
}
override public init() {
print("ResilientNSObjectOutsideParent.init()")
}
open func method() {
print("ResilientNSObjectOutsideParent.method()")
}
open class func classMethod() {
print("ResilientNSObjectOutsideParent.classMethod()")
}
open func getValue() -> Int {
return 0
}
}
// Resilient generic base class
open class ResilientGenericNSObjectOutsideParent<A>: NSObject {
open var property: A
public init(property: A) {
self.property = property
print("ResilientGenericNSObjectOutsideParent.init()")
}
open func method() {
print("ResilientGenericNSObjectOutsideParent.method()")
}
open class func classMethod() {
print("ResilientGenericNSObjectOutsideParent.classMethod()")
}
}
// Resilient subclass of generic class
open class ResilientConcreteNSObjectOutsideChild : ResilientGenericNSObjectOutsideParent<String> {
public override init(property: String) {
print("ResilientConcreteNSObjectOutsideChild.init(property: String)")
super.init(property: property)
}
open override func method() {
print("ResilientConcreteNSObjectOutsideChild.method()")
super.method()
}
open override class func classMethod() {
print("ResilientConcreteNSObjectOutsideChild.classMethod()")
super.classMethod()
}
}
// Fixed-layout base class
@_fixed_layout
open class FixedLayoutNSObjectOutsideParent: NSObject {}