// RUN: %swift-ide-test -structure -source-filename %s | FileCheck %s // CHECK: class MyCls : OtherClass { // CHECK: var bar : Int // CHECK: var anotherBar : Int = 42 // CHECK: class var cbar : Int = 0 class MyCls : OtherClass { var bar : Int var anotherBar : Int = 42 class var cbar : Int = 0 // CHECK: func foo(arg1: Int, name: String, param par: String) { // CHECK: var abc // CHECK: if 1 { // CHECK: foo(1, name:"test", param:"test2") // CHECK: } // CHECK: } func foo(arg1: Int, name: String, param par: String) { var abc if 1 { foo(1, name:"test", param:"test2") } } // CHECK: init (x: Int) init (x: Int) // CHECK: class func cfoo() class func cfoo() // CHECK: } } // CHECK: struct MyStruc { // CHECK: var myVar: Int // CHECK: static var sbar : Int = 0 // CHECK: static func cfoo() // CHECK: } struct MyStruc { var myVar: Int static var sbar : Int = 0 static func cfoo() } // CHECK: protocol MyProt { // CHECK: func foo() // CHECK: } protocol MyProt { func foo() } // CHECK: extension MyStruc { // CHECK: func foo() { // CHECK: } // CHECK: } extension MyStruc { func foo() { } } // CHECK: var gvar : Int = 0 var gvar : Int = 0 // CHECK: func ffoo() {} func ffoo() {} // CHECK: for i in 0...5 {} for i in 0...5 {} // CHECK: for var i = 0, i2 = 1; i == 0; ++i {} for var i = 0, i2 = 1; i == 0; ++i {} // CHECK: for var (i,i2) = (0,0), i3 = 1; i == 0; ++i {} for var (i,i2) = (0,0), i3 = 1; i == 0; ++i {} for i = 0; i == 0; ++i {} // CHECK: while var v = o, z = o where v > z {} while var v = o, z = o where v > z {} // CHECK: while v == 0 {} while v == 0 {} // CHECK: repeat {} while v == 0 repeat {} while v == 0 // CHECK: if var v = o, z = o where v > z {} if var v = o, z = o where v > z {} // CHECK: switch v { // CHECK: case 1: break; // CHECK: case 2, 3: break; // CHECK: case Foo(var x, var y) where x < y: break; // CHECK: case 2 where foo(), 3 where bar(): break; // CHECK: default: break; // CHECK: } switch v { case 1: break; case 2, 3: break; case Foo(var x, var y) where x < y: break; case 2 where foo(), 3 where bar(): break; default: break; } // CHECK: let myArray = [1, 2, 3] let myArray = [1, 2, 3] // CHECK: let myDict = [1:1, 2:2, 3:3] let myDict = [1:1, 2:2, 3:3] // CHECK: let myArray2 = [1] let myArray2 = [1] // CHECK: let myDict2 = [1:1] let myDict2 = [1:1] // CHECK: for {} for {} // CHECK: class <#MyCls#> : <#OtherClass#> {} class <#MyCls#> : <#OtherClass#> {} // CHECK: func <#test1#> () { // CHECK: for <#name#> in <#items#> {} // CHECK: } func <#test1#> () { for <#name#> in <#items#> {} } // CHECK: let myArray = [<#item1#>, <#item2#>] let myArray = [<#item1#>, <#item2#>] // CHECK: func test1() { // CHECK: dispatch_async(dispatch_get_main_queue(), {}) // CHECK: dispatch_async(dispatch_get_main_queue()) {} // CHECK: } func test1() { dispatch_async(dispatch_get_main_queue(), {}) dispatch_async(dispatch_get_main_queue()) {} } // CHECK: enum SomeEnum { // CHECK: case North // CHECK: case South, East // CHECK: case QRCode(String) // CHECK: case // CHECK: } enum SomeEnum { case North case South, East case QRCode(String) case } // CHECK: enum Rawness : Int { // CHECK: case One = 1 // CHECK: case Two = 2, Three = 3 // CHECK: } enum Rawness : Int { case One = 1 case Two = 2, Three = 3 } // CHECK: func rethrowFunc(f: () throws -> ()) rethrows {} func rethrowFunc(f: () throws -> ()) rethrows {} class NestedPoundIf{ func foo1() { #if os(OSX) var a = 1 #if USE_METAL var b = 2 #if os(iOS) var c = 3 #else var c = 3 #endif #else var b = 2 #endif #else var a = 1 #endif } func foo2() {} func foo3() {} } // CHECK: func foo2() {} // CHECK: func foo3() {} class A { func foo(i : Int, animations: () -> ()) {} func perform() {foo(5, animations: {})} // CHECK: func perform() {foo(5, animations: {})} }