1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
// RUN: %target-swift-ide-test -print-module -print-implicit-attrs -module-to-print=Functions -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// CHECK: struct NonTrivial {
// CHECK-NEXT: init()
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func inNonTrivial() -> UnsafePointer<CChar>!
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func inNonTrivialWithArgs(_ a: Int32, _ b: Int32) -> UnsafePointer<CChar>!
// CHECK-NEXT: }
// CHECK-NEXT: struct Base {
// CHECK-NEXT: init()
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: mutating func mutatingInBase() -> UnsafePointer<CChar>!
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func constInBase() -> UnsafePointer<CChar>!
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func rvalueThisInBase() -> UnsafePointer<CChar>!
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func takesArgsInBase(_ a: Int32, _ b: Int32, _ c: Int32) -> UnsafePointer<CChar>!
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func takesNonTrivialInBase(_ a: NonTrivial) -> UnsafePointer<CChar>!
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func returnsNonTrivialInBase() -> NonTrivial
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func templateInBase<T>(_ t: T) -> UnsafePointer<CChar>!
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: static func staticInBase() -> UnsafePointer<CChar>!
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: mutating func swiftRenamed(input i: Int32) -> Int32
// CHECK-NEXT: @available(swift, obsoleted: 3, renamed: "swiftRenamed(input:)")
// CHECK-NEXT: mutating func renamed(_ i: Int32) -> Int32
// CHECK-NEXT: @_effects(readonly) func pure()
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func sameMethodNameSameSignature() -> Int32
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func sameMethodDifferentSignature() -> Int32
// CHECK-NEXT: }
// CHECK-NEXT: struct OtherBase {
// CHECK-NEXT: init()
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func inOtherBase() -> UnsafePointer<CChar>!
// CHECK-NEXT: }
// CHECK-NEXT: struct Derived {
// CHECK-NEXT: init()
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func inDerived() -> UnsafePointer<CChar>!
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func sameMethodNameSameSignature() -> Int32
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func sameMethodDifferentSignature(_ x: Int32) -> Int32
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: mutating func mutatingInBase() -> UnsafePointer<CChar>?
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func constInBase() -> UnsafePointer<CChar>?
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func takesArgsInBase(_ a: Int32, _ b: Int32, _ c: Int32) -> UnsafePointer<CChar>?
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func takesNonTrivialInBase(_ a: NonTrivial) -> UnsafePointer<CChar>?
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func returnsNonTrivialInBase() -> NonTrivial
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: mutating func swiftRenamed(input i: Int32) -> Int32
// CHECK-NEXT: @available(swift, obsoleted: 3, renamed: "swiftRenamed(input:)")
// CHECK-NEXT: mutating func renamed(_ i: Int32) -> Int32
// CHECK-NEXT: @_effects(readonly) func pure()
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func sameMethodDifferentSignature() -> Int32
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func inOtherBase() -> UnsafePointer<CChar>?
// CHECK-NEXT: }
// CHECK-NEXT: struct DerivedFromDerived {
// CHECK-NEXT: init()
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func topLevel() -> UnsafePointer<CChar>!
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func inDerived() -> UnsafePointer<CChar>?
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func sameMethodNameSameSignature() -> Int32
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func sameMethodDifferentSignature(_ x: Int32) -> Int32
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: mutating func mutatingInBase() -> UnsafePointer<CChar>?
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func constInBase() -> UnsafePointer<CChar>?
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func takesArgsInBase(_ a: Int32, _ b: Int32, _ c: Int32) -> UnsafePointer<CChar>?
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func takesNonTrivialInBase(_ a: NonTrivial) -> UnsafePointer<CChar>?
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func returnsNonTrivialInBase() -> NonTrivial
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: mutating func swiftRenamed(input i: Int32) -> Int32
// CHECK-NEXT: @available(swift, obsoleted: 3, renamed: "swiftRenamed(input:)")
// CHECK-NEXT: mutating func renamed(_ i: Int32) -> Int32
// CHECK-NEXT: @_effects(readonly) func pure()
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func sameMethodDifferentSignature() -> Int32
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func inOtherBase() -> UnsafePointer<CChar>?
// CHECK-NEXT: }
// CHECK-NEXT: struct DerivedFromNonTrivial {
// CHECK-NEXT: init()
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func inNonTrivial() -> UnsafePointer<CChar>?
// CHECK-NEXT: @discardableResult
// CHECK-NEXT: func inNonTrivialWithArgs(_ a: Int32, _ b: Int32) -> UnsafePointer<CChar>?
// CHECK-NEXT: }
// CHECK-NEXT: struct PrivatelyInherited {
// CHECK-NEXT: init()
// CHECK-NEXT: }
// CHECK-NEXT: struct ProtectedInherited {
// CHECK-NEXT: init()
// CHECK-NEXT: }
|