summaryrefslogtreecommitdiffstats
path: root/test/clang-doc/yaml-namespace.cpp
blob: bf22a6960fa5f5cdc6fdc7b701dc2cfe29d9e337 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// 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/A/B.yaml | FileCheck %s --check-prefix=CHECK-B
// RUN: cat %t/docs/A/f.yaml | FileCheck %s --check-prefix=CHECK-F
// RUN: cat %t/docs/A/B/E.yaml | FileCheck %s --check-prefix=CHECK-E
// RUN: cat %t/docs/A/B/func.yaml | FileCheck %s --check-prefix=CHECK-FUNC

namespace A {
  
// CHECK-A: ---
// CHECK-A-NEXT: USR:             '8D042EFFC98B373450BC6B5B90A330C25A150E9C'
// CHECK-A-NEXT: Name:            'A'
// CHECK-A-NEXT: ...


void f();

}  // namespace A

namespace A {

void f(){};

// CHECK-F: ---
// CHECK-F-NEXT: USR:             '39D3C95A5F7CE2BA4937BD7B01BAE09EBC2AD8AC'
// CHECK-F-NEXT: Name:            'f'
// CHECK-F-NEXT: Namespace:       
// CHECK-F-NEXT:   - Type:            Namespace
// CHECK-F-NEXT:     Name:            'A'
// CHECK-F-NEXT:     USR:             '8D042EFFC98B373450BC6B5B90A330C25A150E9C'
// CHECK-F-NEXT: DefLocation:     
// CHECK-F-NEXT:   LineNumber:      26
// CHECK-F-NEXT:   Filename:        '{{.*}}'
// CHECK-F-NEXT: Location:        
// CHECK-F-NEXT:   - LineNumber:      20
// CHECK-F-NEXT:     Filename:        'test'
// CHECK-F-NEXT: ReturnType:      
// CHECK-F-NEXT:   Type:            
// CHECK-F-NEXT:     Name:            'void'
// CHECK-F-NEXT: ...

namespace B {
  
// CHECK-B: ---
// CHECK-B-NEXT: USR:             'E21AF79E2A9D02554BA090D10DF39FE273F5CDB5'
// CHECK-B-NEXT: Name:            'B'
// CHECK-B-NEXT: Namespace:       
// CHECK-B-NEXT:   - Type:            Namespace
// CHECK-B-NEXT:     Name:            'A'
// CHECK-B-NEXT:     USR:             '8D042EFFC98B373450BC6B5B90A330C25A150E9C'
// CHECK-B-NEXT: ...


enum E { X };

// CHECK-E: ---
// CHECK-E-NEXT: USR:             'E9ABF7E7E2425B626723D41E76E4BC7E7A5BD775'
// CHECK-E-NEXT: Name:            'E'
// CHECK-E-NEXT: Namespace:       
// CHECK-E-NEXT:   - Type:            Namespace
// CHECK-E-NEXT:     Name:            'B'
// CHECK-E-NEXT:     USR:             'E21AF79E2A9D02554BA090D10DF39FE273F5CDB5'
// CHECK-E-NEXT:   - Type:            Namespace
// CHECK-E-NEXT:     Name:            'A'
// CHECK-E-NEXT:     USR:             '8D042EFFC98B373450BC6B5B90A330C25A150E9C'
// CHECK-E-NEXT: DefLocation:     
// CHECK-E-NEXT:   LineNumber:      58
// CHECK-E-NEXT:   Filename:        '{{.*}}'
// CHECK-E-NEXT: Members:         
// CHECK-E-NEXT:   - 'X'
// CHECK-E-NEXT: ...

E func(int i) { return X; }

// CHECK-FUNC: ---
// CHECK-FUNC-NEXT: USR:             '9A82CB33ED0FDF81EE383D31CD0957D153C5E840'
// CHECK-FUNC-NEXT: Name:            'func'
// CHECK-FUNC-NEXT: Namespace:       
// CHECK-FUNC-NEXT:   - Type:            Namespace
// CHECK-FUNC-NEXT:     Name:            'B'
// CHECK-FUNC-NEXT:     USR:             'E21AF79E2A9D02554BA090D10DF39FE273F5CDB5'
// CHECK-FUNC-NEXT:   - Type:            Namespace
// CHECK-FUNC-NEXT:     Name:            'A'
// CHECK-FUNC-NEXT:     USR:             '8D042EFFC98B373450BC6B5B90A330C25A150E9C'
// CHECK-FUNC-NEXT: DefLocation:     
// CHECK-FUNC-NEXT:   LineNumber:      77
// CHECK-FUNC-NEXT:   Filename:        '{{.*}}'
// CHECK-FUNC-NEXT: Params:          
// CHECK-FUNC-NEXT:   - Type:            
// CHECK-FUNC-NEXT:       Name:            'int'
// CHECK-FUNC-NEXT:     Name:            'i'
// CHECK-FUNC-NEXT: ReturnType:      
// CHECK-FUNC-NEXT:   Type:            
// CHECK-FUNC-NEXT:     Name:            'enum A::B::E'
// CHECK-FUNC-NEXT: ...

}  // namespace B
}  // namespace A