// This is an input file for comment-to-{XML,Doxygen} conversion tests. // // Please keep this file in alphabetical order! @objc public class A000 {} // CHECK: {{.*}}DocCommentAsXML=none /// Aaa. A010. Bbb. @objc public class A010_AttachToEntities { // CHECK: {{.*}}DocCommentAsXML=[A010_AttachToEntitiesc:@M@comment_to_xml@objc(cs)A010_AttachToEntities@objc public class A010_AttachToEntitiesAaa. A010. Bbb.] /// Aaa. init(). @objc public init() {} // CHECK: {{.*}}DocCommentAsXML=[init()c:@M@comment_to_xml@objc(cs)A010_AttachToEntities(im)init@objc public init()Aaa. init().] /// Aaa. subscript(i: Int). @objc public subscript(i: Int) -> Int { // CHECK: {{.*}}DocCommentAsXML=[subscript(_:)s:14comment_to_xml21A010_AttachToEntitiesCyS2icip@objc public subscript(i: Int) -> Int { get set }Aaa. subscript(i: Int).] get { // CHECK: {{.*}}DocCommentAsXML=none return 0 } set {} // CHECK: {{.*}}DocCommentAsXML=none } // CHECK: {{.*}}DocCommentAsXML=none /// Aaa. v1. @objc public var v1: Int = 0 // CHECK: {{.*}}DocCommentAsXML=[v1c:@M@comment_to_xml@objc(cs)A010_AttachToEntities(py)v1@objc public var v1: IntAaa. v1.] /// Aaa. v2. @objc public class var v2: Int { return 0 } // CHECK: {{.*}}DocCommentAsXML=[v2c:@M@comment_to_xml@objc(cs)A010_AttachToEntities(cpy)v2@objc public class var v2: Int { get }Aaa. v2.] // CHECK: {{.*}}DocCommentAsXML=none } /// Aaa. A011. public struct A011_AttachToEntities { } // CHECK: {{.*}}DocCommentAsXML=[A011_AttachToEntitiess:14comment_to_xml21A011_AttachToEntitiesVpublic struct A011_AttachToEntitiesAaa. A011.] /// Aaa. A012. public enum A012_AttachToEntities { case A } // CHECK: {{.*}}DocCommentAsXML=[A012_AttachToEntitiess:14comment_to_xml21A012_AttachToEntitiesOpublic enum A012_AttachToEntitiesAaa. A012.] // CHECK: {{.*}}DocCommentAsXML=none /// Aaa. A013. @objc public protocol A013_AttachToEntities {} // CHECK: {{.*}}DocCommentAsXML=[A013_AttachToEntitiesc:@M@comment_to_xml@objc(pl)A013_AttachToEntities@objc public protocol A013_AttachToEntitiesAaa. A013.] @objc public class ATXHeaders { // CHECK: {{.*}}DocCommentAsXML=none /// LEVEL ONE /// ========= /// /// LEVEL TWO /// --------- @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)ATXHeaders(im)f0@objc public func f0()]]>LEVEL ONE]]>]]>LEVEL TWO]]>] } @objc public class Attributes { // CHECK: {{.*}}DocCommentAsXML=none /// Here is an attribute: /// /// ^[Attribute text](string: "attributed") @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)Attributes(im)f0@objc public func f0()Here is an attribute:Attribute text] } @objc public class AutomaticLink { // CHECK: {{.*}}DocCommentAsXML=none /// And now for a URL. /// /// @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)AutomaticLink(im)f0@objc public func f0()And now for a URL.http://developer.apple.com/swift/] } @objc public class BlockQuote { // CHECK: {{.*}}DocCommentAsXML=none /// Aaa. /// /// > Bbb. /// /// > Ccc. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)BlockQuote(im)f0@objc public func f0()Aaa.Bbb.Ccc.] } @objc public class Brief { // CHECK: {{.*}}DocCommentAsXML=none /// Aaa. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)Brief(im)f0@objc public func f0()Aaa.] /// Aaa. /// /// Bbb. @objc public func f1() {} // CHECK: {{.*}}DocCommentAsXML=[f1()c:@M@comment_to_xml@objc(cs)Brief(im)f1@objc public func f1()Aaa.Bbb.] /// Aaa. /// ///> Bbb. @objc public func f2() {} // CHECK: {{.*}}DocCommentAsXML=[f2()c:@M@comment_to_xml@objc(cs)Brief(im)f2@objc public func f2()Aaa.Bbb.] /// Aaa. /// /// Bbb. @objc public func f3() {} // CHECK: {{.*}}DocCommentAsXML=[f3()c:@M@comment_to_xml@objc(cs)Brief(im)f3@objc public func f3()Aaa.Bbb.] } @objc public class ClosingComments { // CHECK: {{.*}}DocCommentAsXML=none /// Some comment. */ @objc public func closingComment() {} // CHECK: DocCommentAsXML=[closingComment()c:@M@comment_to_xml@objc(cs)ClosingComments(im)closingComment@objc public func closingComment()Some comment. */] } @objc public class ClosureContainer { /// Partially applies a binary operator. /// /// - Parameter a: The left-hand side to partially apply. /// - Parameter combine: A binary operator. /// - Parameter lhs: The left-hand side of the operator /// - Parameter rhs: The right-hand side of the operator /// - Returns: A result. /// - Throws: Nothing. @objc public func closureParameterExplodedExploded(a: Int, combine: (_ lhs: Int, _ rhs: Int) -> Int) {} // CHECK: DocCommentAsXML=[closureParameterExplodedExploded(a:combine:)c:@M@comment_to_xml@objc(cs)ClosureContainer(im)closureParameterExplodedExplodedWithA:combine:@objc public func closureParameterExplodedExploded(a: Int, combine: (_ lhs: Int, _ rhs: Int) -> Int)Partially applies a binary operator.ainThe left-hand side to partially apply.combineinA binary operator.lhsinThe left-hand side of the operatorrhsinThe right-hand side of the operatorA result.Nothing.] /// Partially applies a binary operator. /// /// - Parameters: /// - a: The left-hand side to partially apply. /// - combine: A binary operator. /// - Parameter lhs: The left-hand side of the operator /// - Parameter rhs: The right-hand side of the operator /// - Returns: A result. /// - Throws: Nothing. @objc public func closureParameterOutlineExploded(a: Int, combine: (_ lhs: Int, _ rhs: Int) -> Int) {} // CHECK: DocCommentAsXML=[closureParameterOutlineExploded(a:combine:)c:@M@comment_to_xml@objc(cs)ClosureContainer(im)closureParameterOutlineExplodedWithA:combine:@objc public func closureParameterOutlineExploded(a: Int, combine: (_ lhs: Int, _ rhs: Int) -> Int)Partially applies a binary operator.ainThe left-hand side to partially apply.combineinA binary operator.lhsinThe left-hand side of the operatorrhsinThe right-hand side of the operatorA result.Nothing.] /// Partially applies a binary operator. /// /// - Parameters: /// - a: The left-hand side to partially apply. /// - combine: A binary operator. /// - Parameters: /// - lhs: The left-hand side of the operator /// - rhs: The right-hand side of the operator /// - Returns: A result. /// - Throws: Nothing. @objc public func closureParameterOutlineOutline(a: Int, combine: (_ lhs: Int, _ rhs: Int) -> Int) {} // CHECK: DocCommentAsXML=[closureParameterOutlineOutline(a:combine:)c:@M@comment_to_xml@objc(cs)ClosureContainer(im)closureParameterOutlineOutlineWithA:combine:@objc public func closureParameterOutlineOutline(a: Int, combine: (_ lhs: Int, _ rhs: Int) -> Int)Partially applies a binary operator.ainThe left-hand side to partially apply.combineinA binary operator.lhsinThe left-hand side of the operatorrhsinThe right-hand side of the operatorA result.Nothing.] } @objc public class CodeBlock { // CHECK: {{.*}}DocCommentAsXML=none /// This is how you use this code. /// /// f0() // WOW! /// f0() // WOW! /// f0() // WOW! @objc public func f0() {} // CHECK: DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)CodeBlock(im)f0@objc public func f0()This is how you use this code.] } @objc public class Emphasis { // CHECK: {{.*}}DocCommentAsXML=none /// Aaa *bbb* ccc. /// Aaa _bbb_ ccc. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)Emphasis(im)f0@objc public func f0()Aaa bbb ccc. Aaa bbb ccc.] } @objc public class EmptyComments { // CHECK: {{.*}}DocCommentAsXML=none /// @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)EmptyComments(im)f0@objc public func f0()] /// Aaa. @objc public func f1() {} // CHECK: {{.*}}DocCommentAsXML=[f1()c:@M@comment_to_xml@objc(cs)EmptyComments(im)f1@objc public func f1()Aaa.] /** */ @objc public func f2() {} // CHECK: {{.*}}DocCommentAsXML=[f2()c:@M@comment_to_xml@objc(cs)EmptyComments(im)f2@objc public func f2()] /** */ @objc public func f3() {} // CHECK: {{.*}}DocCommentAsXML=[f3()c:@M@comment_to_xml@objc(cs)EmptyComments(im)f3@objc public func f3()] /** * Aaa. */ @objc public func f4() {} // CHECK: {{.*}}DocCommentAsXML=[f4()c:@M@comment_to_xml@objc(cs)EmptyComments(im)f4@objc public func f4()Aaa.] } @objc public class Footnotes { // CHECK: {{.*}}DocCommentAsXML=none /// Has some footnotes. /// /// Footnotes aren't handled by swiftMarkup yet[^footnote], but they may in the future. /// /// [^footnote]: Footnotes aren't parsed by default in swift-cmark, and swiftMarkup doesn't /// enable the feature. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)Footnotes(im)f0@objc public func f0()Has some footnotes.Footnotes aren’t handled by swiftMarkup yet[^footnote], but they may in the future.[^footnote]: Footnotes aren’t parsed by default in swift-cmark, and swiftMarkup doesn’t enable the feature.] } @objc public class HasThrowingFunction { // CHECK: {{.*}}DocCommentAsXML=none /// Might throw something. /// /// - parameter x: A number /// - throws: An error if `x == 0` @objc public func f1(_ x: Int) /*throws*/ {} // CHECK: {{.*}}DocCommentAsXML=[f1(_:)c:@M@comment_to_xml@objc(cs)HasThrowingFunction(im)f1:@objc public func f1(_ x: Int)Might throw something.xinA numberAn error if x == 0] } @objc public class HorizontalRules { // CHECK: {{.*}}DocCommentAsXML=none /// Briefly. /// /// ------------------------------------ /// /// The end. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)HorizontalRules(im)f0@objc public func f0()Briefly.]]>The end.] } @objc public class ImplicitNameLink { // CHECK: {{.*}}DocCommentAsXML=none /// [Apple][] /// /// [Apple]: https://www.apple.com/ @objc public func f0() {} } @objc public class IndentedBlockComment { // CHECK: {{.*}}DocCommentAsXML=none /** Brief. First paragraph line. Second paragraph line. Now for a code sample: var x = 1 // var y = 2 var z = 3 */ @objc public func f1() {} // CHECK: DocCommentAsXML=[f1()c:@M@comment_to_xml@objc(cs)IndentedBlockComment(im)f1@objc public func f1()Brief.First paragraph line. Second paragraph line.Now for a code sample:] /** Hugely indented brief. First paragraph line. Second paragraph line. Now for a code sample: var x = 1 // var y = 2 var z = 3 */ @objc public func f2() {} // CHECK: {{.*}}DocCommentAsXML=[f2()c:@M@comment_to_xml@objc(cs)IndentedBlockComment(im)f2@objc public func f2()Hugely indented brief.First paragraph line. Second paragraph line.Now for a code sample:] } @objc public class InlineCode { // CHECK: {{.*}}DocCommentAsXML=none /// Aaa `bbb` ccc. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)InlineCode(im)f0@objc public func f0()Aaa bbb ccc.] } @objc public class InlineLink { // CHECK: {{.*}}DocCommentAsXML=none /// Aaa [bbb](/path/to/something) ccc. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)InlineLink(im)f0@objc public func f0()Aaa bbb ccc.] } @objc public class MultiLineBrief { // CHECK: {{.*}}DocCommentAsXML=none /// Brief first line. /// Brief after softbreak. /// /// Some paragraph text. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)MultiLineBrief(im)f0@objc public func f0()Brief first line. Brief after softbreak.Some paragraph text.] } @objc public class OrderedList { // CHECK: {{.*}}DocCommentAsXML=none /// 1. Aaa. /// /// 2. Bbb. /// Ccc. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)OrderedList(im)f0@objc public func f0()Aaa.Bbb. Ccc.] } /// - parameter x: A number @objc public class ParamAndReturns { // CHECK: {{.*}}DocCommentAsXML=[ParamAndReturnsc:@M@comment_to_xml@objc(cs)ParamAndReturns@objc public class ParamAndReturnsxinA number] /// Aaa. f0. /// /// - parameter first: Bbb. /// /// - parameter second: Ccc. Ddd. /// Eee. @objc public func f0(_ first: Int, second: Double) {} // CHECK: {{.*}}DocCommentAsXML=[f0(_:second:)c:@M@comment_to_xml@objc(cs)ParamAndReturns(im)f0:second:@objc public func f0(_ first: Int, second: Double)Aaa. f0.firstinBbb.secondinCcc. Ddd. Eee.] // CHECK: {{.*}}DocCommentAsXML=none // CHECK: {{.*}}DocCommentAsXML=none /// Aaa. f1. /// /// - parameter first: Bbb. /// /// - returns: Ccc. /// Ddd. @objc public func f1(_ first: Int) {} // CHECK: {{.*}}DocCommentAsXML=[f1(_:)c:@M@comment_to_xml@objc(cs)ParamAndReturns(im)f1:@objc public func f1(_ first: Int)Aaa. f1.firstinBbb.Ccc. Ddd.] // CHECK: {{.*}}DocCommentAsXML=none /// Aaa. f2. /// /// - parameter first: /// /// - parameter second: Aaa. /// /// - parameter third: /// Bbb. @objc public func f2(_ first: Int, second: Double, third: Float) {} // CHECK: {{.*}}DocCommentAsXML=[f2(_:second:third:)c:@M@comment_to_xml@objc(cs)ParamAndReturns(im)f2:second:third:@objc public func f2(_ first: Int, second: Double, third: Float)Aaa. f2.firstinsecondinAaa.thirdin Bbb.] // CHECK: {{.*}}DocCommentAsXML=none // CHECK: {{.*}}DocCommentAsXML=none // CHECK: {{.*}}DocCommentAsXML=none /// Aaa. f3. /// /// - parameter first: Bbb. /// - parameter second: Ccc. /// - parameter third: Ddd. @objc public func f3(_ first: Int, second: Double, third: Float) {} // CHECK: {{.*}}DocCommentAsXML=[f3(_:second:third:)c:@M@comment_to_xml@objc(cs)ParamAndReturns(im)f3:second:third:@objc public func f3(_ first: Int, second: Double, third: Float)Aaa. f3.firstinBbb.secondinCcc.thirdinDdd.] // CHECK: {{.*}}DocCommentAsXML=none // CHECK: {{.*}}DocCommentAsXML=none // CHECK: {{.*}}DocCommentAsXML=none /// Aaa. f4. /// /// - returns: Ccc. /// Ddd. /// /// - returns: Eee. /// Fff. @objc public func f4() {} // CHECK: {{.*}}DocCommentAsXML=[f4()c:@M@comment_to_xml@objc(cs)ParamAndReturns(im)f4@objc public func f4()Aaa. f4.Eee. Fff.] } @objc public class ParameterOutline{ // CHECK: {{.*}}DocCommentAsXML=none /// - Parameters: /// - x: A number /// - y: A number /// /// - PARAMETERS: /// - z: A number @objc public func f0(_ x: Int, y: Int, z: Int) {} // CHECK: {{.*}}DocCommentAsXML=[f0(_:y:z:)c:@M@comment_to_xml@objc(cs)ParameterOutline(im)f0:y:z:@objc public func f0(_ x: Int, y: Int, z: Int)xinA numberyinA numberzinA number] // CHECK: {{.*}}DocCommentAsXML=none // CHECK: {{.*}}DocCommentAsXML=none // CHECK: {{.*}}DocCommentAsXML=none } @objc public class ParameterOutlineMiddle { // CHECK: {{.*}}DocCommentAsXML=none /// - This line should remain. /// - Parameters: /// - x: A number /// - y: A number /// - This line should also remain. /// - parameter z: A number @objc public func f0(_ x: Int, y: Int, z: Int) {} // CHECK: {{.*}}DocCommentAsXML=[f0(_:y:z:)c:@M@comment_to_xml@objc(cs)ParameterOutlineMiddle(im)f0:y:z:@objc public func f0(_ x: Int, y: Int, z: Int)xinA numberyinA numberzinA numberThis line should remain.This line should also remain.] // CHECK: {{.*}}DocCommentAsXML=none // CHECK: {{.*}}DocCommentAsXML=none // CHECK: {{.*}}DocCommentAsXML=none } @objc public class ReferenceLink { // CHECK: {{.*}}DocCommentAsXML=none /// This is [a reference link] [1]. /// /// [1]: http://developer.apple.com/ } @objc public class Returns { // CHECK: {{.*}}DocCommentAsXML=none /// - returns: A number @objc public func f0() -> Int { return 0 } // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)Returns(im)f0@objc public func f0() -> IntA number] } @objc public class SeparateParameters { // CHECK: {{.*}}DocCommentAsXML=none /// - Parameter x: A number @objc public func f0(_ x: Int, y: Int) {} // CHECK: DocCommentAsXML=[f0(_:y:)c:@M@comment_to_xml@objc(cs)SeparateParameters(im)f0:y:@objc public func f0(_ x: Int, y: Int)xinA number] // CHECK: {{.*}}DocCommentAsXML=none // CHECK: {{.*}}DocCommentAsXML=none } @objc public class SetextHeaders { // CHECK: {{.*}}DocCommentAsXML=none /// # LEVEL ONE /// /// ## LEVEL TWO /// /// ### LEVEL THREE /// /// #### LEVEL FOUR /// /// ##### LEVEL FIVE /// /// ##### LEVEL SIX @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)SetextHeaders(im)f0@objc public func f0()]]>LEVEL ONE]]>]]>LEVEL TWO]]>]]>LEVEL THREE]]>]]>LEVEL FOUR]]>]]>LEVEL FIVE]]>]]>LEVEL SIX]]>] } @objc public class StrongEmphasis { // CHECK: {{.*}}DocCommentAsXML=none /// Aaa **bbb** ccc. /// Aaa __bbb__ ccc. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)StrongEmphasis(im)f0@objc public func f0()Aaa bbb ccc. Aaa bbb ccc.] } @objc public class UnorderedList { // CHECK: {{.*}}DocCommentAsXML=none /// * Aaa. /// /// * Bbb. /// Ccc. /// /// - Ddd. /// - Eee. /// - Fff. @objc public func f0() {} // CHECK: {{.*}}DocCommentAsXML=[f0()c:@M@comment_to_xml@objc(cs)UnorderedList(im)f0@objc public func f0()Aaa.Bbb. Ccc.Ddd.Eee.Fff.] } /// Brief. /// /// ``` /// thisIsASwiftCodeExample() /// ``` public func codeListingWithDefaultLanguage() {} // CHECK: DocCommentAsXML=[codeListingWithDefaultLanguage()s:14comment_to_xml30codeListingWithDefaultLanguageyyFpublic func codeListingWithDefaultLanguage()Brief.] CommentXMLValid /// Brief. /// /// ```c++ /// Something::Something::create(); /// ``` public func codeListingWithOtherLanguage() {} // CHECK: DocCommentAsXML=[codeListingWithOtherLanguage()s:14comment_to_xml28codeListingWithOtherLanguageyyFpublic func codeListingWithOtherLanguage()Brief.] /// Brief. /// /// - LocalizationKey: ABC public func localizationKeyShouldNotAppearInDocComments() {} // CHECK: DocCommentAsXML=[localizationKeyShouldNotAppearInDocComments()s:14comment_to_xml43localizationKeyShouldNotAppearInDocCommentsyyFpublic func localizationKeyShouldNotAppearInDocComments()Brief.] /// - LocalizationKey: ABC public func localizationKeyShouldNotAppearInDocComments2() {} // CHECK: DocCommentAsXML=[localizationKeyShouldNotAppearInDocComments2()s:14comment_to_xml44localizationKeyShouldNotAppearInDocComments2yyFpublic func localizationKeyShouldNotAppearInDocComments2()] /// Brief. /// /// - Tag: /// - Tag: /// - Tag: Tag_A /// - Tag: Tag B /// - Tag: Dedupe tag /// - Tag: Dedupe tag /// /// Intentional break /// /// - TAG: TAG_C public func tags() {} // CHECK: DocCommentAsXML=[tags()s:14comment_to_xml4tagsyyFpublic func tags()Brief.Tag_ATag BDedupe tagTAG_CIntentional break] #sourceLocation(file: "custom.swuft", line: 20) /// Oooh, custom! public func customLocation() {} // CHECK: DocCommentAsXML=[customLocation()s:14comment_to_xml14customLocationyyFpublic func customLocation()Oooh, custom!] #sourceLocation() // reset