mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Generated interfaces for Clang modules used to try printing normal comments between decls extracted from the header text. That was because doc-comment was not common in C/ObjC headers. But mainly because of "import as member feature" Clang decls aren't printed in the order as they appear in the header file, the logic determinig which comment belongs to which decl was not working property. We've decided to remove that feature and only print the proper doc-comments as it has been getting common. rdar://93731287
44 lines
1.5 KiB
Swift
44 lines
1.5 KiB
Swift
// REQUIRES: objc_interop
|
|
|
|
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -enable-objc-interop -import-objc-header %S/Inputs/nested_protocol_name.h -typecheck -verify %s
|
|
|
|
// RUN: echo '#include "nested_protocol_name.h"' > %t.m
|
|
// RUN: %target-swift-ide-test -source-filename %s -print-header -header-to-print %S/Inputs/nested_protocol_name.h -import-objc-header %S/Inputs/nested_protocol_name.h --cc-args %target-cc-options -fsyntax-only %t.m -I %S/Inputs > %t.txt
|
|
// RUN: %FileCheck -check-prefix=HEADER %s < %t.txt
|
|
|
|
// rdar://59431058
|
|
// Let's make sure this works, but let's not encourage its spread...
|
|
|
|
// HEADER: class Trunk {
|
|
// HEADER: init!()
|
|
// HEADER: class func addLimb(_ limb: (any Trunk.Branch)!)
|
|
// HEADER: func addLimb(_ limb: (any Trunk.Branch)!)
|
|
// HEADER: func addLimbs(_ limbs: [any Trunk.Branch]!)
|
|
// HEADER: }
|
|
// HEADER: protocol Branch {
|
|
// HEADER: func flower()
|
|
// HEADER: }
|
|
|
|
func grow(_ branch: Trunk.Branch, from trunk: Trunk) {
|
|
branch.flower()
|
|
trunk.addLimb(branch)
|
|
}
|
|
|
|
// rdar://95084142 - crash while matching existential types
|
|
func grow_multiple(_ branches: [Trunk.Branch], from trunk: Trunk) {
|
|
trunk.addLimbs(branches) // ok
|
|
}
|
|
|
|
class SturdyBranch: Trunk.Branch {
|
|
func flower() {}
|
|
}
|
|
|
|
// FIXME: Odd that name lookup can't find this...
|
|
class NormalBranch: Branch { // expected-error {{cannot find type 'Branch' in scope}}
|
|
func flower() {}
|
|
}
|
|
|
|
class WeakBranch: TrunkBranchProtocol { // expected-error {{'TrunkBranchProtocol' has been renamed to 'Trunk.Branch'}}
|
|
func flower() {}
|
|
}
|