Index: clang-tools-extra/trunk/clang-doc/gen_tests.py =================================================================== --- clang-tools-extra/trunk/clang-doc/gen_tests.py +++ clang-tools-extra/trunk/clang-doc/gen_tests.py @@ -1,227 +0,0 @@ -#!/usr/bin/env python3 -# -#===- gen_tests.py - clang-doc test generator ----------------*- python -*--===# -# -# The LLVM Compiler Infrastructure -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -#===------------------------------------------------------------------------===# -""" -clang-doc test generator -========================== - -Generates tests for clang-doc given a certain set of flags, a prefix for the -test file, and a given clang-doc binary. Please check emitted tests for -accuracy before using. - -To generate all current tests: -- Generate mapper tests: - python gen_tests.py -flag='--dump-mapper' -flag='--doxygen' -flag='--extra-arg=-fmodules-ts' -prefix mapper -use-check-next - -- Generate reducer tests: - python gen_tests.py -flag='--dump-intermediate' -flag='--doxygen' -flag='--extra-arg=-fmodules-ts' -prefix bc -use-check-next - -- Generate yaml tests: - python gen_tests.py -flag='--format=yaml' -flag='--doxygen' -flag='--extra-arg=-fmodules-ts' -prefix yaml -use-check-next - -- Generate public decl tests: - python gen_tests.py -flag='--format=yaml' -flag='--doxygen' -flag='--public' -flag='--extra-arg=-fmodules-ts' -prefix public -use-check-next - -- Generate Markdown tests: - python gen_tests.py -flag='--format=md' -flag='--doxygen' -flag='--public' -flag='--extra-arg=-fmodules-ts' -prefix md - -This script was written on/for Linux, and has not been tested on any other -platform and so it may not work. - -""" - -import argparse -import glob -import os -import re -import shutil -import subprocess - -RUN_CLANG_DOC = """ -// RUN: clang-doc {0} -p %t %t/test.cpp -output=%t/docs -""" -RUN = """ -// RUN: {0} %t/{1} | FileCheck %s --check-prefix CHECK-{2} -""" - -CHECK = '// CHECK-{0}: ' - -CHECK_NEXT = '// CHECK-{0}-NEXT: ' - -BITCODE_USR = '' -BITCODE_USR_REGEX = r'' -YAML_USR = "USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'" -YAML_USR_REGEX = r"USR: '[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]'" - -def clear_test_prefix_files(prefix, tests_path): - if os.path.isdir(tests_path): - for root, dirs, files in os.walk(tests_path): - for filename in files: - if filename.startswith(prefix): - os.remove(os.path.join(root, filename)) - - -def copy_to_test_file(test_case_path, test_cases_path): - # Copy file to 'test.cpp' to preserve file-dependent USRs - test_file = os.path.join(test_cases_path, 'test.cpp') - shutil.copyfile(test_case_path, test_file) - return test_file - - -def run_clang_doc(args, out_dir, test_file): - # Run clang-doc. - current_cmd = [args.clangdoc] - current_cmd.extend(args.flags) - current_cmd.append('--output=' + out_dir) - current_cmd.append(test_file) - print('Running ' + ' '.join(current_cmd)) - return_code = subprocess.call(current_cmd) - if return_code: - return 1 - return 0 - - -def get_test_case_code(test_case_path, flags): - # Get the test case code - code = '' - with open(test_case_path, 'r') as code_file: - code = code_file.read() - - code += RUN_CLANG_DOC.format(flags) - return code - - -def get_output(root, out_file, case_out_path, flags, checkname, bcanalyzer, - check_next=True): - output = '' - run_cmd = '' - if '--dump-mapper' in flags or '--dump-intermediate' in flags: - # Run llvm-bcanalyzer - output = subprocess.check_output( - [bcanalyzer, '--dump', - os.path.join(root, out_file)]) - output = output[:output.find('Summary of ')].rstrip() - run_cmd = RUN.format('llvm-bcanalyzer --dump', - os.path.join('docs', 'bc', out_file), checkname) - else: - # Run cat - output = subprocess.check_output(['cat', os.path.join(root, out_file)]) - run_cmd = RUN.format( - 'cat', - os.path.join('docs', os.path.relpath(root, case_out_path), - out_file), checkname) - - # Format output. - output = output.replace('blob data = \'test\'', 'blob data = \'{{.*}}\'') - output = re.sub(YAML_USR_REGEX, YAML_USR, output) - output = re.sub(BITCODE_USR_REGEX, BITCODE_USR, output) - output = CHECK.format(checkname) + output.rstrip() - - if check_next: - check_comment = CHECK_NEXT.format(checkname) - else: - check_comment = CHECK.format(checkname) - - output = output.replace('\n', '\n' + check_comment) - output = run_cmd + output.replace('%s\n' % check_comment, "") - - return output + '\n' - - -def main(): - parser = argparse.ArgumentParser(description='Generate clang-doc tests.') - parser.add_argument( - '-flag', - action='append', - default=[], - dest='flags', - help='Flags to pass to clang-doc.') - parser.add_argument( - '-prefix', - type=str, - default='', - dest='prefix', - help='Prefix for this test group.') - parser.add_argument( - '-clang-doc-binary', - dest='clangdoc', - metavar="PATH", - default='clang-doc', - help='path to clang-doc binary') - parser.add_argument( - '-llvm-bcanalyzer-binary', - dest='bcanalyzer', - metavar="PATH", - default='llvm-bcanalyzer', - help='path to llvm-bcanalyzer binary') - parser.add_argument( - '-use-check-next', - dest='check_next', - default=False, - action='store_true', - help='Whether or not to use CHECK-NEXT in the resulting tests.') - args = parser.parse_args() - - flags = ' '.join(args.flags) - - clang_doc_path = os.path.dirname(__file__) - tests_path = os.path.join(clang_doc_path, '..', 'test', 'clang-doc') - test_cases_path = os.path.join(tests_path, 'test_cases') - - clear_test_prefix_files(args.prefix, tests_path) - - for test_case_path in glob.glob(os.path.join(test_cases_path, '*')): - if test_case_path.endswith( - 'compile_flags.txt') or test_case_path.endswith( - 'compile_commands.json'): - continue - - # Name of this test case - case_name = os.path.basename(test_case_path).split('.')[0] - - test_file = copy_to_test_file(test_case_path, test_cases_path) - out_dir = os.path.join(test_cases_path, case_name) - - if run_clang_doc(args, out_dir, test_file): - return 1 - - # Retrieve output and format as FileCheck tests - all_output = '' - num_outputs = 0 - for root, dirs, files in os.walk(out_dir): - for out_file in files: - # Make the file check the first 3 letters (there's a very small chance - # that this will collide, but the fix is to simply change the decl name) - usr = os.path.basename(out_file).split('.') - # If the usr is less than 2, this isn't one of the test files. - if len(usr) < 2: - continue - all_output += get_output(root, out_file, out_dir, args.flags, - num_outputs, args.bcanalyzer, - args.check_next) - num_outputs += 1 - - # Add test case code to test - all_output = get_test_case_code(test_case_path, - flags) + '\n' + all_output - - # Write to test case file in /test. - test_out_path = os.path.join( - tests_path, args.prefix + '-' + os.path.basename(test_case_path)) - with open(test_out_path, 'w+') as o: - o.write(all_output) - - # Clean up - shutil.rmtree(out_dir) - os.remove(test_file) - - -if __name__ == '__main__': - main() Index: clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp =================================================================== --- clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp +++ clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp @@ -56,19 +56,14 @@ llvm::cl::init("docs"), llvm::cl::cat(ClangDocCategory)); static llvm::cl::opt - DumpMapperResult("dump-mapper", - llvm::cl::desc("Dump mapper results to bitcode file."), - llvm::cl::init(false), llvm::cl::cat(ClangDocCategory)); - -static llvm::cl::opt DumpIntermediateResult( - "dump-intermediate", - llvm::cl::desc("Dump intermediate results to bitcode file."), - llvm::cl::init(false), llvm::cl::cat(ClangDocCategory)); - -static llvm::cl::opt PublicOnly("public", llvm::cl::desc("Document only public declarations."), llvm::cl::init(false), llvm::cl::cat(ClangDocCategory)); +static llvm::cl::opt DoxygenOnly( + "doxygen", + llvm::cl::desc("Use only doxygen-style comments to generate docs."), + llvm::cl::init(false), llvm::cl::cat(ClangDocCategory)); + enum OutputFormatTy { md, yaml, @@ -83,10 +78,15 @@ llvm::cl::init(OutputFormatTy::yaml), llvm::cl::cat(ClangDocCategory)); -static llvm::cl::opt DoxygenOnly( - "doxygen", - llvm::cl::desc("Use only doxygen-style comments to generate docs."), - llvm::cl::init(false), llvm::cl::cat(ClangDocCategory)); +std::string getFormatString() { + switch (FormatEnum) { + case OutputFormatTy::yaml: + return "yaml"; + case OutputFormatTy::md: + return "md"; + } + llvm_unreachable("Unknown OutputFormatTy"); +} bool CreateDirectory(const Twine &DirName, bool ClearDirectory = false) { std::error_code OK; @@ -107,26 +107,6 @@ return false; } -bool DumpResultToFile(const Twine &DirName, const Twine &FileName, - StringRef Buffer, bool ClearDirectory = false) { - std::error_code OK; - llvm::SmallString<128> IRRootPath; - llvm::sys::path::native(OutDirectory, IRRootPath); - llvm::sys::path::append(IRRootPath, DirName); - if (CreateDirectory(IRRootPath, ClearDirectory)) - return true; - llvm::sys::path::append(IRRootPath, FileName); - std::error_code OutErrorInfo; - llvm::raw_fd_ostream OS(IRRootPath, OutErrorInfo, llvm::sys::fs::F_None); - if (OutErrorInfo != OK) { - llvm::errs() << "Error opening documentation file.\n"; - return true; - } - OS << Buffer; - OS.close(); - return false; -} - // A function to extract the appropriate path name for a given info's // documentation. The path returned is a composite of the parent namespaces as // directories plus the decl name as the filename. @@ -161,16 +141,6 @@ return Path; } -std::string getFormatString() { - switch (FormatEnum) { - case OutputFormatTy::yaml: - return "yaml"; - case OutputFormatTy::md: - return "md"; - } - llvm_unreachable("Unknown OutputFormatTy"); -} - // Iterate through tool results and build string map of info vectors from the // encoded bitstreams. bool bitcodeResultsToInfos( @@ -234,17 +204,6 @@ return 1; } - if (DumpMapperResult) { - bool Err = false; - Exec->get()->getToolResults()->forEachResult( - [&](StringRef Key, StringRef Value) { - Err = DumpResultToFile("bc", Key + ".bc", Value); - }); - if (Err) - llvm::errs() << "Error dumping map results.\n"; - return Err; - } - // Collect values into output by key. // In ToolResults, the Key is the hashed USR and the value is the // bitcode-encoded representation of the Info object. @@ -262,15 +221,6 @@ continue; } - if (DumpIntermediateResult) { - SmallString<4096> Buffer; - llvm::BitstreamWriter Stream(Buffer); - doc::ClangDocBitcodeWriter Writer(Stream); - Writer.dispatchInfoForWrite(Reduced.get().get()); - if (DumpResultToFile("bc", Group.getKey() + ".bc", Buffer)) - llvm::errs() << "Error dumping to bitcode.\n"; - continue; - } doc::Info *I = Reduced.get().get(); auto InfoPath = Index: clang-tools-extra/trunk/test/clang-doc/bc-comment.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/bc-comment.cpp +++ clang-tools-extra/trunk/test/clang-doc/bc-comment.cpp @@ -1,204 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -/// \brief Brief description. -/// -/// Extended description that -/// continues onto the next line. -/// -///
    -///
  • Testing. -///
