File tree Expand file tree Collapse file tree 5 files changed +73
-0
lines changed
test/Incremental/Fingerprints
Inputs/extension-changes-member Expand file tree Collapse file tree 5 files changed +73
-0
lines changed Original file line number Diff line number Diff line change
1
+ public struct S {
2
+ private // commenting out this line works
3
+ static func foo( _ i: Int ) { print ( " 1: other:2 commented out " ) }
4
+ }
5
+ extension S {
6
+ // private // commenting out this line fails
7
+ static func foo2( _ i: Int ) { print ( " 2: other:6 commented out " ) }
8
+ }
Original file line number Diff line number Diff line change
1
+ public struct S {
2
+ private // commenting out this line works
3
+ static func foo( _ i: Int ) { print ( " 1: other:2 commented out " ) }
4
+ }
5
+ extension S {
6
+ private // commenting out this line fails
7
+ static func foo2( _ i: Int ) { print ( " 2: other:6 commented out " ) }
8
+ }
Original file line number Diff line number Diff line change
1
+ extension S {
2
+ static func foo< I: SignedInteger > ( _ si: I ) {
3
+ print ( " 1: other:2 not commented out " )
4
+ }
5
+ static func foo2< I: SignedInteger > ( _ si: I ) {
6
+ print ( " 2: other:6 not commented out " )
7
+ }
8
+ }
9
+
10
+ S . foo ( 3 )
11
+ S . foo2 ( 3 )
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/extension-changes-member/* %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