in facebook-clang-plugins/libtooling/ASTExporter.h [1237:1257]
void ASTExporter<ATDWriter>::VisitTagDecl(const TagDecl *D) {
VisitTypeDecl(D);
VisitDeclContext(D);
switch (D->getTagKind()) {
case TagTypeKind::TTK_Struct:
OF.emitSimpleVariant("TTK_Struct");
break;
case TagTypeKind::TTK_Interface:
OF.emitSimpleVariant("TTK_Interface");
break;
case TagTypeKind::TTK_Union:
OF.emitSimpleVariant("TTK_Union");
break;
case TagTypeKind::TTK_Class:
OF.emitSimpleVariant("TTK_Class");
break;
case TagTypeKind::TTK_Enum:
OF.emitSimpleVariant("TTK_Enum");
break;
}
}