-/// -/// \verbatim -/// The description continues. -/// \endverbatim -/// -- -/// \param [out] I is a parameter. -/// \param J is a parameter. -/// \return void -void F(int I, int J); - -/// Bonus comment on definition -void F(int I, int J) {} - -// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'F' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'FullComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'BlockCommandComment' -// CHECK-0-NEXT: blob data = 'brief' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: blob data = ' Brief description.' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: blob data = ' Extended description that' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: blob data = ' continues onto the next line.' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'HTMLStartTagComment' -// CHECK-0-NEXT: blob data = 'ul' -// CHECK-0-NEXT: blob data = 'class' -// CHECK-0-NEXT: blob data = 'test' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'HTMLStartTagComment' -// CHECK-0-NEXT: blob data = 'li' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: blob data = ' Testing.' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'HTMLEndTagComment' -// CHECK-0-NEXT: blob data = 'ul' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'VerbatimBlockComment' -// CHECK-0-NEXT: blob data = 'verbatim' -// CHECK-0-NEXT: blob data = 'endverbatim' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'VerbatimBlockLineComment' -// CHECK-0-NEXT: blob data = ' The description continues.' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: blob data = ' --' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParamCommandComment' -// CHECK-0-NEXT: blob data = '[out]' -// CHECK-0-NEXT: blob data = 'I' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: blob data = ' is a parameter.' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParamCommandComment' -// CHECK-0-NEXT: blob data = '[in]' -// CHECK-0-NEXT: blob data = 'J' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: blob data = ' is a parameter.' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'BlockCommandComment' -// CHECK-0-NEXT: blob data = 'return' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: blob data = ' void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'FullComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: blob data = ' Bonus comment on definition' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'int' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'I' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'int' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'J' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: Index: clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp +++ clang-tools-extra/trunk/test/clang-doc/bc-linkage.cpp @@ -1,700 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace - -// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'named' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'namedFunction' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'named' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'namedStaticFunction' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'named' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'namedInlineFunction' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'named' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'Class' -// CHECK-1-NEXT: blob data = '{{.*}}' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'int' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'publicField' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'int' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'protectedField' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'int' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'privateField' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'publicMethod' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'Class' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = '{{.*}}' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'Class' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'void' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'protectedMethod' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'Class' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = '{{.*}}' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'Class' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'void' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'privateMethod' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'Class' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = '{{.*}}' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'Class' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'void' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'function' -// CHECK-2-NEXT: blob data = '{{.*}}' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'void' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'x' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'inlinedFunction' -// CHECK-2-NEXT: blob data = '{{.*}}' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'x' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'functionWithInnerClass' -// CHECK-2-NEXT: blob data = '{{.*}}' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'x' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'inlinedFunctionWithInnerClass' -// CHECK-2-NEXT: blob data = '{{.*}}' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'x' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'staticFunction' -// CHECK-2-NEXT: blob data = '{{.*}}' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'void' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'x' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'staticFunctionWithInnerClass' -// CHECK-2-NEXT: blob data = '{{.*}}' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'x' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'NamedClass' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'named' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = '{{.*}}' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'int' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'namedPublicField' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'int' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'namedProtectedField' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'int' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'namedPrivateField' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'namedPublicMethod' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'NamedClass' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'named' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = '{{.*}}' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'NamedClass' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'void' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'namedProtectedMethod' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'NamedClass' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'named' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = '{{.*}}' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'NamedClass' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'void' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'namedPrivateMethod' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'NamedClass' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'named' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = '{{.*}}' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'NamedClass' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'void' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'AnonClass' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = '{{.*}}' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'int' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'anonPublicField' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'int' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'anonProtectedField' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'int' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'anonPrivateField' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'anonPublicMethod' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'AnonClass' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = '{{.*}}' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'AnonClass' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'void' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'anonProtectedMethod' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'AnonClass' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = '{{.*}}' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'AnonClass' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'void' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'anonPrivateMethod' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'AnonClass' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = '{{.*}}' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'AnonClass' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'void' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'anonFunction' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = '{{.*}}' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'void' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'anonStaticFunction' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = '{{.*}}' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'void' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'anonInlineFunction' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = '{{.*}}' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'void' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: Index: clang-tools-extra/trunk/test/clang-doc/bc-module.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/bc-module.cpp +++ clang-tools-extra/trunk/test/clang-doc/bc-module.cpp @@ -1,87 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -export module M; - -int moduleFunction(int x); // ModuleLinkage - -static int staticModuleFunction(int x); // ModuleInternalLinkage - -export double exportedModuleFunction(double y, int z); // ExternalLinkage - -// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'moduleFunction' -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'int' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'int' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'x' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'staticModuleFunction' -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'int' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'int' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'x' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'exportedModuleFunction' -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'double' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'double' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'y' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'int' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'z' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: Index: clang-tools-extra/trunk/test/clang-doc/bc-namespace.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/bc-namespace.cpp +++ clang-tools-extra/trunk/test/clang-doc/bc-namespace.cpp @@ -1,121 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -namespace A { - -void f(); - -} // namespace A - -namespace A { - -void f(){}; - -namespace B { - -enum E { X }; - -E func(int i) { return X; } - -} // namespace B -} // namespace A - -// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'A' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'f' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'A' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'B' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'A' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'func' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'B' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'A' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = '{{.*}}' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'enum A::B::E' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'int' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'i' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'E' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'B' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'A' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = '{{.*}}' -// CHECK-1-NEXT: blob data = 'X' -// CHECK-1-NEXT: -// CHECK-1-NEXT: Index: clang-tools-extra/trunk/test/clang-doc/bc-record.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/bc-record.cpp +++ clang-tools-extra/trunk/test/clang-doc/bc-record.cpp @@ -1,289 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// This test requires Linux due to system-dependent USR for the inner class. -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void H() { - class I {}; -} - -union A { int X; int Y; }; - -enum B { X, Y }; - -enum class Bc { A, B }; - -struct C { int i; }; - -class D {}; - -class E { -public: - E() {} - ~E() {} - -protected: - void ProtectedMethod(); -}; - -void E::ProtectedMethod() {} - -class F : virtual private D, public E {}; - -class X { - class Y {}; -}; - -class G; - -// RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/289584A8E0FF4178A794622A547AA622503967A1.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'E' -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'E' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'E' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'E' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '~E' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'E' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'E' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ProtectedMethod' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'E' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'E' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'X' -// CHECK-1-NEXT: blob data = '{{.*}}' -// CHECK-1-NEXT: -// CHECK-1-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'C' -// CHECK-2-NEXT: blob data = '{{.*}}' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'i' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/4202E8BF0ECB12AE354C8499C52725B0EE30AED5.bc | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'G' -// CHECK-3-NEXT: blob data = '{{.*}}' -// CHECK-3-NEXT: -// CHECK-3-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'Y' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'X' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = '{{.*}}' -// CHECK-4-NEXT: -// CHECK-4-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'H' -// CHECK-5-NEXT: blob data = '{{.*}}' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'void' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'B' -// CHECK-5-NEXT: blob data = '{{.*}}' -// CHECK-5-NEXT: blob data = 'X' -// CHECK-5-NEXT: blob data = 'Y' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'Bc' -// CHECK-5-NEXT: blob data = '{{.*}}' -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'A' -// CHECK-5-NEXT: blob data = 'B' -// CHECK-5-NEXT: -// CHECK-5-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6 -// CHECK-6: -// CHECK-6-NEXT: -// CHECK-6-NEXT: -// CHECK-6-NEXT: -// CHECK-6-NEXT: -// CHECK-6-NEXT: -// CHECK-6-NEXT: blob data = 'D' -// CHECK-6-NEXT: blob data = '{{.*}}' -// CHECK-6-NEXT: -// CHECK-6-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7 -// CHECK-7: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: blob data = 'F' -// CHECK-7-NEXT: blob data = '{{.*}}' -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: blob data = 'E' -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: blob data = 'D' -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8 -// CHECK-8: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: blob data = 'A' -// CHECK-8-NEXT: blob data = '{{.*}}' -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: blob data = 'int' -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: blob data = 'X' -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: blob data = 'int' -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: blob data = 'Y' -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: Index: clang-tools-extra/trunk/test/clang-doc/mapper-comment.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/mapper-comment.cpp +++ clang-tools-extra/trunk/test/clang-doc/mapper-comment.cpp @@ -1,74 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -/// \brief Brief description. -/// -/// Extended description that -/// continues onto the next line. -/// -///
    -///
  • Testing. -///
