mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
48 lines
1.8 KiB
Swift
48 lines
1.8 KiB
Swift
// RUN: %empty-directory(%t)
|
|
// RUN: %target-build-swift %s -module-name DocumentationAttr -emit-module -emit-module-path %t/
|
|
// RUN: %target-swift-symbolgraph-extract -module-name DocumentationAttr -I %t -pretty-print -output-dir %t
|
|
// RUN: %FileCheck %s --input-file %t/DocumentationAttr.symbols.json --check-prefix PUBLIC
|
|
|
|
// RUN: %target-swift-symbolgraph-extract -module-name DocumentationAttr -I %t -pretty-print -output-dir %t -minimum-access-level internal
|
|
// RUN: %FileCheck %s --input-file %t/DocumentationAttr.symbols.json --check-prefix INTERNAL
|
|
|
|
// RUN: %target-swift-symbolgraph-extract -module-name DocumentationAttr -I %t -pretty-print -output-dir %t -minimum-access-level private
|
|
// RUN: %FileCheck %s --input-file %t/DocumentationAttr.symbols.json --check-prefix PRIVATE
|
|
|
|
// This test is a mirror of SkipsPublicUnderscore.swift, but using `@_documentation`
|
|
// instead of underscored names.
|
|
|
|
public protocol PublicProtocol {}
|
|
|
|
// PUBLIC-NOT: ShouldntAppear
|
|
// INTERNAL-DAG: ShouldntAppear
|
|
// PRIVATE-DAG: ShouldntAppear
|
|
|
|
@_documentation(visibility: internal) public struct ShouldntAppear: PublicProtocol {
|
|
public struct InnerShouldntAppear {}
|
|
}
|
|
|
|
public class SomeClass {
|
|
// PUBLIC-NOT: internalVar
|
|
// INTERNAL-NOT: internalVar
|
|
// PRIVATE-DAG: internalVar
|
|
@_documentation(visibility: private) internal var internalVar: String = ""
|
|
}
|
|
|
|
@_documentation(visibility: internal) public protocol ProtocolShouldntAppear {}
|
|
|
|
public struct PublicStruct: ProtocolShouldntAppear {
|
|
@_documentation(visibility: internal) public struct InnerShouldntAppear {}
|
|
}
|
|
|
|
// The presence of `@_documentation(visibility: public)` should cause SymbolGraphGen to include an
|
|
// underscored enum case.
|
|
|
|
// PUBLIC-DAG: _ShouldAppear
|
|
|
|
public enum PublicEnum {
|
|
case RegularCase
|
|
case _ShouldntAppear
|
|
@_documentation(visibility: public) case _ShouldAppear
|
|
}
|