Home | History | Annotate | Download | only in Index
      1 // RUN: rm -rf %t
      2 // RUN: mkdir %t
      3 // RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng %s > %t/out
      4 // RUN: FileCheck %s < %t/out
      5 // rdar://12379114
      6 
      7 /*!
      8      @interface IOCommandGate
      9      @brief    This is a brief
     10      @abstract Single-threaded work-loop client request mechanism.
     11      @discussion An IOCommandGate instance is an extremely light weight mechanism that
     12          executes an action on the driver's work-loop...
     13      @textblock
     14        Many discussions about text
     15        Many1 discussions about text
     16        Many2 discussions about text
     17      @/textblock
     18      @link //un_ref/c/func/function_name link text goes here @/link
     19      @see  //un_ref/doc/uid/XX0000011 I/O Kit Fundamentals
     20      @seealso //k_ref/doc/uid/XX30000905-CH204 Programming
     21  */
     22 @interface IOCommandGate
     23 @end
     24 
     25 // CHECK:       (CXComment_BlockCommand CommandName=[abstract]
     26 // CHECK-NEXT:    (CXComment_Paragraph
     27 // CHECK-NEXT:       (CXComment_Text Text=[ Single-threaded work-loop client request mechanism.] HasTrailingNewline)
     28 // CHECK:       (CXComment_BlockCommand CommandName=[discussion]
     29 // CHECK-NEXT:     (CXComment_Paragraph
     30 // CHECK-NEXT:       (CXComment_Text Text=[ An IOCommandGate instance is an extremely light weight mechanism that] HasTrailingNewline)
     31 // CHECK-NEXT:       (CXComment_Text Text=[         executes an action on the driver's work-loop...] HasTrailingNewline)
     32 // CHECK:       (CXComment_VerbatimBlockCommand CommandName=[textblock]
     33 // CHECK-NEXT:     (CXComment_VerbatimBlockLine Text=[       Many discussions about text])
     34 // CHECK-NEXT:       (CXComment_VerbatimBlockLine Text=[       Many1 discussions about text])
     35 // CHECK-NEXT:       (CXComment_VerbatimBlockLine Text=[       Many2 discussions about text]))
     36 // CHECK-NEXT:       (CXComment_Paragraph IsWhitespace
     37 
     38 // CHECK:       (CXComment_VerbatimBlockCommand CommandName=[link]
     39 // CHECK-NEXT:     (CXComment_VerbatimBlockLine Text=[ //un_ref/c/func/function_name link text goes here ]))
     40 // CHECK-NEXT:     (CXComment_Paragraph IsWhitespace
     41 // CHECK-NEXT:     (CXComment_Text Text=[     ] IsWhitespace))
     42 // CHECK:       (CXComment_BlockCommand CommandName=[see]
     43 // CHECK-NEXT:     (CXComment_Paragraph
     44 // CHECK-NEXT:     (CXComment_Text Text=[  //un_ref/doc/uid/XX0000011 I/O Kit Fundamentals] HasTrailingNewline)
     45 // CHECK-NEXT:     (CXComment_Text Text=[     ] IsWhitespace)))
     46 // CHECK:       (CXComment_BlockCommand CommandName=[seealso]
     47 // CHECK-NEXT:     (CXComment_Paragraph
     48 // CHECK-NEXT:     (CXComment_Text Text=[ //k_ref/doc/uid/XX30000905-CH204 Programming])
     49 
     50 // rdar://12379053
     51 /*!
     52 \arg \c AlignLeft left alignment.
     53 \li \c AlignRight right alignment.
     54 
     55   No other types of alignment are supported.
     56 */
     57 struct S {
     58   int AlignLeft;
     59   int AlignRight;
     60 };
     61 
     62 // CHECK:       (CXComment_BlockCommand CommandName=[arg]
     63 // CHECK-NEXT:    (CXComment_Paragraph
     64 // CHECK-NEXT:    (CXComment_Text Text=[ ] IsWhitespace)
     65 // CHECK-NEXT:    (CXComment_InlineCommand CommandName=[c] RenderMonospaced Arg[0]=AlignLeft)
     66 // CHECK-NEXT:    (CXComment_Text Text=[ left alignment.] HasTrailingNewline)))
     67 // CHECK:       (CXComment_BlockCommand CommandName=[li]
     68 // CHECK-NEXT:    (CXComment_Paragraph
     69 // CHECK-NEXT:    (CXComment_Text Text=[ ] IsWhitespace)
     70 // CHECK-NEXT:    (CXComment_InlineCommand CommandName=[c] RenderMonospaced Arg[0]=AlignRight)
     71 // CHECK-NEXT:    (CXComment_Text Text=[ right alignment.])))
     72 // CHECK:       (CXComment_Paragraph
     73 // CHECK-NEXT:    (CXComment_Text Text=[  No other types of alignment are supported.]))
     74 
     75 // rdar://12379053
     76 /*! \struct Test
     77  * Normal text.
     78  *
     79  * \par User defined paragraph:
     80  * Contents of the paragraph.
     81  *
     82  * \par
     83  * New paragraph under the same heading.
     84  *
     85  * \note
     86  * This note consists of two paragraphs.
     87  * This is the first paragraph.
     88  *
     89  * \par
     90  * And this is the second paragraph.
     91  *
     92  * More normal text.
     93  */
     94   
     95 struct Test {int filler;};
     96 
     97 // CHECK:       (CXComment_BlockCommand CommandName=[par]
     98 // CHECK-NEXT:     (CXComment_Paragraph
     99 // CHECK-NEXT:        (CXComment_Text Text=[ User defined paragraph:] HasTrailingNewline)
    100 // CHECK-NEXT:        (CXComment_Text Text=[ Contents of the paragraph.])))
    101 // CHECK:       (CXComment_BlockCommand CommandName=[par]
    102 // CHECK-NEXT:     (CXComment_Paragraph
    103 // CHECK-NEXT:        (CXComment_Text Text=[ New paragraph under the same heading.])))
    104 // CHECK:       (CXComment_BlockCommand CommandName=[note]
    105 // CHECK-NEXT:     (CXComment_Paragraph
    106 // CHECK-NEXT:        (CXComment_Text Text=[ This note consists of two paragraphs.] HasTrailingNewline)
    107 // CHECK-NEXT:        (CXComment_Text Text=[ This is the first paragraph.])))
    108 // CHECK:       (CXComment_BlockCommand CommandName=[par]
    109 // CHECK-NEXT:     (CXComment_Paragraph
    110 // CHECK-NEXT:     (CXComment_Text Text=[ And this is the second paragraph.])))
    111 
    112