-/// -/// \verbatim -/// The description continues. -/// \endverbatim -/// -- -/// \param [out] I is a parameter. -/// \param J is a parameter. -/// \return void -void F(int I, int J); - -/// Bonus comment on definition -void F(int I, int J) {} - -// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'F' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'FullComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ParagraphComment' -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'TextComment' -// CHECK-0-NEXT: blob data = ' Bonus comment on definition' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'int' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'I' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'int' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'J' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: Index: clang-tools-extra/trunk/test/clang-doc/mapper-linkage.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/mapper-linkage.cpp +++ clang-tools-extra/trunk/test/clang-doc/mapper-linkage.cpp @@ -1,285 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace - -// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'namedInlineFunction' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'named' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'privateMethod' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'Class' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = '{{.*}}' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'Class' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'void' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'staticFunctionWithInnerClass' -// CHECK-2-NEXT: blob data = '{{.*}}' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'x' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'namedPrivateMethod' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'NamedClass' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'named' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = '{{.*}}' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'NamedClass' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'void' -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'anonPrivateMethod' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'AnonClass' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = '{{.*}}' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'AnonClass' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'void' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'anonInlineFunction' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = '{{.*}}' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'void' -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: Index: clang-tools-extra/trunk/test/clang-doc/mapper-module.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/mapper-module.cpp +++ clang-tools-extra/trunk/test/clang-doc/mapper-module.cpp @@ -1,51 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -export module M; - -int moduleFunction(int x); // ModuleLinkage - -static int staticModuleFunction(int x); // ModuleInternalLinkage - -export double exportedModuleFunction(double y, int z); // ExternalLinkage - -// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'exportedModuleFunction' -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'double' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'double' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'y' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'int' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'z' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: Index: clang-tools-extra/trunk/test/clang-doc/mapper-namespace.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/mapper-namespace.cpp +++ clang-tools-extra/trunk/test/clang-doc/mapper-namespace.cpp @@ -1,94 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -namespace A { - -void f(); - -} // namespace A - -namespace A { - -void f(){}; - -namespace B { - -enum E { X }; - -E func(int i) { return X; } - -} // namespace B -} // namespace A - -// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/8D042EFFC98B373450BC6B5B90A330C25A150E9C.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'f' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'A' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/E21AF79E2A9D02554BA090D10DF39FE273F5CDB5.bc | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'func' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'B' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'A' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = '{{.*}}' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'enum A::B::E' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'int' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'i' -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: Index: clang-tools-extra/trunk/test/clang-doc/mapper-record.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/mapper-record.cpp +++ clang-tools-extra/trunk/test/clang-doc/mapper-record.cpp @@ -1,216 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// This test requires Linux due to system-dependent USR for the inner class. -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void H() { - class I {}; -} - -union A { int X; int Y; }; - -enum B { X, Y }; - -enum class Bc { A, B }; - -struct C { int i; }; - -class D {}; - -class E { -public: - E() {} - ~E() {} - -protected: - void ProtectedMethod(); -}; - -void E::ProtectedMethod() {} - -class F : virtual private D, public E {}; - -class X { - class Y {}; -}; - -class G; - -// RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/289584A8E0FF4178A794622A547AA622503967A1.bc | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'ProtectedMethod' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'E' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = '{{.*}}' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'E' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: blob data = 'void' -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: -// CHECK-0-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: -// CHECK-1-NEXT: blob data = 'X' -// CHECK-1-NEXT: blob data = '{{.*}}' -// CHECK-1-NEXT: -// CHECK-1-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'C' -// CHECK-2-NEXT: blob data = '{{.*}}' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'int' -// CHECK-2-NEXT: -// CHECK-2-NEXT: -// CHECK-2-NEXT: blob data = 'i' -// CHECK-2-NEXT: -// CHECK-2-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/4202E8BF0ECB12AE354C8499C52725B0EE30AED5.bc | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: -// CHECK-3-NEXT: blob data = 'G' -// CHECK-3-NEXT: blob data = '{{.*}}' -// CHECK-3-NEXT: -// CHECK-3-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'Y' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = 'X' -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: -// CHECK-4-NEXT: blob data = '{{.*}}' -// CHECK-4-NEXT: -// CHECK-4-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'Bc' -// CHECK-5-NEXT: blob data = '{{.*}}' -// CHECK-5-NEXT: -// CHECK-5-NEXT: blob data = 'A' -// CHECK-5-NEXT: blob data = 'B' -// CHECK-5-NEXT: -// CHECK-5-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6 -// CHECK-6: -// CHECK-6-NEXT: -// CHECK-6-NEXT: -// CHECK-6-NEXT: -// CHECK-6-NEXT: -// CHECK-6-NEXT: -// CHECK-6-NEXT: blob data = 'D' -// CHECK-6-NEXT: blob data = '{{.*}}' -// CHECK-6-NEXT: -// CHECK-6-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7 -// CHECK-7: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: blob data = 'F' -// CHECK-7-NEXT: blob data = '{{.*}}' -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: blob data = 'E' -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: blob data = 'D' -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: -// CHECK-7-NEXT: - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8 -// CHECK-8: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: blob data = 'A' -// CHECK-8-NEXT: blob data = '{{.*}}' -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: blob data = 'int' -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: blob data = 'X' -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: blob data = 'int' -// CHECK-8-NEXT: -// CHECK-8-NEXT: -// CHECK-8-NEXT: blob data = 'Y' -// CHECK-8-NEXT: -// CHECK-8-NEXT: Index: clang-tools-extra/trunk/test/clang-doc/md-comment.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/md-comment.cpp +++ clang-tools-extra/trunk/test/clang-doc/md-comment.cpp @@ -1,49 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -/// \brief Brief description. -/// -/// Extended description that -/// continues onto the next line. -/// -///
    -///
  • Testing. -///
