jazzy 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +59 -0
  3. data/LICENSE +21 -0
  4. data/README.md +62 -0
  5. data/Rakefile +1 -0
  6. data/bin/ASTDump +0 -0
  7. data/bin/SwiftHeader +22 -0
  8. data/bin/jazzy +42 -0
  9. data/jazzy.gemspec +27 -0
  10. data/lib/assets/CSS/style-1.1.15.css +3366 -0
  11. data/lib/assets/Images/apple2.png +0 -0
  12. data/lib/assets/Images/carat_2x.png +0 -0
  13. data/lib/assets/Images/check.png +0 -0
  14. data/lib/assets/Images/class_node_parent_and_child_2x.png +0 -0
  15. data/lib/assets/Images/class_node_subclass_last_child_2x.png +0 -0
  16. data/lib/assets/Images/class_node_subclass_with_siblings_2x.png +0 -0
  17. data/lib/assets/Images/closebox_2x.png +0 -0
  18. data/lib/assets/Images/collection_last_child_2x.png +0 -0
  19. data/lib/assets/Images/collection_last_child_orphan_grandparent_2x.png +0 -0
  20. data/lib/assets/Images/collection_last_child_orphan_parent_2x.png +0 -0
  21. data/lib/assets/Images/collection_last_child_orphan_parent_and_grandparent_2x.png +0 -0
  22. data/lib/assets/Images/collection_node_2x.png +0 -0
  23. data/lib/assets/Images/collection_node_orphan_grandparent_2x.png +0 -0
  24. data/lib/assets/Images/collection_node_orphan_parent_2x.png +0 -0
  25. data/lib/assets/Images/collection_node_orphan_parent_and_grandparent_2x.png +0 -0
  26. data/lib/assets/Images/collection_node_parent_2x.png +0 -0
  27. data/lib/assets/Images/collection_node_parent_last_child_orphan_parent_2x.png +0 -0
  28. data/lib/assets/Images/collection_node_parent_orphan_parent_2x.png +0 -0
  29. data/lib/assets/Images/collection_parent_last_child_2x.png +0 -0
  30. data/lib/assets/Images/download_2x.png +0 -0
  31. data/lib/assets/Images/left_arrow_2x.png +0 -0
  32. data/lib/assets/Images/magnify_2x.png +0 -0
  33. data/lib/assets/Images/minus_2x.png +0 -0
  34. data/lib/assets/Images/playbutton.svg +15 -0
  35. data/lib/assets/Images/plus_2x.png +0 -0
  36. data/lib/assets/Images/right_arrow_2x.png +0 -0
  37. data/lib/assets/Images/search_2x.png +0 -0
  38. data/lib/assets/Images/shortstack_2x.png +0 -0
  39. data/lib/assets/JavaScript/devpubs-1.1.15.js +1293 -0
  40. data/lib/jazzy.rb +133 -0
  41. data/lib/jazzy/jazzhtml.rb +7 -0
  42. data/lib/jazzy/klass.mustache +325 -0
  43. data/lib/jazzy/klass.rb +27 -0
  44. data/lib/jazzy/partials/klass-method.mustache +84 -0
  45. data/lib/jazzy/partials/klass-overview.mustache +6 -0
  46. data/lib/jazzy/partials/klass-property.mustache +52 -0
  47. data/parser/ASTDump.xcodeproj/project.pbxproj +288 -0
  48. data/parser/ASTDump.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  49. data/parser/ASTDump.xcodeproj/project.xcworkspace/xcshareddata/ASTDump.xccheckout +41 -0
  50. data/parser/ASTDump.xcodeproj/project.xcworkspace/xcuserdata/ta.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  51. data/parser/ASTDump.xcodeproj/xcuserdata/ta.xcuserdatad/xcschemes/ASTDump.xcscheme +86 -0
  52. data/parser/ASTDump.xcodeproj/xcuserdata/ta.xcuserdatad/xcschemes/xcschememanagement.plist +22 -0
  53. data/parser/ASTDump/JAZMusician.h +38 -0
  54. data/parser/ASTDump/JAZMusician.m +19 -0
  55. data/parser/ASTDump/main.cpp +71 -0
  56. data/parser/clang-c/BuildSystem.h +148 -0
  57. data/parser/clang-c/CXCompilationDatabase.h +170 -0
  58. data/parser/clang-c/CXErrorCode.h +64 -0
  59. data/parser/clang-c/CXString.h +61 -0
  60. data/parser/clang-c/Documentation.h +554 -0
  61. data/parser/clang-c/Index.h +5438 -0
  62. data/parser/clang-c/Platform.h +45 -0
  63. metadata +190 -0
