File tree Expand file tree Collapse file tree 5 files changed +88
-0
lines changed
test/Incremental/Fingerprints
Inputs/member-moves-extensions Expand file tree Collapse file tree 5 files changed +88
-0
lines changed Original file line number Diff line number Diff line change
1
+ public protocol P {
2
+ func foo( )
3
+ }
4
+
5
+ public protocol Q : P {
6
+ func bar( )
7
+ }
8
+
9
+ public struct S { }
10
+
11
+ extension S : P {
12
+ public func foo( ) { }
13
+ }
14
+
15
+ extension S : Q {
16
+ public func bar( ) { }
17
+ }
Original file line number Diff line number Diff line change
1
+ public protocol P {
2
+ func foo( )
3
+ }
4
+
5
+ public protocol Q : P {
6
+ func bar( )
7
+ }
8
+
9
+ public struct S { }
10
+
11
+ extension S : P {
12
+ public func foo( ) { }
13
+ public func bar( ) { }
14
+ }
15
+
16
+ extension S : Q {
17
+
18
+ }
Original file line number Diff line number Diff line change
1
+ extension S {
2
+ public func foo( _ parameter: Int = 42 ) { }
3
+ public func bar( _ parameter: Int = 42 ) { }
4
+ }
5
+
6
+ S ( ) . foo ( )
7
+ S ( ) . bar ( )
Original file line number Diff line number Diff line change
1
+ {
2
+ "main.swift" : {
3
+ "object" : " ./main.o" ,
4
+ "swift-dependencies" : " ./main.swiftdeps"
5
+ },
6
+ "definesS.swift" : {
7
+ "object" : " ./definesS.o" ,
8
+ "swift-dependencies" : " ./definesS.swiftdeps"
9
+ },
10
+ "" : {
11
+ "swift-dependencies" : " ./main~buildrecord.swiftdeps"
12
+ }
13
+ }
14
+
Original file line number Diff line number Diff line change
1
+ // Test per-type-body fingerprints using simple extensions
2
+ //
3
+ // If the parser is allowed to use a body fingerprint for an extension
4
+ // this test will fail because usesA.swift won't be recompiled for the
5
+ // last step.
6
+
7
+ // Establish status quo
8
+
9
+ // RUN: %empty-directory(%t)
10
+ // RUN: cp %S/Inputs/member-moves-extensions/* %t
11
+ // RUN: cp %t/definesS{-before,}.swift
12
+
13
+ // Seeing weird failure on CI, so set the mod times
14
+ // RUN: touch -t 200101010101 %t/*.swift
15
+
16
+ // RUN: cd %t && %target-swiftc_driver -enable-batch-mode -j2 -incremental -driver-show-incremental main.swift definesS.swift -module-name main -output-file-map ofm.json >& %t/output3
17
+
18
+ // Change one type, only uses of that type get recompiled
19
+
20
+ // RUN: cp %t/definesS{-after,}.swift
21
+
22
+ // Seeing weird failure on CI, so ensure that definesS.swift is newer
23
+ // RUN: touch -t 200201010101 %t/*
24
+ // RUN: touch -t 200101010101 %t/*.swift
25
+ // RUN: touch -t 200301010101 %t/definesS.swift
26
+
27
+ // RUN: cd %t && %target-swiftc_driver -enable-batch-mode -j2 -incremental -driver-show-incremental main.swift definesS.swift -module-name main -output-file-map ofm.json >& %t/output4
28
+
29
+ // RUN: %FileCheck -check-prefix=CHECK-RECOMPILED-W %s < %t/output4
30
+
31
+ // CHECK-RECOMPILED-W: {compile: definesS.o <= definesS.swift}
32
+ // CHECK-RECOMPILED-W: {compile: main.o <= main.swift}
You can’t perform that action at this time.
0 commit comments