| // RUN: %target-swift-ide-test -print-ast-typechecked -source-filename=%s -print-implicit-attrs -disable-objc-attr-requires-foundation-module | %FileCheck %s |
| // REQUIRES: objc_interop |
| |
| @objc class Super { |
| @objc dynamic func baseFoo() {} |
| } |
| |
| // CHECK: extension Super { |
| extension Super { |
| // CHECK: @objc dynamic func foo |
| @objc func foo() { } |
| |
| // CHECK: @objc dynamic var prop: Super |
| @objc var prop: Super { |
| // CHECK: @objc get |
| get { return Super() } |
| // CHECK: @objc set |
| set { } |
| } |
| |
| // CHECK: @objc dynamic subscript(sup: Super) -> Super |
| @objc subscript(sup: Super) -> Super { |
| // CHECK: @objc get |
| get { return sup } |
| // CHECK: @objc set |
| set { } |
| } |
| } |
| |
| |
| @objc class Sub : Super { } |
| |
| // CHECK: extension Sub |
| extension Sub { |
| // CHECK: @objc override dynamic func foo |
| override func foo() { } |
| |
| // CHECK: @objc override dynamic var prop: Super |
| override var prop: Super { |
| // CHECK: @objc get |
| get { return Super() } |
| // CHECK: @objc set |
| set { } |
| } |
| |
| // CHECK: @objc override dynamic subscript(sup: Super) -> Super |
| override subscript(sup: Super) -> Super { |
| // CHECK: @objc get |
| get { return sup } |
| // CHECK: @objc set |
| set { } |
| } |
| |
| // CHECK: @objc override dynamic func baseFoo |
| override func baseFoo() { |
| } |
| } |
| |
| |
| @objc class FinalTests {} |
| |
| extension FinalTests { |
| // CHECK: @objc final func foo |
| @objc final func foo() { } |
| |
| // CHECK: @objc final var prop: Super |
| @objc final var prop: Super { |
| // CHECK: get |
| get { return Super() } |
| // CHECK: set |
| set { } |
| } |
| |
| // CHECK: @objc final subscript(sup: Super) -> Super |
| @objc final subscript(sup: Super) -> Super { |
| // CHECK: get |
| get { return sup } |
| // CHECK: set |
| set { } |
| } |
| |
| // CHECK: @objc @_hasInitialValue static var x |
| @objc static var x: Int = 0 |
| |
| // CHECK: @objc static func bar |
| @objc static func bar() { } |
| } |
| |