include "clang/Basic/ASTNode.td" class CommentNode<CommentNode base, bit abstract = 0> : ASTNode { CommentNode Base = base; bit Abstract = abstract; } def Comment : CommentNode<?, 1>; def InlineContentComment : CommentNode<Comment, 1>; def TextComment : CommentNode<InlineContentComment>; def InlineCommandComment : CommentNode<InlineContentComment>; def HTMLTagComment : CommentNode<InlineContentComment, 1>; def HTMLStartTagComment : CommentNode<HTMLTagComment>; def HTMLEndTagComment : CommentNode<HTMLTagComment>; def BlockContentComment : CommentNode<Comment, 1>; def ParagraphComment : CommentNode<BlockContentComment>; def BlockCommandComment : CommentNode<BlockContentComment>; def ParamCommandComment : CommentNode<BlockCommandComment>; def TParamCommandComment : CommentNode<BlockCommandComment>; def VerbatimBlockComment : CommentNode<BlockCommandComment>; def VerbatimLineComment : CommentNode<BlockCommandComment>; def VerbatimBlockLineComment : CommentNode<Comment>; def FullComment : CommentNode<Comment>;