1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
@available(OSX 10.7, iOS 7.0, *)
@_originallyDefinedIn(module: "HighLevel", OSX 10.9, iOS 13.0)
public func printMessageMoved() {
print("Hello from LowLevel")
}
@available(OSX 10.7, iOS 7.0, *)
@available(unrecognizedOS 1.0, *)
@_originallyDefinedIn(module: "HighLevel", OSX 10.9, iOS 13.0)
@_originallyDefinedIn(module: "HighLevel", unrecognizedOS 2.0)
public struct Entity {
public let value = "LowLevel"
public init() {}
public func location() -> String { return "Entity from " + value }
}
// =================== Move protocol =================================//
@available(OSX 10.7, iOS 7.0, *)
@_originallyDefinedIn(module: "HighLevel", OSX 10.9, iOS 13.0)
public protocol Box {
associatedtype Item
var ItemKind: String { get }
func getItem() -> Item
func shape() -> String
}
@available(OSX 10.7, iOS 7.0, *)
@_originallyDefinedIn(module: "HighLevel", OSX 10.9, iOS 13.0)
extension Box {
public func shape() -> String { return "round"}
}
@available(OSX 10.7, iOS 7.0, *)
@_originallyDefinedIn(module: "HighLevel", OSX 10.9, iOS 13.0)
public struct Candy {
public var kind = "candy"
public init() {}
}
// =================== Move enum ============================ //
@available(OSX 10.7, iOS 7.0, *)
@_originallyDefinedIn(module: "HighLevel", OSX 10.9, iOS 13.0)
public enum LanguageKind: Int {
case Cpp = 1
case Swift = 2
case ObjC = 3
}
// =================== Move class ============================ //
@available(OSX 10.7, iOS 7.0, *)
@_originallyDefinedIn(module: "HighLevel", OSX 10.9, iOS 13.0)
open class Vehicle {
public init() {}
public var currentSpeed = 40.0
}
// =================== Move from macro ======================= //
@available(OSX 10.7, iOS 7.0, *)
@_originallyDefinedIn(module: "HighLevel", _iOS13Aligned)
public func funcMacro () { print("Macro from LowLevel") }
|