blob: 61b0d22a418250f601878fe5451a567dc586477b [file] [log] [blame]
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -parse -verify -disable-objc-attr-requires-foundation-module %s
// RUN: %target-swift-ide-test(mock-sdk: %clang-importer-sdk) -print-usrs -source-filename %s | FileCheck %s -strict-whitespace
import macros
// CHECK: [[@LINE+1]]:8 s:V14swift_ide_test1S{{$}}
struct S {
// CHECK: [[@LINE+1]]:7 s:vV14swift_ide_test1S1xSi{{$}}
var x : Int
}
// CHECK: [[@LINE+1]]:11 s:14swift_ide_test6MyGInt{{$}}
typealias MyGInt = Int
// CHECK: [[@LINE+1]]:7 s:C14swift_ide_test5MyCls{{$}}
class MyCls {
// CHECK: [[@LINE+1]]:13 s:C14swift_ide_test5MyCls2TA{{$}}
typealias TA = Int
// CHECK: [[@LINE+1]]:7 s:vC14swift_ide_test5MyCls3wwwSi{{$}}
var www : Int = 0
// CHECK: [[@LINE+1]]:8 s:FC14swift_ide_test5MyCls3fooFSiT_{{$}}
func foo(_ x : Int) {}
// CHECK: [[@LINE+1]]:3 s:iC14swift_ide_test5MyCls9subscriptFSiSf{{$}}
subscript(i: Int) -> Float {
// CHECK: [[@LINE+1]]:5 s:FC14swift_ide_test5MyClsg9subscriptFSiSf{{$}}
get { return 0.0 }
// CHECK: [[@LINE+1]]:5 s:FC14swift_ide_test5MyClss9subscriptFSiSf{{$}}
set {}
}
}
// CHECK: [[@LINE+1]]:7 s:C14swift_ide_test12GenericClass{{$}}
class GenericClass {
// CHECK: [[@LINE+1]]:13 s:C14swift_ide_test12GenericClass2TA{{$}}
typealias TA = Int
// CHECK: [[@LINE+1]]:7 s:vC14swift_ide_test12GenericClass11instanceVarSi{{$}}
var instanceVar: Int = 0
// CHECK: [[@LINE+1]]:8 s:FC14swift_ide_test12GenericClass12instanceFuncFT_T_{{$}}
func instanceFunc() {
// CHECK: [[@LINE+2]]:18 s:ZFC14swift_ide_test12GenericClass9classFuncFS0_T_{{$}}
// CHECK: [[@LINE+1]]:28 s:vFC14swift_ide_test12GenericClass12instanceFuncFT_T_L_4selfS0_{{$}}
GenericClass.classFunc(self)
}
// CHECK: [[@LINE+2]]:3 s:iC14swift_ide_test12GenericClass9subscriptFSiSf{{$}}
// CHECK: [[@LINE+1]]:13 s:vC14swift_ide_test12GenericClassL_1iSi{{$}}
subscript(i: Int) -> Float {
// CHECK: [[@LINE+1]]:5 s:FC14swift_ide_test12GenericClassg9subscriptFSiSf{{$}}
get { return 0.0 }
// CHECK: [[@LINE+1]]:5 s:FC14swift_ide_test12GenericClasss9subscriptFSiSf{{$}}
set {}
}
// CHECK: [[@LINE+1]]:3 s:FC14swift_ide_test12GenericClassd{{$}}
deinit {
// CHECK: [[@LINE+2]]:18 s:ZFC14swift_ide_test12GenericClass9classFuncFS0_T_{{$}}
// CHECK: [[@LINE+1]]:28 ERROR:no-usr{{$}}
GenericClass.classFunc(self)
}
// CHECK: [[@LINE+2]]:14 s:ZFC14swift_ide_test12GenericClass9classFuncFS0_T_{{$}}
// CHECK: [[@LINE+1]]:26 s:vZFC14swift_ide_test12GenericClass9classFuncFS0_T_L_1aS0_{{$}}
class func classFunc(_ a: GenericClass) {}
}
// CHECK: [[@LINE+1]]:10 s:P14swift_ide_test4Prot{{$}}
protocol Prot {
// CHECK: [[@LINE+1]]:18 s:P14swift_ide_test4Prot5Blarg{{$}}
associatedtype Blarg
// CHECK: [[@LINE+1]]:8 s:FP14swift_ide_test4Prot8protMethFwx5BlargwxS1_{{$}}
func protMeth(_ x: Blarg) -> Blarg
// CHECK: [[@LINE+2]]:7 s:vP14swift_ide_test4Prot17protocolProperty1Si{{$}}
// CHECK: [[@LINE+1]]:32 s:FP14swift_ide_test4Protg17protocolProperty1Si{{$}}
var protocolProperty1: Int { get }
}
protocol Prot2 {}
class SubCls : MyCls, Prot {
// CHECK: [[@LINE+1]]:13 s:C14swift_ide_test6SubCls5Blarg{{$}}
typealias Blarg = Prot2
// CHECK: [[@LINE+1]]:8 s:FC14swift_ide_test6SubCls8protMethFPS_5Prot2_PS1__{{$}}
func protMeth(_ x: Blarg) -> Blarg {}
// CHECK: [[@LINE+1]]:7 s:vC14swift_ide_test6SubCls17protocolProperty1Si{{$}}
var protocolProperty1 = 0
}
// CHECK: [[@LINE+1]]:6 s:F14swift_ide_test5genFnuRxS_4Protwx5BlargS_5Prot2rFxSi{{$}}
func genFn<T : Prot>(_ p : T) -> Int where T.Blarg : Prot2 {}
// CHECK: [[@LINE+1]]:6 s:F14swift_ide_test3barFSiTSiSf_{{$}}
func bar(_ x: Int) -> (Int, Float) {}
// CHECK: [[@LINE+1]]:7 s:C14swift_ide_test6GenCls{{$}}
class GenCls<T> {
// CHECK: [[@LINE+1]]:3 s:FC14swift_ide_test6GenClscFT_GS0_x_{{$}}
init() {}
// CHECK: [[@LINE+1]]:3 s:FC14swift_ide_test6GenClsd{{$}}
deinit {}
// CHECK: [[@LINE+1]]:14 s:ZFC14swift_ide_test6GenCls4cfooFT_T_{{$}}
class func cfoo() {}
// CHECK: [[@LINE+1]]:3 s:iC14swift_ide_test6GenCls9subscriptFTSiSi_Si{{$}}
subscript (i : Int, j : Int) -> Int {
// CHECK: [[@LINE+1]]:5 s:FC14swift_ide_test6GenClsg9subscriptFTSiSi_Si{{$}}
get {
return i + j
}
// CHECK: [[@LINE+1]]:5 s:FC14swift_ide_test6GenClss9subscriptFTSiSi_Si{{$}}
set(v) {
_ = v + i - j
}
}
}
class C4 {
// CHECK: [[@LINE+1]]:9 s:CC14swift_ide_test2C42In{{$}}
class In {
// CHECK: [[@LINE+1]]:16 s:ZFCC14swift_ide_test2C42In3gooFT_T_{{$}}
class func goo() {}
}
}
class C5 {}
extension C5 {
// CHECK: [[@LINE+1]]:8 s:FC14swift_ide_test2C55extFnFT_T_{{$}}
func extFn() {}
}
class Observers {
func doit() {}
// CHECK: [[@LINE+1]]:7 s:vC14swift_ide_test9Observers2p1Si{{$}}
var p1 : Int = 0 {
// CHECK: [[@LINE+1]]:5 s:FC14swift_ide_test9Observersw2p1Si{{$}}
willSet(newValue) { doit() }
// CHECK: [[@LINE+1]]:5 s:FC14swift_ide_test9ObserversW2p1Si{{$}}
didSet { doit() }
}
// CHECK: [[@LINE+1]]:7 s:vC14swift_ide_test9Observers2p2Si{{$}}
var p2 = 42 {
// CHECK: [[@LINE+1]]:5 s:FC14swift_ide_test9Observersw2p2Si{{$}}
willSet(newValue) { doit() }
// CHECK: [[@LINE+1]]:5 s:FC14swift_ide_test9ObserversW2p2Si{{$}}
didSet { doit() }
}
}
// CHECK: [[@LINE+2]]:7 s:C14swift_ide_test10ObjCClass1{{$}}
@objc
class ObjCClass1 {
// CHECK: [[@LINE+1]]:8 s:FC14swift_ide_test10ObjCClass113instanceFunc1FSiT_{{$}}
func instanceFunc1(_ a: Int) {}
// CHECK: [[@LINE+1]]:14 s:ZFC14swift_ide_test10ObjCClass111staticFunc1FSiT_{{$}}
class func staticFunc1(_ a: Int) {}
}
// CHECK: [[@LINE+1]]:6 s:O14swift_ide_test5Suits{{$}}
enum Suits {
// CHECK: [[@LINE+1]]:8 s:FO14swift_ide_test5Suits5ClubsFMS0_S0_{{$}}
case Clubs
// CHECK: [[@LINE+1]]:8 s:FO14swift_ide_test5Suits8DiamondsFMS0_S0_{{$}}
case Diamonds
// CHECK: [[@LINE+1]]:8 s:FO14swift_ide_test5Suits5enfooFT_T_{{$}}
func enfoo() {}
}
func importedMacros() {
// CHECK: [[@LINE+1]]:12 c:@macro@M_PI{{$}}
let m1 = M_PI
// CHECK: [[@LINE+1]]:12 c:@macro@MACRO_FROM_IMPL{{$}}
let m2 = MACRO_FROM_IMPL
// CHECK: [[@LINE+1]]:12 c:@macro@USES_MACRO_FROM_OTHER_MODULE_1{{$}}
let m3 = USES_MACRO_FROM_OTHER_MODULE_1
_ = m1; _ = m2; _ = m3
}