blob: d14a03936f20b838466752a6604ee930367baf3e [file] [log] [blame]
// 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