File: class.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 (88 lines) | stat: -rw-r--r-- 2,151 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
88
// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -emit-object -emit-module -o %t %S/Inputs/def_class.swift -disable-objc-attr-requires-foundation-module -enable-objc-interop
// RUN: llvm-bcanalyzer %t/def_class.swiftmodule | %FileCheck %s
// RUN: %target-swift-frontend -emit-sil -sil-debug-serialization -I %t %s | %FileCheck %s -check-prefix=SIL
// RUN: echo "import def_class; struct A : ClassProto {}" | not %target-swift-frontend -typecheck -I %t - 2>&1 | %FileCheck %s -check-prefix=CHECK-STRUCT

// CHECK-NOT: UnknownCode
// CHECK-STRUCT: non-class type 'A' cannot conform to class protocol 'ClassProto'

// Make sure we can "merge" def_class.
// RUN: %target-swift-frontend -emit-module -o %t-merged.swiftmodule %t/def_class.swiftmodule -module-name def_class

import def_class

var a : Empty
var b = TwoInts(a: 1, b: 2)
var computedProperty : ComputedProperty
var sum = b.x + b.y + computedProperty.value

var intWrapper = ResettableIntWrapper()
var r : Resettable = intWrapper
r.reset()
r.doReset()

class AnotherIntWrapper : SpecialResettable, ClassProto {
  init() { value = 0 }
  var value : Int
  func reset() {
    value = 0
  }
  func compute() {
    value = 42
  }
}

var intWrapper2 = AnotherIntWrapper()
r = intWrapper2
r.reset()

var c : Cacheable = intWrapper2
c.compute()
c.reset()


var p = Pair(a: 1, b: 2.5)
p.first = 2
p.second = 5.0

struct MyInt {}

var gc = GenericCtor<MyInt>(42)
gc.doSomething(42)


a = StillEmpty()
r = StillEmpty()

var bp = BoolPair<Bool>()
bp.bothTrue()

var rawBP : Pair<Bool, Bool>
rawBP = bp


var rev : SpecialPair<Double>
rev.first = 42
var comp : Computable = rev

var simpleSub = ReadonlySimpleSubscript()
var subVal = simpleSub[4]

var complexSub = ComplexSubscript()
complexSub[4, false] = complexSub[3, true]

var rsrc = Resource()

getReqPairLike()

// SIL-LABEL: sil public_external [transparent] [canonical] @$sSi1poiyS2i_SitFZ : $@convention(method) (Int, Int, @thin Int.Type) -> Int

func test(_ sharer: ResourceSharer) {}

class HasNoOptionalReqs : ObjCProtoWithOptional { }

HasNoOptionalReqs()
OptionalImplementer().unrelated()

extension def_class.ComputedProperty { }