Files
swift-mirror/test/Interpreter/SDK/dynamic_subclass.swift
2020-02-27 16:10:48 -08:00

28 lines
794 B
Swift

// RUN: %target-run-simple-swift | %FileCheck %s
// REQUIRES: executable_test
// REQUIRES: objc_interop
import Foundation
import ObjectiveC
func DoSwizzle(_ c: AnyClass) -> AnyClass {
let name = String(utf8String: class_getName(c))!
let subclass: AnyClass = objc_allocateClassPair(c, "\(name)Subclass", 0)!
objc_registerClassPair(subclass);
let subclassSubclass: AnyClass = objc_allocateClassPair(subclass, "\(name)SubclassSubclass", 0)!
objc_registerClassPair(subclassSubclass);
return subclassSubclass
}
class MySwiftClassToBeSwizzled: NSObject {
}
_ = DoSwizzle(NSArray.self)
print("Swizzled NSArray")
// CHECK: Swizzled NSArray
_ = DoSwizzle(MySwiftClassToBeSwizzled.self)
print("Swizzled MySwiftClassToBeSwizzled")
// CHECK: Swizzled MySwiftClassToBeSwizzled