juliehockett updated this revision to Diff 166526. juliehockett added a comment.
Adding test case https://reviews.llvm.org/D52313 Files: clang-tools-extra/clang-doc/Serialize.cpp clang-tools-extra/test/clang-doc/bc-record.cpp clang-tools-extra/test/clang-doc/mapper-record.cpp clang-tools-extra/test/clang-doc/md-record.cpp clang-tools-extra/test/clang-doc/public-record.cpp clang-tools-extra/test/clang-doc/test_cases/record.cpp clang-tools-extra/test/clang-doc/yaml-record.cpp
Index: clang-tools-extra/test/clang-doc/yaml-record.cpp =================================================================== --- clang-tools-extra/test/clang-doc/yaml-record.cpp +++ clang-tools-extra/test/clang-doc/yaml-record.cpp @@ -39,6 +39,8 @@ class Y {}; }; +class G; + // RUN: clang-doc --format=yaml --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs @@ -90,133 +92,143 @@ // 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/./E.yaml | FileCheck %s --check-prefix CHECK-3 +// 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: 'E' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 25 -// CHECK-3-NEXT: Filename: 'test' +// CHECK-3-NEXT: Name: 'G' +// CHECK-3-NEXT: Location: +// CHECK-3-NEXT: - LineNumber: 42 +// CHECK-3-NEXT: Filename: 'test' // CHECK-3-NEXT: TagType: Class -// 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: 'E' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: 27 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: '~E' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: 28 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: 'ProtectedMethod' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: 34 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 31 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: ... -// RUN: cat %t/docs/./D.yaml | FileCheck %s --check-prefix CHECK-4 +// 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: 'D' +// CHECK-4-NEXT: Name: 'E' // CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 23 +// CHECK-4-NEXT: LineNumber: 25 // CHECK-4-NEXT: Filename: 'test' // 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: 'test' +// 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: 'test' +// 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: 'test' +// CHECK-4-NEXT: Location: +// CHECK-4-NEXT: - LineNumber: 31 +// CHECK-4-NEXT: Filename: 'test' +// 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/./X.yaml | FileCheck %s --check-prefix CHECK-5 +// 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: 'X' +// CHECK-5-NEXT: Name: 'D' // CHECK-5-NEXT: DefLocation: -// CHECK-5-NEXT: LineNumber: 38 +// CHECK-5-NEXT: LineNumber: 23 // CHECK-5-NEXT: Filename: 'test' // CHECK-5-NEXT: TagType: Class // CHECK-5-NEXT: ... -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-6 +// 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: ChildFunctions: -// 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: 'H' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 11 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: ReturnType: -// CHECK-6-NEXT: Type: -// CHECK-6-NEXT: Name: 'void' -// CHECK-6-NEXT: ChildEnums: -// 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: 'B' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 17 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: Members: -// CHECK-6-NEXT: - 'X' -// CHECK-6-NEXT: - 'Y' -// 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: 'Bc' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 19 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: Scoped: true -// CHECK-6-NEXT: Members: -// CHECK-6-NEXT: - 'A' -// CHECK-6-NEXT: - 'B' +// CHECK-6-NEXT: Name: 'X' +// CHECK-6-NEXT: DefLocation: +// CHECK-6-NEXT: LineNumber: 38 +// CHECK-6-NEXT: Filename: 'test' +// CHECK-6-NEXT: TagType: Class // CHECK-6-NEXT: ... -// RUN: cat %t/docs/X/Y.yaml | FileCheck %s --check-prefix CHECK-7 +// 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: Name: 'Y' -// CHECK-7-NEXT: Namespace: -// CHECK-7-NEXT: - Type: Record -// CHECK-7-NEXT: Name: 'X' -// 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: DefLocation: -// CHECK-7-NEXT: LineNumber: 39 -// CHECK-7-NEXT: Filename: 'test' -// CHECK-7-NEXT: TagType: Class +// 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: 'test' +// 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: 'test' +// 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: 'test' +// 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: 'test' +// CHECK-8-NEXT: TagType: Class +// CHECK-8-NEXT: ... Index: clang-tools-extra/test/clang-doc/test_cases/record.cpp =================================================================== --- clang-tools-extra/test/clang-doc/test_cases/record.cpp +++ clang-tools-extra/test/clang-doc/test_cases/record.cpp @@ -38,3 +38,5 @@ class X { class Y {}; }; + +class G; Index: clang-tools-extra/test/clang-doc/public-record.cpp =================================================================== --- clang-tools-extra/test/clang-doc/public-record.cpp +++ clang-tools-extra/test/clang-doc/public-record.cpp @@ -39,6 +39,8 @@ class Y {}; }; +class G; + // RUN: clang-doc --format=yaml --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs @@ -90,119 +92,129 @@ // 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/./E.yaml | FileCheck %s --check-prefix CHECK-3 +// 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: 'E' -// CHECK-3-NEXT: DefLocation: -// CHECK-3-NEXT: LineNumber: 25 -// CHECK-3-NEXT: Filename: 'test' +// CHECK-3-NEXT: Name: 'G' +// CHECK-3-NEXT: Location: +// CHECK-3-NEXT: - LineNumber: 42 +// CHECK-3-NEXT: Filename: 'test' // CHECK-3-NEXT: TagType: Class -// 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: 'E' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: 27 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: '~E' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: 28 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: 'ProtectedMethod' -// CHECK-3-NEXT: Namespace: -// CHECK-3-NEXT: - Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: 34 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: Location: -// CHECK-3-NEXT: - LineNumber: 31 -// CHECK-3-NEXT: Filename: 'test' -// CHECK-3-NEXT: IsMethod: true -// CHECK-3-NEXT: Parent: -// CHECK-3-NEXT: Type: Record -// CHECK-3-NEXT: Name: 'E' -// 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: ... -// RUN: cat %t/docs/./D.yaml | FileCheck %s --check-prefix CHECK-4 +// 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: 'D' +// CHECK-4-NEXT: Name: 'E' // CHECK-4-NEXT: DefLocation: -// CHECK-4-NEXT: LineNumber: 23 +// CHECK-4-NEXT: LineNumber: 25 // CHECK-4-NEXT: Filename: 'test' // 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: 'test' +// 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: 'test' +// 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: 'test' +// CHECK-4-NEXT: Location: +// CHECK-4-NEXT: - LineNumber: 31 +// CHECK-4-NEXT: Filename: 'test' +// 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/./X.yaml | FileCheck %s --check-prefix CHECK-5 +// 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: 'X' +// CHECK-5-NEXT: Name: 'D' // CHECK-5-NEXT: DefLocation: -// CHECK-5-NEXT: LineNumber: 38 +// CHECK-5-NEXT: LineNumber: 23 // CHECK-5-NEXT: Filename: 'test' // CHECK-5-NEXT: TagType: Class // CHECK-5-NEXT: ... -// RUN: cat %t/docs/./GlobalNamespace.yaml | FileCheck %s --check-prefix CHECK-6 +// 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: ChildFunctions: -// 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: 'H' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 11 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: ReturnType: -// CHECK-6-NEXT: Type: -// CHECK-6-NEXT: Name: 'void' -// CHECK-6-NEXT: ChildEnums: -// 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: 'B' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 17 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: Members: -// CHECK-6-NEXT: - 'X' -// CHECK-6-NEXT: - 'Y' -// 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: 'Bc' -// CHECK-6-NEXT: DefLocation: -// CHECK-6-NEXT: LineNumber: 19 -// CHECK-6-NEXT: Filename: 'test' -// CHECK-6-NEXT: Scoped: true -// CHECK-6-NEXT: Members: -// CHECK-6-NEXT: - 'A' -// CHECK-6-NEXT: - 'B' +// CHECK-6-NEXT: Name: 'X' +// CHECK-6-NEXT: DefLocation: +// CHECK-6-NEXT: LineNumber: 38 +// CHECK-6-NEXT: Filename: 'test' +// 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: 'test' +// 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: 'test' +// 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: 'test' +// CHECK-7-NEXT: Scoped: true +// CHECK-7-NEXT: Members: +// CHECK-7-NEXT: - 'A' +// CHECK-7-NEXT: - 'B' +// CHECK-7-NEXT: ... Index: clang-tools-extra/test/clang-doc/md-record.cpp =================================================================== --- clang-tools-extra/test/clang-doc/md-record.cpp +++ clang-tools-extra/test/clang-doc/md-record.cpp @@ -39,6 +39,8 @@ class Y {}; }; +class G; + // RUN: clang-doc --format=md --doxygen --public --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs @@ -95,3 +97,6 @@ // 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/test/clang-doc/mapper-record.cpp =================================================================== --- clang-tools-extra/test/clang-doc/mapper-record.cpp +++ clang-tools-extra/test/clang-doc/mapper-record.cpp @@ -39,6 +39,8 @@ class Y {}; }; +class G; + // RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs @@ -105,98 +107,110 @@ // CHECK-2-NEXT: </MemberTypeBlock> // CHECK-2-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-3 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/4202E8BF0ECB12AE354C8499C52725B0EE30AED5.bc | FileCheck %s --check-prefix CHECK-3 // CHECK-3: <BLOCKINFO_BLOCK/> // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-3-NEXT: <Version abbrevid=4 op0=2/> // CHECK-3-NEXT: </VersionBlock> -// CHECK-3-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4> +// CHECK-3-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> // CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'Y' -// CHECK-3-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' -// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-3-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}' +// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'G' +// CHECK-3-NEXT: <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}' // CHECK-3-NEXT: <TagType abbrevid=8 op0=3/> // CHECK-3-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-4 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-4 // CHECK-4: <BLOCKINFO_BLOCK/> // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-4-NEXT: <Version abbrevid=4 op0=2/> // CHECK-4-NEXT: </VersionBlock> -// CHECK-4-NEXT: <NamespaceBlock NumWords=19 BlockCodeSize=4> -// CHECK-4-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> +// CHECK-4-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4> +// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'Y' +// CHECK-4-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> // CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=2/> blob data = 'Bc' -// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}' -// CHECK-4-NEXT: <Scoped abbrevid=9 op0=1/> -// CHECK-4-NEXT: <Member abbrevid=8 op0=1/> blob data = 'A' -// CHECK-4-NEXT: <Member abbrevid=8 op0=1/> blob data = 'B' -// CHECK-4-NEXT: </EnumBlock> -// CHECK-4-NEXT: </NamespaceBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-5 +// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' +// CHECK-4-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-4-NEXT: </ReferenceBlock> +// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}' +// CHECK-4-NEXT: <TagType abbrevid=8 op0=3/> +// CHECK-4-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5 // CHECK-5: <BLOCKINFO_BLOCK/> // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-5-NEXT: <Version abbrevid=4 op0=2/> // CHECK-5-NEXT: </VersionBlock> -// CHECK-5-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' -// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-5-NEXT: </RecordBlock> - -// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-6 +// CHECK-5-NEXT: <NamespaceBlock NumWords=19 BlockCodeSize=4> +// CHECK-5-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> +// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-5-NEXT: <Name abbrevid=5 op0=2/> blob data = 'Bc' +// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}' +// CHECK-5-NEXT: <Scoped abbrevid=9 op0=1/> +// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'A' +// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'B' +// CHECK-5-NEXT: </EnumBlock> +// CHECK-5-NEXT: </NamespaceBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6 // CHECK-6: <BLOCKINFO_BLOCK/> // CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-6-NEXT: <Version abbrevid=4 op0=2/> // CHECK-6-NEXT: </VersionBlock> -// CHECK-6-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4> +// CHECK-6-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> // CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' -// CHECK-6-NEXT: <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}' +// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' +// CHECK-6-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' // CHECK-6-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-6-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=3/> -// CHECK-6-NEXT: </ReferenceBlock> // CHECK-6-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-7 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7 // CHECK-7: <BLOCKINFO_BLOCK/> // CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-7-NEXT: <Version abbrevid=4 op0=2/> // CHECK-7-NEXT: </VersionBlock> -// CHECK-7-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4> +// CHECK-7-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4> // CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' -// CHECK-7-NEXT: <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}' -// CHECK-7-NEXT: <TagType abbrevid=8 op0=2/> -// CHECK-7-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <Name abbrevid=4 op0=1/> blob data = 'X' -// CHECK-7-NEXT: </MemberTypeBlock> -// CHECK-7-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <Name abbrevid=4 op0=1/> blob data = 'Y' -// CHECK-7-NEXT: </MemberTypeBlock> +// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' +// CHECK-7-NEXT: <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}' +// CHECK-7-NEXT: <TagType abbrevid=8 op0=3/> +// CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-7-NEXT: <Field abbrevid=7 op0=2/> +// CHECK-7-NEXT: </ReferenceBlock> +// CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' +// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-7-NEXT: <Field abbrevid=7 op0=3/> +// CHECK-7-NEXT: </ReferenceBlock> // CHECK-7-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8 +// CHECK-8: <BLOCKINFO_BLOCK/> +// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-8-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-8-NEXT: </VersionBlock> +// CHECK-8-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4> +// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-8-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-8-NEXT: <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}' +// CHECK-8-NEXT: <TagType abbrevid=8 op0=2/> +// CHECK-8-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-8-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-8-NEXT: </ReferenceBlock> +// CHECK-8-NEXT: <Name abbrevid=4 op0=1/> blob data = 'X' +// CHECK-8-NEXT: </MemberTypeBlock> +// CHECK-8-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-8-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-8-NEXT: </ReferenceBlock> +// CHECK-8-NEXT: <Name abbrevid=4 op0=1/> blob data = 'Y' +// CHECK-8-NEXT: </MemberTypeBlock> +// CHECK-8-NEXT: </RecordBlock> Index: clang-tools-extra/test/clang-doc/bc-record.cpp =================================================================== --- clang-tools-extra/test/clang-doc/bc-record.cpp +++ clang-tools-extra/test/clang-doc/bc-record.cpp @@ -39,6 +39,8 @@ class Y {}; }; +class G; + // RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs @@ -158,118 +160,130 @@ // CHECK-2-NEXT: </MemberTypeBlock> // CHECK-2-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-3 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/4202E8BF0ECB12AE354C8499C52725B0EE30AED5.bc | FileCheck %s --check-prefix CHECK-3 // CHECK-3: <BLOCKINFO_BLOCK/> // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-3-NEXT: <Version abbrevid=4 op0=2/> // CHECK-3-NEXT: </VersionBlock> -// CHECK-3-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4> +// CHECK-3-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> // CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'Y' -// CHECK-3-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-3-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' -// CHECK-3-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-3-NEXT: <Field abbrevid=7 op0=1/> -// CHECK-3-NEXT: </ReferenceBlock> -// CHECK-3-NEXT: <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}' +// CHECK-3-NEXT: <Name abbrevid=5 op0=1/> blob data = 'G' +// CHECK-3-NEXT: <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}' // CHECK-3-NEXT: <TagType abbrevid=8 op0=3/> // CHECK-3-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-4 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-4 // CHECK-4: <BLOCKINFO_BLOCK/> // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-4-NEXT: <Version abbrevid=4 op0=2/> // CHECK-4-NEXT: </VersionBlock> -// CHECK-4-NEXT: <NamespaceBlock NumWords=59 BlockCodeSize=4> -// CHECK-4-NEXT: <FunctionBlock NumWords=20 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'H' -// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=11 op1=4/> blob data = '{{.*}}' -// CHECK-4-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> -// CHECK-4-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-4-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' -// CHECK-4-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-4-NEXT: </ReferenceBlock> -// CHECK-4-NEXT: </TypeBlock> -// CHECK-4-NEXT: </FunctionBlock> -// CHECK-4-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> +// CHECK-4-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4> +// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'Y' +// CHECK-4-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> // CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' -// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' -// CHECK-4-NEXT: <Member abbrevid=8 op0=1/> blob data = 'X' -// CHECK-4-NEXT: <Member abbrevid=8 op0=1/> blob data = 'Y' -// CHECK-4-NEXT: </EnumBlock> -// CHECK-4-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> -// CHECK-4-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-4-NEXT: <Name abbrevid=5 op0=2/> blob data = 'Bc' -// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}' -// CHECK-4-NEXT: <Scoped abbrevid=9 op0=1/> -// CHECK-4-NEXT: <Member abbrevid=8 op0=1/> blob data = 'A' -// CHECK-4-NEXT: <Member abbrevid=8 op0=1/> blob data = 'B' -// CHECK-4-NEXT: </EnumBlock> -// CHECK-4-NEXT: </NamespaceBlock> +// CHECK-4-NEXT: <Name abbrevid=5 op0=1/> blob data = 'X' +// CHECK-4-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-4-NEXT: <Field abbrevid=7 op0=1/> +// CHECK-4-NEXT: </ReferenceBlock> +// CHECK-4-NEXT: <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}' +// CHECK-4-NEXT: <TagType abbrevid=8 op0=3/> +// CHECK-4-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-5 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5 // CHECK-5: <BLOCKINFO_BLOCK/> // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-5-NEXT: <Version abbrevid=4 op0=2/> // CHECK-5-NEXT: </VersionBlock> -// CHECK-5-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> -// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-5-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' -// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' -// CHECK-5-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-5-NEXT: </RecordBlock> +// CHECK-5-NEXT: <NamespaceBlock NumWords=59 BlockCodeSize=4> +// CHECK-5-NEXT: <FunctionBlock NumWords=20 BlockCodeSize=4> +// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-5-NEXT: <Name abbrevid=5 op0=1/> blob data = 'H' +// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=11 op1=4/> blob data = '{{.*}}' +// CHECK-5-NEXT: <TypeBlock NumWords=6 BlockCodeSize=4> +// CHECK-5-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-5-NEXT: <Name abbrevid=5 op0=4/> blob data = 'void' +// CHECK-5-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-5-NEXT: </ReferenceBlock> +// CHECK-5-NEXT: </TypeBlock> +// CHECK-5-NEXT: </FunctionBlock> +// CHECK-5-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> +// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-5-NEXT: <Name abbrevid=5 op0=1/> blob data = 'B' +// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}' +// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'X' +// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'Y' +// CHECK-5-NEXT: </EnumBlock> +// CHECK-5-NEXT: <EnumBlock NumWords=16 BlockCodeSize=4> +// CHECK-5-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-5-NEXT: <Name abbrevid=5 op0=2/> blob data = 'Bc' +// CHECK-5-NEXT: <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}' +// CHECK-5-NEXT: <Scoped abbrevid=9 op0=1/> +// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'A' +// CHECK-5-NEXT: <Member abbrevid=8 op0=1/> blob data = 'B' +// CHECK-5-NEXT: </EnumBlock> +// CHECK-5-NEXT: </NamespaceBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-6 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6 // CHECK-6: <BLOCKINFO_BLOCK/> // CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-6-NEXT: <Version abbrevid=4 op0=2/> // CHECK-6-NEXT: </VersionBlock> -// CHECK-6-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4> +// CHECK-6-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4> // CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' -// CHECK-6-NEXT: <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}' +// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' +// CHECK-6-NEXT: <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}' // CHECK-6-NEXT: <TagType abbrevid=8 op0=3/> -// CHECK-6-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=2/> -// CHECK-6-NEXT: </ReferenceBlock> -// CHECK-6-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> -// CHECK-6-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-6-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' -// CHECK-6-NEXT: <RefType abbrevid=6 op0=2/> -// CHECK-6-NEXT: <Field abbrevid=7 op0=3/> -// CHECK-6-NEXT: </ReferenceBlock> // CHECK-6-NEXT: </RecordBlock> -// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-7 +// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7 // CHECK-7: <BLOCKINFO_BLOCK/> // CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> // CHECK-7-NEXT: <Version abbrevid=4 op0=2/> // CHECK-7-NEXT: </VersionBlock> -// CHECK-7-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4> +// CHECK-7-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4> // CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> -// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' -// CHECK-7-NEXT: <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}' -// CHECK-7-NEXT: <TagType abbrevid=8 op0=2/> -// CHECK-7-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <Name abbrevid=4 op0=1/> blob data = 'X' -// CHECK-7-NEXT: <Access abbrevid=5 op0=3/> -// CHECK-7-NEXT: </MemberTypeBlock> -// CHECK-7-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> -// CHECK-7-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> -// CHECK-7-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' -// CHECK-7-NEXT: <Field abbrevid=7 op0=4/> -// CHECK-7-NEXT: </ReferenceBlock> -// CHECK-7-NEXT: <Name abbrevid=4 op0=1/> blob data = 'Y' -// CHECK-7-NEXT: <Access abbrevid=5 op0=3/> -// CHECK-7-NEXT: </MemberTypeBlock> +// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'F' +// CHECK-7-NEXT: <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}' +// CHECK-7-NEXT: <TagType abbrevid=8 op0=3/> +// CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'E' +// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-7-NEXT: <Field abbrevid=7 op0=2/> +// CHECK-7-NEXT: </ReferenceBlock> +// CHECK-7-NEXT: <ReferenceBlock NumWords=10 BlockCodeSize=4> +// CHECK-7-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-7-NEXT: <Name abbrevid=5 op0=1/> blob data = 'D' +// CHECK-7-NEXT: <RefType abbrevid=6 op0=2/> +// CHECK-7-NEXT: <Field abbrevid=7 op0=3/> +// CHECK-7-NEXT: </ReferenceBlock> // CHECK-7-NEXT: </RecordBlock> + +// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8 +// CHECK-8: <BLOCKINFO_BLOCK/> +// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4> +// CHECK-8-NEXT: <Version abbrevid=4 op0=2/> +// CHECK-8-NEXT: </VersionBlock> +// CHECK-8-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4> +// CHECK-8-NEXT: <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/> +// CHECK-8-NEXT: <Name abbrevid=5 op0=1/> blob data = 'A' +// CHECK-8-NEXT: <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}' +// CHECK-8-NEXT: <TagType abbrevid=8 op0=2/> +// CHECK-8-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-8-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-8-NEXT: </ReferenceBlock> +// CHECK-8-NEXT: <Name abbrevid=4 op0=1/> blob data = 'X' +// CHECK-8-NEXT: <Access abbrevid=5 op0=3/> +// CHECK-8-NEXT: </MemberTypeBlock> +// CHECK-8-NEXT: <MemberTypeBlock NumWords=8 BlockCodeSize=4> +// CHECK-8-NEXT: <ReferenceBlock NumWords=3 BlockCodeSize=4> +// CHECK-8-NEXT: <Name abbrevid=5 op0=3/> blob data = 'int' +// CHECK-8-NEXT: <Field abbrevid=7 op0=4/> +// CHECK-8-NEXT: </ReferenceBlock> +// CHECK-8-NEXT: <Name abbrevid=4 op0=1/> blob data = 'Y' +// CHECK-8-NEXT: <Access abbrevid=5 op0=3/> +// CHECK-8-NEXT: </MemberTypeBlock> +// CHECK-8-NEXT: </RecordBlock> Index: clang-tools-extra/clang-doc/Serialize.cpp =================================================================== --- clang-tools-extra/clang-doc/Serialize.cpp +++ clang-tools-extra/clang-doc/Serialize.cpp @@ -244,6 +244,9 @@ } static void parseBases(RecordInfo &I, const CXXRecordDecl *D) { + // Don't parse bases if this isn't a definition. + if (!D->isThisDeclarationADefinition()) + return; for (const CXXBaseSpecifier &B : D->bases()) { if (B.isVirtual()) continue;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits