File: originally-defined-attr.swift

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (51 lines) | stat: -rw-r--r-- 2,489 bytes parent folder | download
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
// RUN: %empty-directory(%t)

// Ensure the attribute is printed in swiftinterface files
// RUN: %target-swift-emit-module-interface(%t/Foo.swiftinterface) %s -module-name Foo \
// RUN:   -define-availability "_iOS8Aligned:macOS 10.10, iOS 8.0" \
// RUN:   -define-availability "_iOS9:iOS 9.0" \
// RUN:   -define-availability "_macOS10_11:macOS 10.11" \
// RUN:   -define-availability "_myProject 1.0:macOS 10.11"
// RUN: %target-swift-typecheck-module-from-interface(%t/Foo.swiftinterface) -module-name Foo
// RUN: %FileCheck %s < %t/Foo.swiftinterface

// Ensure the attribute is in .swiftmodule files
// RUN: %target-swift-ide-test -print-module -module-to-print Foo -I %t -source-filename %s > %t/printed-module.txt
// RUN: %FileCheck %s < %t/printed-module.txt

// CHECK: @_originallyDefinedIn(module: "another", macOS 13.13)
@available(OSX 10.8, *)
@_originallyDefinedIn(module: "another", OSX 13.13)
public protocol SimpleProto { }

// CHECK: @_originallyDefinedIn(module: "original", tvOS 1.0)
// CHECK: @_originallyDefinedIn(module: "another_original", macOS 2.0)
// CHECK: @_originallyDefinedIn(module: "another_original", iOS 3.0)
// CHECK: @_originallyDefinedIn(module: "another_original", watchOS 4.0)
@available(tvOS 0.7, OSX 1.1, iOS 2.1, watchOS 3.2, *)
@_originallyDefinedIn(module: "original", tvOS 1.0)
@_originallyDefinedIn(module: "another_original", OSX 2.0, iOS 3.0, watchOS 4.0)
public struct SimpleStruct {}

// CHECK: @_originallyDefinedIn(module: "other0", macOS 10.10)
// CHECK: @_originallyDefinedIn(module: "other0", iOS 8.0)
@available(tvOS 0.7, OSX 1.1, iOS 2.1, watchOS 3.2, *)
@_originallyDefinedIn(module: "other0", _iOS8Aligned)
public struct SimpleThingInAlphabeticalOrderForMacros0 {}

// CHECK: @_originallyDefinedIn(module: "other1", iOS 9.0)
// CHECK: @_originallyDefinedIn(module: "other1", macOS 10.11)
@available(tvOS 0.7, OSX 1.1, iOS 2.1, watchOS 3.2, *)
@_originallyDefinedIn(module: "other1", _iOS9, _macOS10_11)
public struct SimpleThingInAlphabeticalOrderForMacros1 {}

// CHECK: @_originallyDefinedIn(module: "other2", macOS 10.11)
@available(tvOS 0.7, OSX 1.1, iOS 2.1, watchOS 3.2, *)
@_originallyDefinedIn(module: "other2", _myProject 1.0)
public struct SimpleThingInAlphabeticalOrderForMacros2 {}

// CHECK: @_originallyDefinedIn(module: "another", macOS 13.13)
@available(OSX 10.8, *)
@_originallyDefinedIn(module: "another", OSX 13.13)
@usableFromInline
internal struct SimpleThingInAlphabeticalOrderForMacros3_UsableFromInline {}