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