-/// -/// \verbatim -/// The description continues. -/// \endverbatim -/// -- -/// \param [out] I is a parameter. -/// \param J is a parameter. -/// \return void -void F(int I, int J); - -/// Bonus comment on definition -void F(int I, int J) {} - -// RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./GlobalNamespace.md | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: # Global Namespace -// CHECK-0: ## Functions -// CHECK-0: ### F -// CHECK-0: *void F(int I, int J)* -// CHECK-0: *Defined at line 28 of {{.*}}* -// CHECK-0: **brief** Brief description. -// CHECK-0: Extended description that continues onto the next line. -// CHECK-0:
    -// CHECK-0:
  • -// CHECK-0: Testing.
-// CHECK-0: The description continues. -// CHECK-0: -- -// CHECK-0: **I** [out] -// CHECK-0: **J** -// CHECK-0: **return** void -// CHECK-0: Bonus comment on definition Index: clang-tools-extra/trunk/test/clang-doc/md-linkage.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/md-linkage.cpp +++ clang-tools-extra/trunk/test/clang-doc/md-linkage.cpp @@ -1,144 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace - -// RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./Class.md | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: # class Class -// CHECK-0: *Defined at line 32 of {{.*}}* -// CHECK-0: ## Members -// CHECK-0: int publicField -// CHECK-0: protected int protectedField -// CHECK-0: ## Functions -// CHECK-0: ### publicMethod -// CHECK-0: *void publicMethod()* -// CHECK-0: ### protectedMethod -// CHECK-0: *void protectedMethod()* - -// RUN: cat %t/docs/./named.md | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: # namespace named -// CHECK-1: ## Functions -// CHECK-1: ### namedFunction -// CHECK-1: *void namedFunction()* -// CHECK-1: ### namedInlineFunction -// CHECK-1: *void namedInlineFunction()* - -// RUN: cat %t/docs/./GlobalNamespace.md | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: # Global Namespace -// CHECK-2: ## Functions -// CHECK-2: ### function -// CHECK-2: *void function(int x)* -// CHECK-2: ### inlinedFunction -// CHECK-2: *int inlinedFunction(int x)* -// CHECK-2: ### functionWithInnerClass -// CHECK-2: *int functionWithInnerClass(int x)* -// CHECK-2: *Defined at line 14 of {{.*}}* -// CHECK-2: ### inlinedFunctionWithInnerClass -// CHECK-2: *int inlinedFunctionWithInnerClass(int x)* -// CHECK-2: *Defined at line 23 of {{.*}}* - -// RUN: cat %t/docs/named/NamedClass.md | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: # class NamedClass -// CHECK-3: *Defined at line 47 of {{.*}}* -// CHECK-3: ## Members -// CHECK-3: int namedPublicField -// CHECK-3: protected int namedProtectedField -// CHECK-3: ## Functions -// CHECK-3: ### namedPublicMethod -// CHECK-3: *void namedPublicMethod()* -// CHECK-3: ### namedProtectedMethod -// CHECK-3: *void namedProtectedMethod()* Index: clang-tools-extra/trunk/test/clang-doc/md-module.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/md-module.cpp +++ clang-tools-extra/trunk/test/clang-doc/md-module.cpp @@ -1,26 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -export module M; - -int moduleFunction(int x); // ModuleLinkage - -static int staticModuleFunction(int x); // ModuleInternalLinkage - -export double exportedModuleFunction(double y, int z); // ExternalLinkage - -// RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./GlobalNamespace.md | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: # Global Namespace -// CHECK-0: ## Functions -// CHECK-0: ### moduleFunction -// CHECK-0: *int moduleFunction(int x)* -// CHECK-0: ### exportedModuleFunction -// CHECK-0: *double exportedModuleFunction(double y, int z)* Index: clang-tools-extra/trunk/test/clang-doc/md-namespace.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/md-namespace.cpp +++ clang-tools-extra/trunk/test/clang-doc/md-namespace.cpp @@ -1,48 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -namespace A { - -void f(); - -} // namespace A - -namespace A { - -void f(){}; - -namespace B { - -enum E { X }; - -E func(int i) { return X; } - -} // namespace B -} // namespace A - -// RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./A.md | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: # namespace A -// CHECK-0: ## Functions -// CHECK-0: ### f -// CHECK-0: *void f()* -// CHECK-0: *Defined at line 17 of {{.*}}* - -// RUN: cat %t/docs/A/B.md | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: # namespace B -// CHECK-1: ## Functions -// CHECK-1: ### func -// CHECK-1: *enum A::B::E func(int i)* -// CHECK-1: *Defined at line 23 of {{.*}}* -// CHECK-1: ## Enums -// CHECK-1: | enum E | -// CHECK-1: -- -// CHECK-1: | X | -// CHECK-1: *Defined at line 21 of {{.*}}* Index: clang-tools-extra/trunk/test/clang-doc/md-record.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/md-record.cpp +++ clang-tools-extra/trunk/test/clang-doc/md-record.cpp @@ -1,106 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// This test requires Linux due to system-dependent USR for the inner class. -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void H() { - class I {}; -} - -union A { int X; int Y; }; - -enum B { X, Y }; - -enum class Bc { A, B }; - -struct C { int i; }; - -class D {}; - -class E { -public: - E() {} - ~E() {} - -protected: - void ProtectedMethod(); -}; - -void E::ProtectedMethod() {} - -class F : virtual private D, public E {}; - -class X { - class Y {}; -}; - -class G; - -// RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./F.md | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: # class F -// CHECK-0: *Defined at line 36 of {{.*}}* -// CHECK-0: Inherits from E, D - -// RUN: cat %t/docs/./D.md | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: # class D -// CHECK-1: *Defined at line 23 of {{.*}}* - -// RUN: cat %t/docs/./GlobalNamespace.md | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: # Global Namespace -// CHECK-2: ## Functions -// CHECK-2: ### H -// CHECK-2: *void H()* -// CHECK-2: *Defined at line 11 of {{.*}}* -// CHECK-2: ## Enums -// CHECK-2: | enum B | -// CHECK-2: -- -// CHECK-2: | X | -// CHECK-2: | Y | -// CHECK-2: *Defined at line 17 of {{.*}}* -// CHECK-2: | enum class Bc | -// CHECK-2: -- -// CHECK-2: | A | -// CHECK-2: | B | -// CHECK-2: *Defined at line 19 of {{.*}}* - -// RUN: cat %t/docs/./E.md | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: # class E -// CHECK-3: *Defined at line 25 of {{.*}}* -// CHECK-3: ## Functions -// CHECK-3: ### E -// CHECK-3: *void E()* -// CHECK-3: *Defined at line 27 of {{.*}}* -// CHECK-3: ### ~E -// CHECK-3: *void ~E()* -// CHECK-3: *Defined at line 28 of {{.*}}* -// CHECK-3: ### ProtectedMethod -// CHECK-3: *void ProtectedMethod()* -// CHECK-3: *Defined at line 34 of {{.*}}* - -// RUN: cat %t/docs/./C.md | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: # struct C -// CHECK-4: *Defined at line 21 of {{.*}}* -// CHECK-4: ## Members -// CHECK-4: int i - -// RUN: cat %t/docs/./X.md | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: # class X -// CHECK-5: *Defined at line 38 of {{.*}}* - -// RUN: cat %t/docs/./A.md | FileCheck %s --check-prefix CHECK-6 -// CHECK-6: # union A -// CHECK-6: *Defined at line 15 of {{.*}}* -// CHECK-6: ## Members -// CHECK-6: int X -// CHECK-6: int Y - -// RUN: cat %t/docs/./G.md | FileCheck %s --check-prefix CHECK-7 -// CHECK-7: # class G Index: clang-tools-extra/trunk/test/clang-doc/public-comment.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/public-comment.cpp +++ clang-tools-extra/trunk/test/clang-doc/public-comment.cpp @@ -1,138 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -/// \brief Brief description. -/// -/// Extended description that -/// continues onto the next line. -/// -///
    -///
  • Testing. -///
