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