@@ -0,0 +1,64 @@
1
+ /*===-- clang-c/CXErrorCode.h - C Index Error Codes --------------*- C -*-===*\
2
+ |* *|
3
+ |* The LLVM Compiler Infrastructure *|
4
+ |* *|
5
+ |* This file is distributed under the University of Illinois Open Source *|
6
+ |* License. See LICENSE.TXT for details. *|
7
+ |* *|
8
+ |*===----------------------------------------------------------------------===*|
9
+ |* *|
10
+ |* This header provides the CXErrorCode enumerators. *|
11
+ |* *|
12
+ \*===----------------------------------------------------------------------===*/
13
+
14
+ #ifndef CLANG_C_CXERRORCODE_H
15
+ #define CLANG_C_CXERRORCODE_H
16
+
17
+ #include "clang-c/Platform.h"
18
+
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+ /**
24
+ * \brief Error codes returned by libclang routines.
25
+ *
26
+ * Zero (\c CXError_Success) is the only error code indicating success. Other
27
+ * error codes, including not yet assigned non-zero values, indicate errors.
28
+ */
29
+ enum CXErrorCode {
30
+ /**
31
+ * \brief No error.
32
+ */
33
+ CXError_Success = 0,
34
+
35
+ /**
36
+ * \brief A generic error code, no further details are available.
37
+ *
38
+ * Errors of this kind can get their own specific error codes in future
39
+ * libclang versions.
40
+ */
41
+ CXError_Failure = 1,
42
+
43
+ /**
44
+ * \brief libclang crashed while performing the requested operation.
45
+ */
46
+ CXError_Crashed = 2,
47
+
48
+ /**
49
+ * \brief The function detected that the arguments violate the function
50
+ * contract.
51
+ */
52
+ CXError_InvalidArguments = 3,
53
+
54
+ /**
55
+ * \brief An AST deserialization error has occurred.
56
+ */
57
+ CXError_ASTReadError = 4
58
+ };
59
+
60
+ #ifdef __cplusplus
61
+ }
62
+ #endif
63
+ #endif
64
+
@@ -0,0 +1,61 @@
1
+ /*===-- clang-c/CXString.h - C Index strings --------------------*- C -*-===*\
2
+ |* *|
3
+ |* The LLVM Compiler Infrastructure *|
4
+ |* *|
5
+ |* This file is distributed under the University of Illinois Open Source *|
6
+ |* License. See LICENSE.TXT for details. *|
7
+ |* *|
8
+ |*===----------------------------------------------------------------------===*|
9
+ |* *|
10
+ |* This header provides the interface to C Index strings. *|
11
+ |* *|
12
+ \*===----------------------------------------------------------------------===*/
13
+
14
+ #ifndef CLANG_CXSTRING_H
15
+ #define CLANG_CXSTRING_H
16
+
17
+ #include "clang-c/Platform.h"
18
+
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+ /**
24
+ * \defgroup CINDEX_STRING String manipulation routines
25
+ * \ingroup CINDEX
26
+ *
27
+ * @{
28
+ */
29
+
30
+ /**
31
+ * \brief A character string.
32
+ *
33
+ * The \c CXString type is used to return strings from the interface when
34
+ * the ownership of that string might differ from one call to the next.
35
+ * Use \c clang_getCString() to retrieve the string data and, once finished
36
+ * with the string data, call \c clang_disposeString() to free the string.
37
+ */
38
+ typedef struct {
39
+ const void *data;
40
+ unsigned private_flags;
41
+ } CXString;
42
+
43
+ /**
44
+ * \brief Retrieve the character data associated with the given string.
45
+ */
46
+ CINDEX_LINKAGE const char *clang_getCString(CXString string);
47
+
48
+ /**
49
+ * \brief Free the given string.
50
+ */
51
+ CINDEX_LINKAGE void clang_disposeString(CXString string);
52
+
53
+ /**
54
+ * @}
55
+ */
56
+
57
+ #ifdef __cplusplus
58
+ }
59
+ #endif
60
+ #endif
61
+
@@ -0,0 +1,554 @@
1
+ /*==-- clang-c/Documentation.h - Utilities for comment processing -*- C -*-===*\
2
+ |* *|
3
+ |* The LLVM Compiler Infrastructure *|
4
+ |* *|
5
+ |* This file is distributed under the University of Illinois Open Source *|
6
+ |* License. See LICENSE.TXT for details. *|
7
+ |* *|
8
+ |*===----------------------------------------------------------------------===*|
9
+ |* *|
10
+ |* This header provides a supplementary interface for inspecting *|
11
+ |* documentation comments. *|
12
+ |* *|
13
+ \*===----------------------------------------------------------------------===*/
14
+
15
+ #ifndef CLANG_C_DOCUMENTATION_H
16
+ #define CLANG_C_DOCUMENTATION_H
17
+
18
+ #include "clang-c/Index.h"
19
+
20
+ #ifdef __cplusplus
21
+ extern "C" {
22
+ #endif
23
+
24
+ /**
25
+ * \defgroup CINDEX_COMMENT Comment introspection
26
+ *
27
+ * The routines in this group provide access to information in documentation
28
+ * comments. These facilities are distinct from the core and may be subject to
29
+ * their own schedule of stability and deprecation.
30
+ *
31
+ * @{
32
+ */
33
+
34
+ /**
35
+ * \brief A parsed comment.
36
+ */
37
+ typedef struct {
38
+ const void *ASTNode;
39
+ CXTranslationUnit TranslationUnit;
40
+ } CXComment;
41
+
42
+ /**
43
+ * \brief Given a cursor that represents a documentable entity (e.g.,
44
+ * declaration), return the associated parsed comment as a
45
+ * \c CXComment_FullComment AST node.
46
+ */
47
+ CINDEX_LINKAGE CXComment clang_Cursor_getParsedComment(CXCursor C);
48
+
49
+ /**
50
+ * \brief Describes the type of the comment AST node (\c CXComment). A comment
51
+ * node can be considered block content (e. g., paragraph), inline content
52
+ * (plain text) or neither (the root AST node).
53
+ */
54
+ enum CXCommentKind {
55
+ /**
56
+ * \brief Null comment. No AST node is constructed at the requested location
57
+ * because there is no text or a syntax error.
58
+ */
59
+ CXComment_Null = 0,
60
+
61
+ /**
62
+ * \brief Plain text. Inline content.
63
+ */
64
+ CXComment_Text = 1,
65
+
66
+ /**
67
+ * \brief A command with word-like arguments that is considered inline content.
68
+ *
69
+ * For example: \\c command.
70
+ */
71
+ CXComment_InlineCommand = 2,
72
+
73
+ /**
74
+ * \brief HTML start tag with attributes (name-value pairs). Considered
75
+ * inline content.
76
+ *
77
+ * For example:
78
+ * \verbatim
79
+ * <br> <br /> <a href="http://example.org/">
80
+ * \endverbatim
81
+ */
82
+ CXComment_HTMLStartTag = 3,
83
+
84
+ /**
85
+ * \brief HTML end tag. Considered inline content.
86
+ *
87
+ * For example:
88
+ * \verbatim
89
+ * </a>
90
+ * \endverbatim
91
+ */
92
+ CXComment_HTMLEndTag = 4,
93
+
94
+ /**
95
+ * \brief A paragraph, contains inline comment. The paragraph itself is
96
+ * block content.
97
+ */
98
+ CXComment_Paragraph = 5,
99
+
100
+ /**
101
+ * \brief A command that has zero or more word-like arguments (number of
102
+ * word-like arguments depends on command name) and a paragraph as an
103
+ * argument. Block command is block content.
104
+ *
105
+ * Paragraph argument is also a child of the block command.
106
+ *
107
+ * For example: \\brief has 0 word-like arguments and a paragraph argument.
108
+ *
109
+ * AST nodes of special kinds that parser knows about (e. g., \\param
110
+ * command) have their own node kinds.
111
+ */
112
+ CXComment_BlockCommand = 6,
113
+
114
+ /**
115
+ * \brief A \\param or \\arg command that describes the function parameter
116
+ * (name, passing direction, description).
117
+ *
118
+ * For example: \\param [in] ParamName description.
119
+ */
120
+ CXComment_ParamCommand = 7,
121
+
122
+ /**
123
+ * \brief A \\tparam command that describes a template parameter (name and
124
+ * description).
125
+ *
126
+ * For example: \\tparam T description.
127
+ */
128
+ CXComment_TParamCommand = 8,
129
+
130
+ /**
131
+ * \brief A verbatim block command (e. g., preformatted code). Verbatim
132
+ * block has an opening and a closing command and contains multiple lines of
133
+ * text (\c CXComment_VerbatimBlockLine child nodes).
134
+ *
135
+ * For example:
136
+ * \\verbatim
137
+ * aaa
138
+ * \\endverbatim
139
+ */
140
+ CXComment_VerbatimBlockCommand = 9,
141
+
142
+ /**
143
+ * \brief A line of text that is contained within a
144
+ * CXComment_VerbatimBlockCommand node.
145
+ */
146
+ CXComment_VerbatimBlockLine = 10,
147
+
148
+ /**
149
+ * \brief A verbatim line command. Verbatim line has an opening command,
150
+ * a single line of text (up to the newline after the opening command) and
151
+ * has no closing command.
152
+ */
153
+ CXComment_VerbatimLine = 11,
154
+
155
+ /**
156
+ * \brief A full comment attached to a declaration, contains block content.
157
+ */
158
+ CXComment_FullComment = 12
159
+ };
160
+
161
+ /**
162
+ * \brief The most appropriate rendering mode for an inline command, chosen on
163
+ * command semantics in Doxygen.
164
+ */
165
+ enum CXCommentInlineCommandRenderKind {
166
+ /**
167
+ * \brief Command argument should be rendered in a normal font.
168
+ */
169
+ CXCommentInlineCommandRenderKind_Normal,
170
+
171
+ /**
172
+ * \brief Command argument should be rendered in a bold font.
173
+ */
174
+ CXCommentInlineCommandRenderKind_Bold,
175
+
176
+ /**
177
+ * \brief Command argument should be rendered in a monospaced font.
178
+ */
179
+ CXCommentInlineCommandRenderKind_Monospaced,
180
+
181
+ /**
182
+ * \brief Command argument should be rendered emphasized (typically italic
183
+ * font).
184
+ */
185
+ CXCommentInlineCommandRenderKind_Emphasized
186
+ };
187
+
188
+ /**
189
+ * \brief Describes parameter passing direction for \\param or \\arg command.
190
+ */
191
+ enum CXCommentParamPassDirection {
192
+ /**
193
+ * \brief The parameter is an input parameter.
194
+ */
195
+ CXCommentParamPassDirection_In,
196
+
197
+ /**
198
+ * \brief The parameter is an output parameter.
199
+ */
200
+ CXCommentParamPassDirection_Out,
201
+
202
+ /**
203
+ * \brief The parameter is an input and output parameter.
204
+ */
205
+ CXCommentParamPassDirection_InOut
206
+ };
207
+
208
+ /**
209
+ * \param Comment AST node of any kind.
210
+ *
211
+ * \returns the type of the AST node.
212
+ */
213
+ CINDEX_LINKAGE enum CXCommentKind clang_Comment_getKind(CXComment Comment);
214
+
215
+ /**
216
+ * \param Comment AST node of any kind.
217
+ *
218
+ * \returns number of children of the AST node.
219
+ */
220
+ CINDEX_LINKAGE unsigned clang_Comment_getNumChildren(CXComment Comment);
221
+
222
+ /**
223
+ * \param Comment AST node of any kind.
224
+ *
225
+ * \param ChildIdx child index (zero-based).
226
+ *
227
+ * \returns the specified child of the AST node.
228
+ */
229
+ CINDEX_LINKAGE
230
+ CXComment clang_Comment_getChild(CXComment Comment, unsigned ChildIdx);
231
+
232
+ /**
233
+ * \brief A \c CXComment_Paragraph node is considered whitespace if it contains
234
+ * only \c CXComment_Text nodes that are empty or whitespace.
235
+ *
236
+ * Other AST nodes (except \c CXComment_Paragraph and \c CXComment_Text) are
237
+ * never considered whitespace.
238
+ *
239
+ * \returns non-zero if \c Comment is whitespace.
240
+ */
241
+ CINDEX_LINKAGE unsigned clang_Comment_isWhitespace(CXComment Comment);
242
+
243
+ /**
244
+ * \returns non-zero if \c Comment is inline content and has a newline
245
+ * immediately following it in the comment text. Newlines between paragraphs
246
+ * do not count.
247
+ */
248
+ CINDEX_LINKAGE
249
+ unsigned clang_InlineContentComment_hasTrailingNewline(CXComment Comment);
250
+
251
+ /**
252
+ * \param Comment a \c CXComment_Text AST node.
253
+ *
254
+ * \returns text contained in the AST node.
255
+ */
256
+ CINDEX_LINKAGE CXString clang_TextComment_getText(CXComment Comment);
257
+
258
+ /**
259
+ * \param Comment a \c CXComment_InlineCommand AST node.
260
+ *
261
+ * \returns name of the inline command.
262
+ */
263
+ CINDEX_LINKAGE
264
+ CXString clang_InlineCommandComment_getCommandName(CXComment Comment);
265
+
266
+ /**
267
+ * \param Comment a \c CXComment_InlineCommand AST node.
268
+ *
269
+ * \returns the most appropriate rendering mode, chosen on command
270
+ * semantics in Doxygen.
271
+ */
272
+ CINDEX_LINKAGE enum CXCommentInlineCommandRenderKind
273
+ clang_InlineCommandComment_getRenderKind(CXComment Comment);
274
+
275
+ /**
276
+ * \param Comment a \c CXComment_InlineCommand AST node.
277
+ *
278
+ * \returns number of command arguments.
279
+ */
280
+ CINDEX_LINKAGE
281
+ unsigned clang_InlineCommandComment_getNumArgs(CXComment Comment);
282
+
283
+ /**
284
+ * \param Comment a \c CXComment_InlineCommand AST node.
285
+ *
286
+ * \param ArgIdx argument index (zero-based).
287
+ *
288
+ * \returns text of the specified argument.
289
+ */
290
+ CINDEX_LINKAGE
291
+ CXString clang_InlineCommandComment_getArgText(CXComment Comment,
292
+ unsigned ArgIdx);
293
+
294
+ /**
295
+ * \param Comment a \c CXComment_HTMLStartTag or \c CXComment_HTMLEndTag AST
296
+ * node.
297
+ *
298
+ * \returns HTML tag name.
299
+ */
300
+ CINDEX_LINKAGE CXString clang_HTMLTagComment_getTagName(CXComment Comment);
301
+
302
+ /**
303
+ * \param Comment a \c CXComment_HTMLStartTag AST node.
304
+ *
305
+ * \returns non-zero if tag is self-closing (for example, &lt;br /&gt;).
306
+ */
307
+ CINDEX_LINKAGE
308
+ unsigned clang_HTMLStartTagComment_isSelfClosing(CXComment Comment);
309
+
310
+ /**
311
+ * \param Comment a \c CXComment_HTMLStartTag AST node.
312
+ *
313
+ * \returns number of attributes (name-value pairs) attached to the start tag.
314
+ */
315
+ CINDEX_LINKAGE unsigned clang_HTMLStartTag_getNumAttrs(CXComment Comment);
316
+
317
+ /**
318
+ * \param Comment a \c CXComment_HTMLStartTag AST node.
319
+ *
320
+ * \param AttrIdx attribute index (zero-based).
321
+ *
322
+ * \returns name of the specified attribute.
323
+ */
324
+ CINDEX_LINKAGE
325
+ CXString clang_HTMLStartTag_getAttrName(CXComment Comment, unsigned AttrIdx);
326
+
327
+ /**
328
+ * \param Comment a \c CXComment_HTMLStartTag AST node.
329
+ *
330
+ * \param AttrIdx attribute index (zero-based).
331
+ *
332
+ * \returns value of the specified attribute.
333
+ */
334
+ CINDEX_LINKAGE
335
+ CXString clang_HTMLStartTag_getAttrValue(CXComment Comment, unsigned AttrIdx);
336
+
337
+ /**
338
+ * \param Comment a \c CXComment_BlockCommand AST node.
339
+ *
340
+ * \returns name of the block command.
341
+ */
342
+ CINDEX_LINKAGE
343
+ CXString clang_BlockCommandComment_getCommandName(CXComment Comment);
344
+
345
+ /**
346
+ * \param Comment a \c CXComment_BlockCommand AST node.
347
+ *
348
+ * \returns number of word-like arguments.
349
+ */
350
+ CINDEX_LINKAGE
351
+ unsigned clang_BlockCommandComment_getNumArgs(CXComment Comment);
352
+
353
+ /**
354
+ * \param Comment a \c CXComment_BlockCommand AST node.
355
+ *
356
+ * \param ArgIdx argument index (zero-based).
357
+ *
358
+ * \returns text of the specified word-like argument.
359
+ */
360
+ CINDEX_LINKAGE
361
+ CXString clang_BlockCommandComment_getArgText(CXComment Comment,
362
+ unsigned ArgIdx);
363
+
364
+ /**
365
+ * \param Comment a \c CXComment_BlockCommand or
366
+ * \c CXComment_VerbatimBlockCommand AST node.
367
+ *
368
+ * \returns paragraph argument of the block command.
369
+ */
370
+ CINDEX_LINKAGE
371
+ CXComment clang_BlockCommandComment_getParagraph(CXComment Comment);
372
+
373
+ /**
374
+ * \param Comment a \c CXComment_ParamCommand AST node.
375
+ *
376
+ * \returns parameter name.
377
+ */
378
+ CINDEX_LINKAGE
379
+ CXString clang_ParamCommandComment_getParamName(CXComment Comment);
380
+
381
+ /**
382
+ * \param Comment a \c CXComment_ParamCommand AST node.
383
+ *
384
+ * \returns non-zero if the parameter that this AST node represents was found
385
+ * in the function prototype and \c clang_ParamCommandComment_getParamIndex
386
+ * function will return a meaningful value.
387
+ */
388
+ CINDEX_LINKAGE
389
+ unsigned clang_ParamCommandComment_isParamIndexValid(CXComment Comment);
390
+
391
+ /**
392
+ * \param Comment a \c CXComment_ParamCommand AST node.
393
+ *
394
+ * \returns zero-based parameter index in function prototype.
395
+ */
396
+ CINDEX_LINKAGE
397
+ unsigned clang_ParamCommandComment_getParamIndex(CXComment Comment);
398
+
399
+ /**
400
+ * \param Comment a \c CXComment_ParamCommand AST node.
401
+ *
402
+ * \returns non-zero if parameter passing direction was specified explicitly in
403
+ * the comment.
404
+ */
405
+ CINDEX_LINKAGE
406
+ unsigned clang_ParamCommandComment_isDirectionExplicit(CXComment Comment);
407
+
408
+ /**
409
+ * \param Comment a \c CXComment_ParamCommand AST node.
410
+ *
411
+ * \returns parameter passing direction.
412
+ */
413
+ CINDEX_LINKAGE
414
+ enum CXCommentParamPassDirection clang_ParamCommandComment_getDirection(
415
+ CXComment Comment);
416
+
417
+ /**
418
+ * \param Comment a \c CXComment_TParamCommand AST node.
419
+ *
420
+ * \returns template parameter name.
421
+ */
422
+ CINDEX_LINKAGE
423
+ CXString clang_TParamCommandComment_getParamName(CXComment Comment);
424
+
425
+ /**
426
+ * \param Comment a \c CXComment_TParamCommand AST node.
427
+ *
428
+ * \returns non-zero if the parameter that this AST node represents was found
429
+ * in the template parameter list and
430
+ * \c clang_TParamCommandComment_getDepth and
431
+ * \c clang_TParamCommandComment_getIndex functions will return a meaningful
432
+ * value.
433
+ */
434
+ CINDEX_LINKAGE
435
+ unsigned clang_TParamCommandComment_isParamPositionValid(CXComment Comment);
436
+
437
+ /**
438
+ * \param Comment a \c CXComment_TParamCommand AST node.
439
+ *
440
+ * \returns zero-based nesting depth of this parameter in the template parameter list.
441
+ *
442
+ * For example,
443
+ * \verbatim
444
+ * template<typename C, template<typename T> class TT>
445
+ * void test(TT<int> aaa);
446
+ * \endverbatim
447
+ * for C and TT nesting depth is 0,
448
+ * for T nesting depth is 1.
449
+ */
450
+ CINDEX_LINKAGE
451
+ unsigned clang_TParamCommandComment_getDepth(CXComment Comment);
452
+
453
+ /**
454
+ * \param Comment a \c CXComment_TParamCommand AST node.
455
+ *
456
+ * \returns zero-based parameter index in the template parameter list at a
457
+ * given nesting depth.
458
+ *
459
+ * For example,
460
+ * \verbatim
461
+ * template<typename C, template<typename T> class TT>
462
+ * void test(TT<int> aaa);
463
+ * \endverbatim
464
+ * for C and TT nesting depth is 0, so we can ask for index at depth 0:
465
+ * at depth 0 C's index is 0, TT's index is 1.
466
+ *
467
+ * For T nesting depth is 1, so we can ask for index at depth 0 and 1:
468
+ * at depth 0 T's index is 1 (same as TT's),
469
+ * at depth 1 T's index is 0.
470
+ */
471
+ CINDEX_LINKAGE
472
+ unsigned clang_TParamCommandComment_getIndex(CXComment Comment, unsigned Depth);
473
+
474
+ /**
475
+ * \param Comment a \c CXComment_VerbatimBlockLine AST node.
476
+ *
477
+ * \returns text contained in the AST node.
478
+ */
479
+ CINDEX_LINKAGE
480
+ CXString clang_VerbatimBlockLineComment_getText(CXComment Comment);
481
+
482
+ /**
483
+ * \param Comment a \c CXComment_VerbatimLine AST node.
484
+ *
485
+ * \returns text contained in the AST node.
486
+ */
487
+ CINDEX_LINKAGE CXString clang_VerbatimLineComment_getText(CXComment Comment);
488
+
489
+ /**
490
+ * \brief Convert an HTML tag AST node to string.
491
+ *
492
+ * \param Comment a \c CXComment_HTMLStartTag or \c CXComment_HTMLEndTag AST
493
+ * node.
494
+ *
495
+ * \returns string containing an HTML tag.
496
+ */
497
+ CINDEX_LINKAGE CXString clang_HTMLTagComment_getAsString(CXComment Comment);
498
+
499
+ /**
500
+ * \brief Convert a given full parsed comment to an HTML fragment.
501
+ *
502
+ * Specific details of HTML layout are subject to change. Don't try to parse
503
+ * this HTML back into an AST, use other APIs instead.
504
+ *
505
+ * Currently the following CSS classes are used:
506
+ * \li "para-brief" for \\brief paragraph and equivalent commands;
507
+ * \li "para-returns" for \\returns paragraph and equivalent commands;
508
+ * \li "word-returns" for the "Returns" word in \\returns paragraph.
509
+ *
510
+ * Function argument documentation is rendered as a \<dl\> list with arguments
511
+ * sorted in function prototype order. CSS classes used:
512
+ * \li "param-name-index-NUMBER" for parameter name (\<dt\>);
513
+ * \li "param-descr-index-NUMBER" for parameter description (\<dd\>);
514
+ * \li "param-name-index-invalid" and "param-descr-index-invalid" are used if
515
+ * parameter index is invalid.
516
+ *
517
+ * Template parameter documentation is rendered as a \<dl\> list with
518
+ * parameters sorted in template parameter list order. CSS classes used:
519
+ * \li "tparam-name-index-NUMBER" for parameter name (\<dt\>);
520
+ * \li "tparam-descr-index-NUMBER" for parameter description (\<dd\>);
521
+ * \li "tparam-name-index-other" and "tparam-descr-index-other" are used for
522
+ * names inside template template parameters;
523
+ * \li "tparam-name-index-invalid" and "tparam-descr-index-invalid" are used if
524
+ * parameter position is invalid.
525
+ *
526
+ * \param Comment a \c CXComment_FullComment AST node.
527
+ *
528
+ * \returns string containing an HTML fragment.
529
+ */
530
+ CINDEX_LINKAGE CXString clang_FullComment_getAsHTML(CXComment Comment);
531
+
532
+ /**
533
+ * \brief Convert a given full parsed comment to an XML document.
534
+ *
535
+ * A Relax NG schema for the XML can be found in comment-xml-schema.rng file
536
+ * inside clang source tree.
537
+ *
538
+ * \param Comment a \c CXComment_FullComment AST node.
539
+ *
540
+ * \returns string containing an XML document.
541
+ */
542
+ CINDEX_LINKAGE CXString clang_FullComment_getAsXML(CXComment Comment);
543
+
544
+ /**
545
+ * @}
546
+ */
547
+
548
+
549
+ #ifdef __cplusplus
550
+ }
551
+ #endif
552
+
553
+ #endif /* CLANG_C_DOCUMENTATION_H */
554
+