-/// -/// \verbatim -/// The description continues. -/// \endverbatim -/// -- -/// \param [out] I is a parameter. -/// \param J is a parameter. -/// \return void -void F(int I, int J); - -/// Bonus comment on definition -void F(int I, int J) {} - -// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'F' -// CHECK-0-NEXT: Description: -// CHECK-0-NEXT: - Kind: 'FullComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'BlockCommandComment' -// CHECK-0-NEXT: Name: 'brief' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Brief description.' -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Extended description that' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' continues onto the next line.' -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLStartTagComment' -// CHECK-0-NEXT: Name: 'ul' -// CHECK-0-NEXT: AttrKeys: -// CHECK-0-NEXT: - 'class' -// CHECK-0-NEXT: AttrValues: -// CHECK-0-NEXT: - 'test' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLStartTagComment' -// CHECK-0-NEXT: Name: 'li' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Testing.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLEndTagComment' -// CHECK-0-NEXT: Name: 'ul' -// CHECK-0-NEXT: SelfClosing: true -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'VerbatimBlockComment' -// CHECK-0-NEXT: Name: 'verbatim' -// CHECK-0-NEXT: CloseName: 'endverbatim' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'VerbatimBlockLineComment' -// CHECK-0-NEXT: Text: ' The description continues.' -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' --' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'ParamCommandComment' -// CHECK-0-NEXT: Direction: '[out]' -// CHECK-0-NEXT: ParamName: 'I' -// CHECK-0-NEXT: Explicit: true -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' is a parameter.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'ParamCommandComment' -// CHECK-0-NEXT: Direction: '[in]' -// CHECK-0-NEXT: ParamName: 'J' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' is a parameter.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'BlockCommandComment' -// CHECK-0-NEXT: Name: 'return' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' void' -// CHECK-0-NEXT: - Kind: 'FullComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Bonus comment on definition' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 28 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 25 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'I' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'J' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: ... Index: clang-tools-extra/trunk/test/clang-doc/public-linkage.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/public-linkage.cpp +++ clang-tools-extra/trunk/test/clang-doc/public-linkage.cpp @@ -1,299 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace - -// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./Class.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 32 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: TagType: Class -// CHECK-0-NEXT: Members: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'publicField' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'protectedField' -// CHECK-0-NEXT: Access: Protected -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'publicMethod' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 34 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: IsMethod: true -// CHECK-0-NEXT: Parent: -// CHECK-0-NEXT: Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'protectedMethod' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 38 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: IsMethod: true -// CHECK-0-NEXT: Parent: -// CHECK-0-NEXT: Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: ... - -// RUN: cat %t/docs/./named.yaml | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: ChildFunctions: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'namedFunction' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Location: -// CHECK-1-NEXT: - LineNumber: 61 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'void' -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'namedInlineFunction' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Location: -// CHECK-1-NEXT: - LineNumber: 63 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'void' -// CHECK-1-NEXT: ... - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: --- -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ChildFunctions: -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'function' -// CHECK-2-NEXT: Location: -// CHECK-2-NEXT: - LineNumber: 10 -// CHECK-2-NEXT: Filename: '{{.*}}' -// CHECK-2-NEXT: Params: -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'x' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'void' -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'inlinedFunction' -// CHECK-2-NEXT: Location: -// CHECK-2-NEXT: - LineNumber: 12 -// CHECK-2-NEXT: Filename: '{{.*}}' -// CHECK-2-NEXT: Params: -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'x' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'functionWithInnerClass' -// CHECK-2-NEXT: DefLocation: -// CHECK-2-NEXT: LineNumber: 14 -// CHECK-2-NEXT: Filename: '{{.*}}' -// CHECK-2-NEXT: Params: -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'x' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'inlinedFunctionWithInnerClass' -// CHECK-2-NEXT: DefLocation: -// CHECK-2-NEXT: LineNumber: 23 -// CHECK-2-NEXT: Filename: '{{.*}}' -// CHECK-2-NEXT: Params: -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'x' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: ... - -// RUN: cat %t/docs/named/NamedClass.yaml | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: --- -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'NamedClass' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: Name: 'named' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 47 -// CHECK-3-NEXT: Filename: '{{.*}}' -// CHECK-3-NEXT: TagType: Class -// CHECK-3-NEXT: Members: -// CHECK-3-NEXT: - Type: -// CHECK-3-NEXT: Name: 'int' -// CHECK-3-NEXT: Name: 'namedPublicField' -// CHECK-3-NEXT: - Type: -// CHECK-3-NEXT: Name: 'int' -// CHECK-3-NEXT: Name: 'namedProtectedField' -// CHECK-3-NEXT: Access: Protected -// CHECK-3-NEXT: ChildFunctions: -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'namedPublicMethod' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'NamedClass' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: Name: 'named' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 49 -// CHECK-3-NEXT: Filename: '{{.*}}' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'NamedClass' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'namedProtectedMethod' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'NamedClass' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: Name: 'named' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 53 -// CHECK-3-NEXT: Filename: '{{.*}}' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'NamedClass' -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: ... Index: clang-tools-extra/trunk/test/clang-doc/public-module.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/public-module.cpp +++ clang-tools-extra/trunk/test/clang-doc/public-module.cpp @@ -1,51 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -export module M; - -int moduleFunction(int x); // ModuleLinkage - -static int staticModuleFunction(int x); // ModuleInternalLinkage - -export double exportedModuleFunction(double y, int z); // ExternalLinkage - -// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'moduleFunction' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 11 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'x' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'exportedModuleFunction' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 15 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'double' -// CHECK-0-NEXT: Name: 'y' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'z' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'double' -// CHECK-0-NEXT: ... Index: clang-tools-extra/trunk/test/clang-doc/public-namespace.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/public-namespace.cpp +++ clang-tools-extra/trunk/test/clang-doc/public-namespace.cpp @@ -1,96 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -namespace A { - -void f(); - -} // namespace A - -namespace A { - -void f(){}; - -namespace B { - -enum E { X }; - -E func(int i) { return X; } - -} // namespace B -} // namespace A - -// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'A' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'f' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Namespace -// CHECK-0-NEXT: Name: 'A' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 17 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 11 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: ... - -// RUN: cat %t/docs/A/B.yaml | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: ChildFunctions: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'func' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 23 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: Params: -// CHECK-1-NEXT: - Type: -// CHECK-1-NEXT: Name: 'int' -// CHECK-1-NEXT: Name: 'i' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'enum A::B::E' -// CHECK-1-NEXT: ChildEnums: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'E' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 21 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: Members: -// CHECK-1-NEXT: - 'X' -// CHECK-1-NEXT: ... Index: clang-tools-extra/trunk/test/clang-doc/public-record.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/public-record.cpp +++ clang-tools-extra/trunk/test/clang-doc/public-record.cpp @@ -1,220 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// This test requires Linux due to system-dependent USR for the inner class. -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void H() { - class I {}; -} - -union A { int X; int Y; }; - -enum B { X, Y }; - -enum class Bc { A, B }; - -struct C { int i; }; - -class D {}; - -class E { -public: - E() {} - ~E() {} - -protected: - void ProtectedMethod(); -}; - -void E::ProtectedMethod() {} - -class F : virtual private D, public E {}; - -class X { - class Y {}; -}; - -class G; - -// RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./C.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'C' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 21 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Members: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'i' -// CHECK-0-NEXT: ... - -// RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 15 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: TagType: Union -// CHECK-1-NEXT: Members: -// CHECK-1-NEXT: - Type: -// CHECK-1-NEXT: Name: 'int' -// CHECK-1-NEXT: Name: 'X' -// CHECK-1-NEXT: - Type: -// CHECK-1-NEXT: Name: 'int' -// CHECK-1-NEXT: Name: 'Y' -// CHECK-1-NEXT: ... - -// RUN: cat %t/docs/./F.yaml | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: --- -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'F' -// CHECK-2-NEXT: DefLocation: -// CHECK-2-NEXT: LineNumber: 36 -// CHECK-2-NEXT: Filename: '{{.*}}' -// CHECK-2-NEXT: TagType: Class -// CHECK-2-NEXT: Parents: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'E' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: VirtualParents: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'D' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ... - -// RUN: cat %t/docs/./G.yaml | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: --- -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'G' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 42 -// CHECK-3-NEXT: Filename: '{{.*}}' -// CHECK-3-NEXT: TagType: Class -// CHECK-3-NEXT: ... - -// RUN: cat %t/docs/./E.yaml | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: --- -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 25 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: TagType: Class -// CHECK-4-NEXT: ChildFunctions: -// CHECK-4-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 27 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: ReturnType: -// CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'void' -// CHECK-4-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: '~E' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 28 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: ReturnType: -// CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'void' -// CHECK-4-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'ProtectedMethod' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 34 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: Location: -// CHECK-4-NEXT: - LineNumber: 31 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: ReturnType: -// CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'void' -// CHECK-4-NEXT: ... - -// RUN: cat %t/docs/./D.yaml | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: --- -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Name: 'D' -// CHECK-5-NEXT: DefLocation: -// CHECK-5-NEXT: LineNumber: 23 -// CHECK-5-NEXT: Filename: '{{.*}}' -// CHECK-5-NEXT: TagType: Class -// CHECK-5-NEXT: ... - -// RUN: cat %t/docs/./X.yaml | FileCheck %s --check-prefix CHECK-6 -// CHECK-6: --- -// CHECK-6-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: Name: 'X' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 38 -// CHECK-6-NEXT: Filename: '{{.*}}' -// CHECK-6-NEXT: TagType: Class -// CHECK-6-NEXT: ... - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-7 -// CHECK-7: --- -// CHECK-7-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: ChildFunctions: -// CHECK-7-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: Name: 'H' -// CHECK-7-NEXT: DefLocation: -// CHECK-7-NEXT: LineNumber: 11 -// CHECK-7-NEXT: Filename: '{{.*}}' -// CHECK-7-NEXT: ReturnType: -// CHECK-7-NEXT: Type: -// CHECK-7-NEXT: Name: 'void' -// CHECK-7-NEXT: ChildEnums: -// CHECK-7-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: Name: 'B' -// CHECK-7-NEXT: DefLocation: -// CHECK-7-NEXT: LineNumber: 17 -// CHECK-7-NEXT: Filename: '{{.*}}' -// CHECK-7-NEXT: Members: -// CHECK-7-NEXT: - 'X' -// CHECK-7-NEXT: - 'Y' -// CHECK-7-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: Name: 'Bc' -// CHECK-7-NEXT: DefLocation: -// CHECK-7-NEXT: LineNumber: 19 -// CHECK-7-NEXT: Filename: '{{.*}}' -// CHECK-7-NEXT: Scoped: true -// CHECK-7-NEXT: Members: -// CHECK-7-NEXT: - 'A' -// CHECK-7-NEXT: - 'B' -// CHECK-7-NEXT: ... Index: clang-tools-extra/trunk/test/clang-doc/single-file-public.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/single-file-public.cpp +++ clang-tools-extra/trunk/test/clang-doc/single-file-public.cpp @@ -0,0 +1,49 @@ +// RUN: rm -rf %t +// RUN: mkdir %t +// RUN: echo "" > %t/compile_flags.txt +// RUN: cp "%s" "%t/test.cpp" +// RUN: clang-doc --doxygen --public -p %t %t/test.cpp -output=%t/docs +// RUN: cat %t/docs/Record.yaml | FileCheck %s --check-prefix=CHECK +// RUN: rm -rf %t + +class Record { +private: + void function_private(); + +public: + void function_public(); +}; + +void Record::function_private() {} + +void Record::function_public() {} + +// CHECK: --- +// CHECK-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-NEXT: Name: 'Record' +// CHECK-NEXT: DefLocation: +// CHECK-NEXT: LineNumber: [[@LINE-16]] +// CHECK-NEXT: Filename: '{{.*}}' +// CHECK-NEXT: TagType: Class +// CHECK-NEXT: ChildFunctions: +// CHECK-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-NEXT: Name: 'function_public' +// CHECK-NEXT: Namespace: +// CHECK-NEXT: - Type: Record +// CHECK-NEXT: Name: 'Record' +// CHECK-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-NEXT: DefLocation: +// CHECK-NEXT: LineNumber: [[@LINE-17]] +// CHECK-NEXT: Filename: '{{.*}}' +// CHECK-NEXT: Location: +// CHECK-NEXT: - LineNumber: [[@LINE-25]] +// CHECK-NEXT: Filename: '{{.*}}' +// CHECK-NEXT: IsMethod: true +// CHECK-NEXT: Parent: +// CHECK-NEXT: Type: Record +// CHECK-NEXT: Name: 'Record' +// CHECK-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-NEXT: ReturnType: +// CHECK-NEXT: Type: +// CHECK-NEXT: Name: 'void' +// CHECK-NEXT: ... Index: clang-tools-extra/trunk/test/clang-doc/single-file.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/single-file.cpp +++ clang-tools-extra/trunk/test/clang-doc/single-file.cpp @@ -0,0 +1,31 @@ +// RUN: rm -rf %t +// RUN: mkdir %t +// RUN: echo "" > %t/compile_flags.txt +// RUN: cp "%s" "%t/test.cpp" +// RUN: clang-doc --doxygen -p %t %t/test.cpp -output=%t/docs +// RUN: cat %t/docs/GlobalNamespace.yaml | FileCheck %s --check-prefix=CHECK +// RUN: rm -rf %t + +void function(int x); + +void function(int x) {} + +// CHECK: --- +// CHECK-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-NEXT: ChildFunctions: +// CHECK-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' +// CHECK-NEXT: Name: 'function' +// CHECK-NEXT: DefLocation: +// CHECK-NEXT: LineNumber: [[@LINE-8]] +// CHECK-NEXT: Filename: '{{.*}} +// CHECK-NEXT: Location: +// CHECK-NEXT: - LineNumber: [[@LINE-13]] +// CHECK-NEXT: Filename: '{{.*}}' +// CHECK-NEXT: Params: +// CHECK-NEXT: - Type: +// CHECK-NEXT: Name: 'int' +// CHECK-NEXT: Name: 'x' +// CHECK-NEXT: ReturnType: +// CHECK-NEXT: Type: +// CHECK-NEXT: Name: 'void' +// CHECK-NEXT:... Index: clang-tools-extra/trunk/test/clang-doc/test_cases/comment.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/test_cases/comment.cpp +++ clang-tools-extra/trunk/test/clang-doc/test_cases/comment.cpp @@ -1,28 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -/// \brief Brief description. -/// -/// Extended description that -/// continues onto the next line. -/// -///
    -///
  • Testing. -///
