1include "clang/Basic/ASTNode.td"
2
3class CommentNode<CommentNode base, bit abstract = 0> : ASTNode {
4 CommentNode Base = base;
5 bit Abstract = abstract;
6}
7
8def Comment : CommentNode<?, 1>;
9def InlineContentComment : CommentNode<Comment, 1>;
10 def TextComment : CommentNode<InlineContentComment>;
11 def InlineCommandComment : CommentNode<InlineContentComment>;
12 def HTMLTagComment : CommentNode<InlineContentComment, 1>;
13 def HTMLStartTagComment : CommentNode<HTMLTagComment>;
14 def HTMLEndTagComment : CommentNode<HTMLTagComment>;
15
16def BlockContentComment : CommentNode<Comment, 1>;
17 def ParagraphComment : CommentNode<BlockContentComment>;
18 def BlockCommandComment : CommentNode<BlockContentComment>;
19 def ParamCommandComment : CommentNode<BlockCommandComment>;
20 def TParamCommandComment : CommentNode<BlockCommandComment>;
21 def VerbatimBlockComment : CommentNode<BlockCommandComment>;
22 def VerbatimLineComment : CommentNode<BlockCommandComment>;
23
24def VerbatimBlockLineComment : CommentNode<Comment>;
25
26def FullComment : CommentNode<Comment>;
27
28