Files
swift-mirror/test/Interpreter/static_objc_var.swift
David Farler a079cbc49a Generate trivial accessors for static stored properties in objc classes
Expose static stored properties in @objc classes as trivial class
methods.

static let i: T => +(T)i
static var i: T => +(T)i and +(void)setI:
static var k T { get set } => No change.

Fixes rdar://problem/19784053

Swift SVN r25152
2015-02-11 00:44:59 +00:00

55 lines
835 B
Swift

// RUN: %target-run-simple-swift | FileCheck %s
// REQUIRES: objc_interop
import Foundation
class C : NSObject {
static let i = 2
static var j = "Hello"
static var k: Double {
return 3.14
}
}
// CHECK: true
println(C.self.respondsToSelector("i"))
// CHECK: 2
println(C.i)
// CHECK: false
println(C.self.respondsToSelector("setI:"))
// CHECK: true
println(C.self.respondsToSelector("j"))
// CHECK: Hello
println(C.j)
C.j = "World"
// CHECK: World
println(C.j)
// CHECK: true
println(C.self.respondsToSelector("setJ:"))
// CHECK: Test
C.performSelectorOnMainThread("setJ:", withObject: "Test", waitUntilDone: true)
println(C.j)
// CHECK: OK
C.j = "OK"
println(C.j)
// CHECK: true
println(C.self.respondsToSelector("k"))
// CHECK: 3.14
println(C.k)
// CHECK: false
println(C.self.respondsToSelector("setK:"))