//===-- DocumentXML.def - Metadata about Document XML nodes -----*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file defines the XML root database structure as written in // an AST XML document. // The following macros are used: // // NODE_XML( CLASS, NAME ) - A node of name NAME denotes a concrete // statement of class CLASS where CLASS is a class name used internally by clang. // After a NODE_XML the definition of all (optional) attributes of that statement // node and possible sub-nodes follows. // // END_NODE_XML - Closes the attribute definition of the current node. // // ID_ATTRIBUTE_XML - Some nodes have an "id" attribute containing a // string, which value uniquely identify the entity represented by that node. // Other nodes may refer by reference attributes to this value. // // ATTRIBUTE_SPECIAL_XML( FN, NAME ) - An attribute named NAME which deserves // a special handling. See the appropriate documentations. // // SUB_NODE_XML( CLASS ) - A mandatory sub-node of class CLASS or its sub-classes. // // SUB_NODE_SEQUENCE_XML( CLASS ) - Zero or more sub-nodes of class CLASS or // its sub-classes. // //===----------------------------------------------------------------------===// ROOT_NODE_XML("CLANG_XML") ATTRIBUTE_SPECIAL_XML(ignore, "version") // special retrieving needed SUB_NODE_XML("TranslationUnit") SUB_NODE_XML("ReferenceSection") END_NODE_XML NODE_XML("TranslationUnit") SUB_NODE_SEQUENCE_XML(Decl) END_NODE_XML NODE_XML("ReferenceSection") SUB_NODE_XML("Types") SUB_NODE_XML("Contexts") SUB_NODE_XML("Files") END_NODE_XML NODE_XML("Types") SUB_NODE_SEQUENCE_XML(Type) END_NODE_XML NODE_XML("Contexts") SUB_NODE_SEQUENCE_XML(DeclContext) END_NODE_XML NODE_XML("Files") SUB_NODE_SEQUENCE_XML("File") END_NODE_XML NODE_XML("File") ID_ATTRIBUTE_XML ATTRIBUTE_SPECIAL_XML(ignore, "name") // special retrieving needed, denotes the source file name END_NODE_XML //===----------------------------------------------------------------------===// #undef NODE_XML #undef ID_ATTRIBUTE_XML #undef ATTRIBUTE_SPECIAL_XML #undef END_NODE_XML #undef SUB_NODE_XML #undef SUB_NODE_SEQUENCE_XML