-/// -/// \verbatim -/// The description continues. -/// \endverbatim -/// -- -/// \param [out] I is a parameter. -/// \param J is a parameter. -/// \return void -void F(int I, int J); - -/// Bonus comment on definition -void F(int I, int J) {} Index: clang-tools-extra/trunk/test/clang-doc/test_cases/linkage.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/test_cases/linkage.cpp +++ clang-tools-extra/trunk/test/clang-doc/test_cases/linkage.cpp @@ -1,95 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace Index: clang-tools-extra/trunk/test/clang-doc/test_cases/module.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/test_cases/module.cpp +++ clang-tools-extra/trunk/test/clang-doc/test_cases/module.cpp @@ -1,15 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -export module M; - -int moduleFunction(int x); // ModuleLinkage - -static int staticModuleFunction(int x); // ModuleInternalLinkage - -export double exportedModuleFunction(double y, int z); // ExternalLinkage Index: clang-tools-extra/trunk/test/clang-doc/test_cases/namespace.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/test_cases/namespace.cpp +++ clang-tools-extra/trunk/test/clang-doc/test_cases/namespace.cpp @@ -1,26 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -namespace A { - -void f(); - -} // namespace A - -namespace A { - -void f(){}; - -namespace B { - -enum E { X }; - -E func(int i) { return X; } - -} // namespace B -} // namespace A Index: clang-tools-extra/trunk/test/clang-doc/test_cases/record.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/test_cases/record.cpp +++ clang-tools-extra/trunk/test/clang-doc/test_cases/record.cpp @@ -1,42 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// This test requires Linux due to system-dependent USR for the inner class. -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void H() { - class I {}; -} - -union A { int X; int Y; }; - -enum B { X, Y }; - -enum class Bc { A, B }; - -struct C { int i; }; - -class D {}; - -class E { -public: - E() {} - ~E() {} - -protected: - void ProtectedMethod(); -}; - -void E::ProtectedMethod() {} - -class F : virtual private D, public E {}; - -class X { - class Y {}; -}; - -class G; Index: clang-tools-extra/trunk/test/clang-doc/yaml-comment.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/yaml-comment.cpp +++ clang-tools-extra/trunk/test/clang-doc/yaml-comment.cpp @@ -1,138 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -/// \brief Brief description. -/// -/// Extended description that -/// continues onto the next line. -/// -///
    -///
  • Testing. -///
