| // Note: test of the scope map. All of these tests are line- and |
| // column-sensitive, so any additions should go at the end. |
| |
| struct S0 { } |
| |
| let a: Int? = 1 |
| |
| guard let b = a else { |
| } |
| |
| func foo() {} // to interrupt the TopLevelCodeDecl |
| |
| let c = b |
| |
| typealias T = Int |
| |
| extension Int { |
| func my_identity() -> Int { return self } |
| } |
| |
| var i: Int = b.my_identity() |
| |
| |
| // RUN: %target-swift-frontend -dump-scope-maps expanded %s 2> %t.expanded |
| // RUN: %FileCheck -check-prefix CHECK-EXPANDED %s < %t.expanded |
| |
| // CHECK-EXPANDED: |-TypeDecl {{.*}} S0 [4:1 - 4:13] expanded |
| // CHECK-EXPANDED-NEXT: `-TypeOrExtensionBody {{.*}} 'S0' [4:11 - 4:13] expanded |
| // CHECK-EXPANDED-NEXT: `-TopLevelCode {{.*}} [6:1 - [[EOF:[0-9]+:[0-9]+]]] expanded |
| // CHECK-EXPANDED: `-PatternBinding {{.*}} entry 0 [6:5 - [[EOF]]] expanded |
| // CHECK-EXPANDED-NEXT: |-PatternInitializer {{.*}} entry 0 [6:15 - 6:15] expanded |
| // CHECK-EXPANDED-NEXT: `-AfterPatternBinding {{.*}} entry 0 [6:15 - [[EOF]]] expanded |
| // CHECK-EXPANDED-NEXT: `-TopLevelCode {{.*}} [8:1 - [[EOF]]] expanded |
| // CHECK-EXPANDED: `-ConditionalClause {{.*}} index 0 guard-continuation [9:1 - [[EOF]]] expanded |
| // CHECK-EXPANDED-NEXT: |-AbstractFunctionDecl {{.*}} foo() [11:1 - 11:13] expanded |
| // CHECK-EXPANDED: `-AfterPatternBinding {{.*}} entry 0 [13:9 - [[EOF]]] expanded |
| // CHECK-EXPANDED-NEXT: |-TypeDecl {{.*}} T [15:1 - 15:15] expanded |