forked from OSchip/llvm-project
251 lines
8.8 KiB
C++
251 lines
8.8 KiB
C++
// 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/A.yaml | FileCheck %s --check-prefix=CHECK-A
|
|
// RUN: cat %t/docs/Bc.yaml | FileCheck %s --check-prefix=CHECK-BC
|
|
// RUN: cat %t/docs/B.yaml | FileCheck %s --check-prefix=CHECK-B
|
|
// RUN: cat %t/docs/C.yaml | FileCheck %s --check-prefix=CHECK-C
|
|
// RUN: cat %t/docs/D.yaml | FileCheck %s --check-prefix=CHECK-D
|
|
// RUN: cat %t/docs/E.yaml | FileCheck %s --check-prefix=CHECK-E
|
|
// RUN: cat %t/docs/E/ProtectedMethod.yaml | FileCheck %s --check-prefix=CHECK-EPM
|
|
// RUN: cat %t/docs/E/E.yaml | FileCheck %s --check-prefix=CHECK-ECON
|
|
// RUN: cat %t/docs/E/'~E.yaml' | FileCheck %s --check-prefix=CHECK-EDES
|
|
// RUN: cat %t/docs/F.yaml | FileCheck %s --check-prefix=CHECK-F
|
|
// RUN: cat %t/docs/X.yaml | FileCheck %s --check-prefix=CHECK-X
|
|
// RUN: cat %t/docs/X/Y.yaml | FileCheck %s --check-prefix=CHECK-Y
|
|
// RUN: cat %t/docs/H.yaml | FileCheck %s --check-prefix=CHECK-H
|
|
// RUN: cat %t/docs/H/I.yaml | FileCheck %s --check-prefix=CHECK-I
|
|
|
|
union A { int X; int Y; };
|
|
|
|
// CHECK-A: ---
|
|
// CHECK-A-NEXT: USR: 'ACE81AFA6627B4CEF2B456FB6E1252925674AF7E'
|
|
// CHECK-A-NEXT: Name: 'A'
|
|
// CHECK-A-NEXT: DefLocation:
|
|
// CHECK-A-NEXT: LineNumber: 21
|
|
// CHECK-A-NEXT: Filename: '{{.*}}'
|
|
// CHECK-A-NEXT: TagType: Union
|
|
// CHECK-A-NEXT: Members:
|
|
// CHECK-A-NEXT: - Type:
|
|
// CHECK-A-NEXT: Name: 'int'
|
|
// CHECK-A-NEXT: Name: 'X'
|
|
// CHECK-A-NEXT: - Type:
|
|
// CHECK-A-NEXT: Name: 'int'
|
|
// CHECK-A-NEXT: Name: 'Y'
|
|
// CHECK-A-NEXT: ...
|
|
|
|
|
|
enum B { X, Y };
|
|
|
|
// CHECK-B: ---
|
|
// CHECK-B-NEXT: USR: 'FC07BD34D5E77782C263FA944447929EA8753740'
|
|
// CHECK-B-NEXT: Name: 'B'
|
|
// CHECK-B-NEXT: DefLocation:
|
|
// CHECK-B-NEXT: LineNumber: 40
|
|
// CHECK-B-NEXT: Filename: '{{.*}}'
|
|
// CHECK-B-NEXT: Members:
|
|
// CHECK-B-NEXT: - 'X'
|
|
// CHECK-B-NEXT: - 'Y'
|
|
// CHECK-B-NEXT: ...
|
|
|
|
enum class Bc { A, B };
|
|
|
|
// CHECK-BC: ---
|
|
// CHECK-BC-NEXT: USR: '1E3438A08BA22025C0B46289FF0686F92C8924C5'
|
|
// CHECK-BC-NEXT: Name: 'Bc'
|
|
// CHECK-BC-NEXT: DefLocation:
|
|
// CHECK-BC-NEXT: LineNumber: 53
|
|
// CHECK-BC-NEXT: Filename: '{{.*}}'
|
|
// CHECK-BC-NEXT: Scoped: true
|
|
// CHECK-BC-NEXT: Members:
|
|
// CHECK-BC-NEXT: - 'A'
|
|
// CHECK-BC-NEXT: - 'B'
|
|
// CHECK-BC-NEXT: ...
|
|
|
|
struct C { int i; };
|
|
|
|
// CHECK-C: ---
|
|
// CHECK-C-NEXT: USR: '06B5F6A19BA9F6A832E127C9968282B94619B210'
|
|
// CHECK-C-NEXT: Name: 'C'
|
|
// CHECK-C-NEXT: DefLocation:
|
|
// CHECK-C-NEXT: LineNumber: 67
|
|
// CHECK-C-NEXT: Filename: '{{.*}}'
|
|
// CHECK-C-NEXT: Members:
|
|
// CHECK-C-NEXT: - Type:
|
|
// CHECK-C-NEXT: Name: 'int'
|
|
// CHECK-C-NEXT: Name: 'i'
|
|
// CHECK-C-NEXT: ...
|
|
|
|
class D {};
|
|
|
|
// CHECK-D: ---
|
|
// CHECK-D-NEXT: USR: '0921737541208B8FA9BB42B60F78AC1D779AA054'
|
|
// CHECK-D-NEXT: Name: 'D'
|
|
// CHECK-D-NEXT: DefLocation:
|
|
// CHECK-D-NEXT: LineNumber: 81
|
|
// CHECK-D-NEXT: Filename: '{{.*}}'
|
|
// CHECK-D-NEXT: TagType: Class
|
|
// CHECK-D-NEXT: ...
|
|
|
|
class E {
|
|
public:
|
|
E() {}
|
|
|
|
// CHECK-ECON: ---
|
|
// CHECK-ECON-NEXT: USR: 'DEB4AC1CD9253CD9EF7FBE6BCAC506D77984ABD4'
|
|
// CHECK-ECON-NEXT: Name: 'E'
|
|
// CHECK-ECON-NEXT: Namespace:
|
|
// CHECK-ECON-NEXT: - Type: Record
|
|
// CHECK-ECON-NEXT: Name: 'E'
|
|
// CHECK-ECON-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1'
|
|
// CHECK-ECON-NEXT: DefLocation:
|
|
// CHECK-ECON-NEXT: LineNumber: 94
|
|
// CHECK-ECON-NEXT: Filename: '{{.*}}'
|
|
// CHECK-ECON-NEXT: IsMethod: true
|
|
// CHECK-ECON-NEXT: Parent:
|
|
// CHECK-ECON-NEXT: Type: Record
|
|
// CHECK-ECON-NEXT: Name: 'E'
|
|
// CHECK-ECON-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1'
|
|
// CHECK-ECON-NEXT: ReturnType:
|
|
// CHECK-ECON-NEXT: Type:
|
|
// CHECK-ECON-NEXT: Name: 'void'
|
|
// CHECK-ECON-NEXT: ...
|
|
|
|
~E() {}
|
|
|
|
// CHECK-EDES: ---
|
|
// CHECK-EDES-NEXT: USR: 'BD2BDEBD423F80BACCEA75DE6D6622D355FC2D17'
|
|
// CHECK-EDES-NEXT: Name: '~E'
|
|
// CHECK-EDES-NEXT: Namespace:
|
|
// CHECK-EDES-NEXT: - Type: Record
|
|
// CHECK-EDES-NEXT: Name: 'E'
|
|
// CHECK-EDES-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1'
|
|
// CHECK-EDES-NEXT: DefLocation:
|
|
// CHECK-EDES-NEXT: LineNumber: 116
|
|
// CHECK-EDES-NEXT: Filename: '{{.*}}'
|
|
// CHECK-EDES-NEXT: IsMethod: true
|
|
// CHECK-EDES-NEXT: Parent:
|
|
// CHECK-EDES-NEXT: Type: Record
|
|
// CHECK-EDES-NEXT: Name: 'E'
|
|
// CHECK-EDES-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1'
|
|
// CHECK-EDES-NEXT: ReturnType:
|
|
// CHECK-EDES-NEXT: Type:
|
|
// CHECK-EDES-NEXT: Name: 'void'
|
|
// CHECK-EDES-NEXT: ...
|
|
|
|
|
|
protected:
|
|
void ProtectedMethod();
|
|
};
|
|
|
|
// CHECK-E: ---
|
|
// CHECK-E-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1'
|
|
// CHECK-E-NEXT: Name: 'E'
|
|
// CHECK-E-NEXT: DefLocation:
|
|
// CHECK-E-NEXT: LineNumber: 92
|
|
// CHECK-E-NEXT: Filename: '{{.*}}'
|
|
// CHECK-E-NEXT: TagType: Class
|
|
// CHECK-E-NEXT: ...
|
|
|
|
void E::ProtectedMethod() {}
|
|
|
|
// CHECK-EPM: ---
|
|
// CHECK-EPM-NEXT: USR: '5093D428CDC62096A67547BA52566E4FB9404EEE'
|
|
// CHECK-EPM-NEXT: Name: 'ProtectedMethod'
|
|
// CHECK-EPM-NEXT: Namespace:
|
|
// CHECK-EPM-NEXT: - Type: Record
|
|
// CHECK-EPM-NEXT: Name: 'E'
|
|
// CHECK-EPM-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1'
|
|
// CHECK-EPM-NEXT: DefLocation:
|
|
// CHECK-EPM-NEXT: LineNumber: 152
|
|
// CHECK-EPM-NEXT: Filename: '{{.*}}'
|
|
// CHECK-EPM-NEXT: Location:
|
|
// CHECK-EPM-NEXT: - LineNumber: 140
|
|
// CHECK-EPM-NEXT: Filename: '{{.*}}'
|
|
// CHECK-EPM-NEXT: IsMethod: true
|
|
// CHECK-EPM-NEXT: Parent:
|
|
// CHECK-EPM-NEXT: Type: Record
|
|
// CHECK-EPM-NEXT: Name: 'E'
|
|
// CHECK-EPM-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1'
|
|
// CHECK-EPM-NEXT: ReturnType:
|
|
// CHECK-EPM-NEXT: Type:
|
|
// CHECK-EPM-NEXT: Name: 'void'
|
|
// CHECK-EPM-NEXT: ...
|
|
|
|
class F : virtual private D, public E {};
|
|
|
|
// CHECK-F: ---
|
|
// CHECK-F-NEXT: USR: 'E3B54702FABFF4037025BA194FC27C47006330B5'
|
|
// CHECK-F-NEXT: Name: 'F'
|
|
// CHECK-F-NEXT: DefLocation:
|
|
// CHECK-F-NEXT: LineNumber: 177
|
|
// CHECK-F-NEXT: Filename: '{{.*}}'
|
|
// CHECK-F-NEXT: TagType: Class
|
|
// CHECK-F-NEXT: Parents:
|
|
// CHECK-F-NEXT: - Type: Record
|
|
// CHECK-F-NEXT: Name: 'E'
|
|
// CHECK-F-NEXT: USR: '289584A8E0FF4178A794622A547AA622503967A1'
|
|
// CHECK-F-NEXT: VirtualParents:
|
|
// CHECK-F-NEXT: - Type: Record
|
|
// CHECK-F-NEXT: Name: 'D'
|
|
// CHECK-F-NEXT: USR: '0921737541208B8FA9BB42B60F78AC1D779AA054'
|
|
// CHECK-F-NEXT: ...
|
|
|
|
class X {
|
|
class Y {};
|
|
|
|
// CHECK-Y: ---
|
|
// CHECK-Y-NEXT: USR: '641AB4A3D36399954ACDE29C7A8833032BF40472'
|
|
// CHECK-Y-NEXT: Name: 'Y'
|
|
// CHECK-Y-NEXT: Namespace:
|
|
// CHECK-Y-NEXT: - Type: Record
|
|
// CHECK-Y-NEXT: Name: 'X'
|
|
// CHECK-Y-NEXT: USR: 'CA7C7935730B5EACD25F080E9C83FA087CCDC75E'
|
|
// CHECK-Y-NEXT: DefLocation:
|
|
// CHECK-Y-NEXT: LineNumber: 197
|
|
// CHECK-Y-NEXT: Filename: '{{.*}}'
|
|
// CHECK-Y-NEXT: TagType: Class
|
|
// CHECK-Y-NEXT: ...
|
|
|
|
};
|
|
|
|
// CHECK-X: ---
|
|
// CHECK-X-NEXT: USR: 'CA7C7935730B5EACD25F080E9C83FA087CCDC75E'
|
|
// CHECK-X-NEXT: Name: 'X'
|
|
// CHECK-X-NEXT: DefLocation:
|
|
// CHECK-X-NEXT: LineNumber: 196
|
|
// CHECK-X-NEXT: Filename: '{{.*}}'
|
|
// CHECK-X-NEXT: TagType: Class
|
|
// CHECK-X-NEXT: ...
|
|
|
|
void H() {
|
|
class I {};
|
|
|
|
// CHECK-I: ---
|
|
// CHECK-I-NEXT: USR: '{{.*}}'
|
|
// CHECK-I-NEXT: Name: 'I'
|
|
// CHECK-I-NEXT: Namespace:
|
|
// CHECK-I-NEXT: - Type: Function
|
|
// CHECK-I-NEXT: Name: 'H'
|
|
// CHECK-I-NEXT: USR: 'B6AC4C5C9F2EA3F2B3ECE1A33D349F4EE502B24E'
|
|
// CHECK-I-NEXT: DefLocation:
|
|
// CHECK-I-NEXT: LineNumber: 224
|
|
// CHECK-I-NEXT: Filename: 'test'
|
|
// CHECK-I-NEXT: TagType: Class
|
|
// CHECK-I-NEXT: ...
|
|
|
|
}
|
|
|
|
// CHECK-H: ---
|
|
// CHECK-H-NEXT: USR: 'B6AC4C5C9F2EA3F2B3ECE1A33D349F4EE502B24E'
|
|
// CHECK-H-NEXT: Name: 'H'
|
|
// CHECK-H-NEXT: DefLocation:
|
|
// CHECK-H-NEXT: LineNumber: 223
|
|
// CHECK-H-NEXT: Filename: 'test'
|
|
// CHECK-H-NEXT: ReturnType:
|
|
// CHECK-H-NEXT: Type:
|
|
// CHECK-H-NEXT: Name: 'void'
|
|
// CHECK-H-NEXT: ...
|