-/// -/// \verbatim -/// The description continues. -/// \endverbatim -/// -- -/// \param [out] I is a parameter. -/// \param J is a parameter. -/// \return void -void F(int I, int J); - -/// Bonus comment on definition -void F(int I, int J) {} - -// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'F' -// CHECK-0-NEXT: Description: -// CHECK-0-NEXT: - Kind: 'FullComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'BlockCommandComment' -// CHECK-0-NEXT: Name: 'brief' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Brief description.' -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Extended description that' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' continues onto the next line.' -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLStartTagComment' -// CHECK-0-NEXT: Name: 'ul' -// CHECK-0-NEXT: AttrKeys: -// CHECK-0-NEXT: - 'class' -// CHECK-0-NEXT: AttrValues: -// CHECK-0-NEXT: - 'test' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLStartTagComment' -// CHECK-0-NEXT: Name: 'li' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Testing.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'HTMLEndTagComment' -// CHECK-0-NEXT: Name: 'ul' -// CHECK-0-NEXT: SelfClosing: true -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'VerbatimBlockComment' -// CHECK-0-NEXT: Name: 'verbatim' -// CHECK-0-NEXT: CloseName: 'endverbatim' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'VerbatimBlockLineComment' -// CHECK-0-NEXT: Text: ' The description continues.' -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' --' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'ParamCommandComment' -// CHECK-0-NEXT: Direction: '[out]' -// CHECK-0-NEXT: ParamName: 'I' -// CHECK-0-NEXT: Explicit: true -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' is a parameter.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'ParamCommandComment' -// CHECK-0-NEXT: Direction: '[in]' -// CHECK-0-NEXT: ParamName: 'J' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' is a parameter.' -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: - Kind: 'BlockCommandComment' -// CHECK-0-NEXT: Name: 'return' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' void' -// CHECK-0-NEXT: - Kind: 'FullComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'ParagraphComment' -// CHECK-0-NEXT: Children: -// CHECK-0-NEXT: - Kind: 'TextComment' -// CHECK-0-NEXT: Text: ' Bonus comment on definition' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 28 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 25 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'I' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'J' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: ... Index: clang-tools-extra/trunk/test/clang-doc/yaml-linkage.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/yaml-linkage.cpp +++ clang-tools-extra/trunk/test/clang-doc/yaml-linkage.cpp @@ -1,424 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void function(int x); - -inline int inlinedFunction(int x); - -int functionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -inline int inlinedFunctionWithInnerClass(int x) { - class InnerClass { //VisibleNoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -class Class { -public: - void publicMethod(); - int publicField; - -protected: - void protectedMethod(); - int protectedField; - -private: - void privateMethod(); - int privateField; -}; - -namespace named { -class NamedClass { -public: - void namedPublicMethod(); - int namedPublicField; - -protected: - void namedProtectedMethod(); - int namedProtectedField; - -private: - void namedPrivateMethod(); - int namedPrivateField; -}; - -void namedFunction(); -static void namedStaticFunction(); -inline void namedInlineFunction(); -} // namespace named - -static void staticFunction(int x); //Internal Linkage - -static int staticFunctionWithInnerClass(int x) { - class InnerClass { //NoLinkage - public: - int innerPublicMethod() { return 2; }; - }; //end class - InnerClass temp; - return temp.innerPublicMethod(); -}; - -namespace { -class AnonClass { -public: - void anonPublicMethod(); - int anonPublicField; - -protected: - void anonProtectedMethod(); - int anonProtectedField; - -private: - void anonPrivateMethod(); - int anonPrivateField; -}; - -void anonFunction(); -static void anonStaticFunction(); -inline void anonInlineFunction(); -} // namespace - -// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./Class.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 32 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: TagType: Class -// CHECK-0-NEXT: Members: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'publicField' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'protectedField' -// CHECK-0-NEXT: Access: Protected -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'privateField' -// CHECK-0-NEXT: Access: Private -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'publicMethod' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 34 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: IsMethod: true -// CHECK-0-NEXT: Parent: -// CHECK-0-NEXT: Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'protectedMethod' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 38 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: IsMethod: true -// CHECK-0-NEXT: Parent: -// CHECK-0-NEXT: Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'privateMethod' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 42 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: IsMethod: true -// CHECK-0-NEXT: Parent: -// CHECK-0-NEXT: Type: Record -// CHECK-0-NEXT: Name: 'Class' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: ... - -// RUN: cat %t/docs/./named.yaml | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: ChildFunctions: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'namedFunction' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Location: -// CHECK-1-NEXT: - LineNumber: 61 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'void' -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'namedStaticFunction' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Location: -// CHECK-1-NEXT: - LineNumber: 62 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'void' -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'namedInlineFunction' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'named' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Location: -// CHECK-1-NEXT: - LineNumber: 63 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'void' -// CHECK-1-NEXT: ... - -// RUN: cat %t/docs/./AnonClass.yaml | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: --- -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: Namespace: -// CHECK-2-NEXT: - Type: Namespace -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: DefLocation: -// CHECK-2-NEXT: LineNumber: 78 -// CHECK-2-NEXT: Filename: '{{.*}}' -// CHECK-2-NEXT: TagType: Class -// CHECK-2-NEXT: Members: -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'anonPublicField' -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'anonProtectedField' -// CHECK-2-NEXT: Access: Protected -// CHECK-2-NEXT: - Type: -// CHECK-2-NEXT: Name: 'int' -// CHECK-2-NEXT: Name: 'anonPrivateField' -// CHECK-2-NEXT: Access: Private -// CHECK-2-NEXT: ChildFunctions: -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'anonPublicMethod' -// CHECK-2-NEXT: Namespace: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: - Type: Namespace -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Location: -// CHECK-2-NEXT: - LineNumber: 80 -// CHECK-2-NEXT: Filename: '{{.*}}' -// CHECK-2-NEXT: IsMethod: true -// CHECK-2-NEXT: Parent: -// CHECK-2-NEXT: Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'void' -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'anonProtectedMethod' -// CHECK-2-NEXT: Namespace: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: - Type: Namespace -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Location: -// CHECK-2-NEXT: - LineNumber: 84 -// CHECK-2-NEXT: Filename: '{{.*}}' -// CHECK-2-NEXT: IsMethod: true -// CHECK-2-NEXT: Parent: -// CHECK-2-NEXT: Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'void' -// CHECK-2-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'anonPrivateMethod' -// CHECK-2-NEXT: Namespace: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: - Type: Namespace -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Location: -// CHECK-2-NEXT: - LineNumber: 88 -// CHECK-2-NEXT: Filename: '{{.*}}' -// CHECK-2-NEXT: IsMethod: true -// CHECK-2-NEXT: Parent: -// CHECK-2-NEXT: Type: Record -// CHECK-2-NEXT: Name: 'AnonClass' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ReturnType: -// CHECK-2-NEXT: Type: -// CHECK-2-NEXT: Name: 'void' -// CHECK-2-NEXT: ... - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: --- -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: ChildFunctions: -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'anonFunction' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 92 -// CHECK-3-NEXT: Filename: '{{.*}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'anonStaticFunction' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 93 -// CHECK-3-NEXT: Filename: '{{.*}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'anonInlineFunction' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Namespace -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 94 -// CHECK-3-NEXT: Filename: '{{.*}}' -// CHECK-3-NEXT: ReturnType: -// CHECK-3-NEXT: Type: -// CHECK-3-NEXT: Name: 'void' -// CHECK-3-NEXT: ... - -// RUN: cat %t/docs/named/NamedClass.yaml | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: --- -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'NamedClass' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Namespace -// CHECK-4-NEXT: Name: 'named' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 47 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: TagType: Class -// CHECK-4-NEXT: Members: -// CHECK-4-NEXT: - Type: -// CHECK-4-NEXT: Name: 'int' -// CHECK-4-NEXT: Name: 'namedPublicField' -// CHECK-4-NEXT: - Type: -// CHECK-4-NEXT: Name: 'int' -// CHECK-4-NEXT: Name: 'namedProtectedField' -// CHECK-4-NEXT: Access: Protected -// CHECK-4-NEXT: - Type: -// CHECK-4-NEXT: Name: 'int' -// CHECK-4-NEXT: Name: 'namedPrivateField' -// CHECK-4-NEXT: Access: Private -// CHECK-4-NEXT: ChildFunctions: -// CHECK-4-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'namedPublicMethod' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: - Type: Namespace -// CHECK-4-NEXT: Name: 'named' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Location: -// CHECK-4-NEXT: - LineNumber: 49 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: ReturnType: -// CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'void' -// CHECK-4-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'namedProtectedMethod' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: - Type: Namespace -// CHECK-4-NEXT: Name: 'named' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Location: -// CHECK-4-NEXT: - LineNumber: 53 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: ReturnType: -// CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'void' -// CHECK-4-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'namedPrivateMethod' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: - Type: Namespace -// CHECK-4-NEXT: Name: 'named' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Location: -// CHECK-4-NEXT: - LineNumber: 57 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'NamedClass' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: ReturnType: -// CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'void' -// CHECK-4-NEXT: ... Index: clang-tools-extra/trunk/test/clang-doc/yaml-module.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/yaml-module.cpp +++ clang-tools-extra/trunk/test/clang-doc/yaml-module.cpp @@ -1,63 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -export module M; - -int moduleFunction(int x); // ModuleLinkage - -static int staticModuleFunction(int x); // ModuleInternalLinkage - -export double exportedModuleFunction(double y, int z); // ExternalLinkage - -// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'moduleFunction' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 11 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'x' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'staticModuleFunction' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 13 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'x' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'exportedModuleFunction' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 15 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Params: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'double' -// CHECK-0-NEXT: Name: 'y' -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'z' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'double' -// CHECK-0-NEXT: ... Index: clang-tools-extra/trunk/test/clang-doc/yaml-namespace.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/yaml-namespace.cpp +++ clang-tools-extra/trunk/test/clang-doc/yaml-namespace.cpp @@ -1,96 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -namespace A { - -void f(); - -} // namespace A - -namespace A { - -void f(){}; - -namespace B { - -enum E { X }; - -E func(int i) { return X; } - -} // namespace B -} // namespace A - -// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'A' -// CHECK-0-NEXT: ChildFunctions: -// CHECK-0-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'f' -// CHECK-0-NEXT: Namespace: -// CHECK-0-NEXT: - Type: Namespace -// CHECK-0-NEXT: Name: 'A' -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 17 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Location: -// CHECK-0-NEXT: - LineNumber: 11 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: ReturnType: -// CHECK-0-NEXT: Type: -// CHECK-0-NEXT: Name: 'void' -// CHECK-0-NEXT: ... - -// RUN: cat %t/docs/A/B.yaml | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: ChildFunctions: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'func' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 23 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: Params: -// CHECK-1-NEXT: - Type: -// CHECK-1-NEXT: Name: 'int' -// CHECK-1-NEXT: Name: 'i' -// CHECK-1-NEXT: ReturnType: -// CHECK-1-NEXT: Type: -// CHECK-1-NEXT: Name: 'enum A::B::E' -// CHECK-1-NEXT: ChildEnums: -// CHECK-1-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'E' -// CHECK-1-NEXT: Namespace: -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'B' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: - Type: Namespace -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 21 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: Members: -// CHECK-1-NEXT: - 'X' -// CHECK-1-NEXT: ... Index: clang-tools-extra/trunk/test/clang-doc/yaml-record.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-doc/yaml-record.cpp +++ clang-tools-extra/trunk/test/clang-doc/yaml-record.cpp @@ -1,234 +0,0 @@ -// THIS IS A GENERATED TEST. DO NOT EDIT. -// To regenerate, see clang-doc/gen_test.py docstring. -// -// This test requires Linux due to system-dependent USR for the inner class. -// REQUIRES: system-linux -// RUN: rm -rf %t -// RUN: mkdir %t -// RUN: echo "" > %t/compile_flags.txt -// RUN: cp "%s" "%t/test.cpp" - -void H() { - class I {}; -} - -union A { int X; int Y; }; - -enum B { X, Y }; - -enum class Bc { A, B }; - -struct C { int i; }; - -class D {}; - -class E { -public: - E() {} - ~E() {} - -protected: - void ProtectedMethod(); -}; - -void E::ProtectedMethod() {} - -class F : virtual private D, public E {}; - -class X { - class Y {}; -}; - -class G; - -// RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs - - -// RUN: cat %t/docs/./C.yaml | FileCheck %s --check-prefix CHECK-0 -// CHECK-0: --- -// CHECK-0-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-0-NEXT: Name: 'C' -// CHECK-0-NEXT: DefLocation: -// CHECK-0-NEXT: LineNumber: 21 -// CHECK-0-NEXT: Filename: '{{.*}}' -// CHECK-0-NEXT: Members: -// CHECK-0-NEXT: - Type: -// CHECK-0-NEXT: Name: 'int' -// CHECK-0-NEXT: Name: 'i' -// CHECK-0-NEXT: ... - -// RUN: cat %t/docs/./A.yaml | FileCheck %s --check-prefix CHECK-1 -// CHECK-1: --- -// CHECK-1-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-1-NEXT: Name: 'A' -// CHECK-1-NEXT: DefLocation: -// CHECK-1-NEXT: LineNumber: 15 -// CHECK-1-NEXT: Filename: '{{.*}}' -// CHECK-1-NEXT: TagType: Union -// CHECK-1-NEXT: Members: -// CHECK-1-NEXT: - Type: -// CHECK-1-NEXT: Name: 'int' -// CHECK-1-NEXT: Name: 'X' -// CHECK-1-NEXT: - Type: -// CHECK-1-NEXT: Name: 'int' -// CHECK-1-NEXT: Name: 'Y' -// CHECK-1-NEXT: ... - -// RUN: cat %t/docs/./F.yaml | FileCheck %s --check-prefix CHECK-2 -// CHECK-2: --- -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: Name: 'F' -// CHECK-2-NEXT: DefLocation: -// CHECK-2-NEXT: LineNumber: 36 -// CHECK-2-NEXT: Filename: '{{.*}}' -// CHECK-2-NEXT: TagType: Class -// CHECK-2-NEXT: Parents: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'E' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: VirtualParents: -// CHECK-2-NEXT: - Type: Record -// CHECK-2-NEXT: Name: 'D' -// CHECK-2-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-2-NEXT: ... - -// RUN: cat %t/docs/./G.yaml | FileCheck %s --check-prefix CHECK-3 -// CHECK-3: --- -// CHECK-3-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-3-NEXT: Name: 'G' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 42 -// CHECK-3-NEXT: Filename: '{{.*}}' -// CHECK-3-NEXT: TagType: Class -// CHECK-3-NEXT: ... - -// RUN: cat %t/docs/./E.yaml | FileCheck %s --check-prefix CHECK-4 -// CHECK-4: --- -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 25 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: TagType: Class -// CHECK-4-NEXT: ChildFunctions: -// CHECK-4-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 27 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: ReturnType: -// CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'void' -// CHECK-4-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: '~E' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 28 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: ReturnType: -// CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'void' -// CHECK-4-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: Name: 'ProtectedMethod' -// CHECK-4-NEXT: Namespace: -// CHECK-4-NEXT: - Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 34 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: Location: -// CHECK-4-NEXT: - LineNumber: 31 -// CHECK-4-NEXT: Filename: '{{.*}}' -// CHECK-4-NEXT: IsMethod: true -// CHECK-4-NEXT: Parent: -// CHECK-4-NEXT: Type: Record -// CHECK-4-NEXT: Name: 'E' -// CHECK-4-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-4-NEXT: ReturnType: -// CHECK-4-NEXT: Type: -// CHECK-4-NEXT: Name: 'void' -// CHECK-4-NEXT: ... - -// RUN: cat %t/docs/./D.yaml | FileCheck %s --check-prefix CHECK-5 -// CHECK-5: --- -// CHECK-5-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-5-NEXT: Name: 'D' -// CHECK-5-NEXT: DefLocation: -// CHECK-5-NEXT: LineNumber: 23 -// CHECK-5-NEXT: Filename: '{{.*}}' -// CHECK-5-NEXT: TagType: Class -// CHECK-5-NEXT: ... - -// RUN: cat %t/docs/./X.yaml | FileCheck %s --check-prefix CHECK-6 -// CHECK-6: --- -// CHECK-6-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-6-NEXT: Name: 'X' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 38 -// CHECK-6-NEXT: Filename: '{{.*}}' -// CHECK-6-NEXT: TagType: Class -// CHECK-6-NEXT: ... - -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-7 -// CHECK-7: --- -// CHECK-7-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: ChildFunctions: -// CHECK-7-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: Name: 'H' -// CHECK-7-NEXT: DefLocation: -// CHECK-7-NEXT: LineNumber: 11 -// CHECK-7-NEXT: Filename: '{{.*}}' -// CHECK-7-NEXT: ReturnType: -// CHECK-7-NEXT: Type: -// CHECK-7-NEXT: Name: 'void' -// CHECK-7-NEXT: ChildEnums: -// CHECK-7-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: Name: 'B' -// CHECK-7-NEXT: DefLocation: -// CHECK-7-NEXT: LineNumber: 17 -// CHECK-7-NEXT: Filename: '{{.*}}' -// CHECK-7-NEXT: Members: -// CHECK-7-NEXT: - 'X' -// CHECK-7-NEXT: - 'Y' -// CHECK-7-NEXT: - USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-7-NEXT: Name: 'Bc' -// CHECK-7-NEXT: DefLocation: -// CHECK-7-NEXT: LineNumber: 19 -// CHECK-7-NEXT: Filename: '{{.*}}' -// CHECK-7-NEXT: Scoped: true -// CHECK-7-NEXT: Members: -// CHECK-7-NEXT: - 'A' -// CHECK-7-NEXT: - 'B' -// CHECK-7-NEXT: ... - -// RUN: cat %t/docs/X/Y.yaml | FileCheck %s --check-prefix CHECK-8 -// CHECK-8: --- -// CHECK-8-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-8-NEXT: Name: 'Y' -// CHECK-8-NEXT: Namespace: -// CHECK-8-NEXT: - Type: Record -// CHECK-8-NEXT: Name: 'X' -// CHECK-8-NEXT: USR: '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}' -// CHECK-8-NEXT: DefLocation: -// CHECK-8-NEXT: LineNumber: 39 -// CHECK-8-NEXT: Filename: '{{.*}}' -// CHECK-8-NEXT: TagType: Class -// CHECK-8-NEXT: ...