-
Notifications
You must be signed in to change notification settings - Fork 10.5k
/
Copy pathprinter_include_decls.swift
59 lines (47 loc) · 1.03 KB
/
printer_include_decls.swift
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
// RUN: rm -f %t.*
// RUN: %target-swift-frontend -emit-sil %s -o %t.sil
// RUN: %FileCheck --input-file=%t.sil %s
// RUN: %target-swift-frontend -Xllvm -parse-serialized-sil -emit-silgen %t.sil -module-name=printer_include_decl | %FileCheck %s
var x: Int
// CHECK: var x: Int
class Foo {
// FIXME: The constructors and destructors without bodies cannot be parsed.
init(i: Int) {
self.x = i
}
// CHECK: init(i: Int)
deinit { m() }
// CHECK: deinit
subscript(x: Int, y: Int) -> Int {
get {
return 0
}
set {}
}
// CHECK: subscript(x: Int, y: Int) -> Int
final var x : Int
// CHECK: var x: Int
final var y : Int {
get {
return 5
}
}
// CHECK: var y: Int
func m() {}
// CHECK: func m()
enum E {}
// CHECK: enum E
}
func bar(x: Foo) -> Int {
return x.x
}
// CHECK: func bar(x: Foo) -> Int
extension Foo.E {
// CHECK: extension Foo.E {
func e(x: Foo.E) {}
// CHECK: func e(x: Foo.E)
}
func `foo space`() { }
// CHECK: func `foo space`()
var `x space`: Int
// CHECK: var `x space`: Int