| // RUN: %empty-directory(%t) |
| // RUN: %target-swift-frontend -emit-module -o %t/Test.swiftmodule -emit-interface-path %t/Test.swiftinterface -module-name Test %s |
| // RUN: %FileCheck %s < %t/Test.swiftinterface |
| // RUN: %target-swift-frontend -emit-module -o /dev/null -merge-modules %t/Test.swiftmodule -disable-objc-attr-requires-foundation-module -emit-interface-path - -module-name Test | %FileCheck %s |
| |
| // CHECK: final public class FinalClass { |
| public final class FinalClass { |
| // CHECK: @inlinable final public class var a: [[INT:(Swift.)?Int]] { |
| // CHECK-NEXT: {{^}} get { |
| // CHECK-NEXT: return 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: } |
| @inlinable |
| public final class var a: Int { |
| return 3 |
| } |
| |
| // CHECK: final public class var b: [[INT]] { |
| // CHECK-NEXT: {{^}} @inlinable get { |
| // CHECK-NEXT: return 3 |
| // CHECK-NEXT: } |
| // CHECK-NEXT: set[[NEWVALUE:(\(newValue\))?]]{{$}} |
| // CHECK-NEXT: } |
| public final class var b: Int { |
| @inlinable get { |
| return 3 |
| } |
| set { |
| print("x") |
| } |
| } |
| |
| // CHECK: public static var c: [[INT]] { |
| // CHECK-NEXT: {{^}} get |
| // CHECK-NEXT: @inlinable set[[NEWVALUE]] {} |
| // CHECK-NEXT: } |
| public static var c: Int { |
| get { |
| return 0 |
| } |
| @inlinable set {} |
| } |
| } |