File: basicDeclarations.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 (87 lines) | stat: -rw-r--r-- 1,162 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// RUN: %target-typecheck-verify-swift -D FOO -D BAR

class A {}

#if FOO
typealias A1 = A
#endif
var a: A = A()
var a1: A1 = A1() // should not result in an error

#if FOO
class C {}
#endif

var c = C() // should not result in an error

class D {
#if FOO
	var x: Int
#endif

	init() {
#if !BAR
		x = "BAR"; // should not result in an error
#else
		x = 1
#endif
	}

#if !BAR
    func overload(a: Int) {}
    func overload(b: String) {} // should not result in an error
#endif
}

var d = D()

#if !FOO 
func f1() -> Bool {
	return true
}
#else 
func f1() -> Int {
#if BAR
	return 1
#else
	return "1" // should not result in an error
#endif
}
#endif

var i: Int = f1()

protocol P1 { 
#if FOO
  func fFOO() -> Int
#endif

#if !BAR
  func fNotBAR() -> Int
#else
  func fBAR() -> Int
#endif
}

class P : P1 {
	func fFOO() -> Int { return 0; }
	func fBAR() -> Int { return 0; }
}

func constants1() -> Int {
#if true
	return 1
#else
	return "1" // should not result in an error
#endif
}

func constants2() -> Int {
#if false
	return "1" // should not result in an error
#elseif ((false || false))
	return "1" // should not result in an error
#else
	return 1
#endif
}