1 // RUN: rm -rf %t
2 // RUN: mkdir %t
3 // RUN: echo "" > %t/compile_flags.txt
4 // RUN: cp "%s" "%t/test.cpp"
5 // RUN: clang-doc --doxygen --public --executor=standalone -p %t %t/test.cpp -output=%t/docs
6 // RUN: cat %t/docs/GlobalNamespace/Record.yaml | FileCheck %s --check-prefix=CHECK
7 // RUN: rm -rf %t
8
9 class Record {
10 private:
11 void function_private();
12
13 public:
14 void function_public();
15 };
16
function_private()17 void Record::function_private() {}
18
function_public()19 void Record::function_public() {}
20
21 // CHECK: ---
22 // 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]}}'
23 // CHECK-NEXT: Name: 'Record'
24 // CHECK-NEXT: Path: 'GlobalNamespace'
25 // CHECK-NEXT: Namespace:
26 // CHECK-NEXT: - Type: Namespace
27 // CHECK-NEXT: Name: 'GlobalNamespace'
28 // CHECK-NEXT: DefLocation:
29 // CHECK-NEXT: LineNumber: [[@LINE-20]]
30 // CHECK-NEXT: Filename: '{{.*}}'
31 // CHECK-NEXT: TagType: Class
32 // CHECK-NEXT: ChildFunctions:
33 // 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]}}'
34 // CHECK-NEXT: Name: 'function_public'
35 // CHECK-NEXT: Namespace:
36 // CHECK-NEXT: - Type: Record
37 // CHECK-NEXT: Name: 'Record'
38 // 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]}}'
39 // CHECK-NEXT: - Type: Namespace
40 // CHECK-NEXT: Name: 'GlobalNamespace'
41 // CHECK-NEXT: DefLocation:
42 // CHECK-NEXT: LineNumber: [[@LINE-23]]
43 // CHECK-NEXT: Filename: '{{.*}}'
44 // CHECK-NEXT: Location:
45 // CHECK-NEXT: - LineNumber: [[@LINE-31]]
46 // CHECK-NEXT: Filename: '{{.*}}'
47 // CHECK-NEXT: IsMethod: true
48 // CHECK-NEXT: Parent:
49 // CHECK-NEXT: Type: Record
50 // CHECK-NEXT: Name: 'Record'
51 // 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]}}'
52 // CHECK-NEXT: ReturnType:
53 // CHECK-NEXT: Type:
54 // CHECK-NEXT: Name: 'void'
55 // CHECK-NEXT: Access: Public
56 // CHECK-NEXT: ...
57