1// RUN: rm -rf %t && mkdir -p %t
2// RUN: clang-doc --output=%t --format=json --executor=standalone %s
3// RUN: FileCheck %s < %t/GlobalNamespace/MyClass.json
4
5struct MyClass {
6 template<class T> T methodTemplate(T param) {
7 }
8};
9
10// CHECK: "PublicFunctions": [
11// CHECK-NEXT: {
12// CHECK-NEXT: "IsStatic": false,
13// CHECK-NEXT: "Location": {
14// CHECK-NEXT: "Filename": "{{.*}}method-template.cpp",
15// CHECK-NEXT: "LineNumber": 6
16// CHECK-NEXT: },
17// CHECK-NEXT: "Name": "methodTemplate",
18// CHECK-NEXT: "Namespace": [
19// CHECK-NEXT: "MyClass",
20// CHECK-NEXT: "GlobalNamespace"
21// CHECK-NEXT: ],
22// CHECK-NEXT: "Params": [
23// CHECK-NEXT: {
24// CHECK-NEXT: "Name": "param",
25// CHECK-NEXT: "Type": "T"
26// CHECK-NEXT: }
27// CHECK-NEXT: ],
28// CHECK-NEXT: "ReturnType": {
29// CHECK-NEXT: "IsBuiltIn": false,
30// CHECK-NEXT: "IsTemplate": false,
31// CHECK-NEXT: "Name": "T",
32// CHECK-NEXT: "QualName": "T",
33// CHECK-NEXT: "USR": "0000000000000000000000000000000000000000"
34// CHECK-NEXT: },
35// CHECK-NEXT: "Template": {
36// CHECK-NEXT: "Parameters": [
37// CHECK-NEXT: "class T"
38// CHECK-NEXT: ]
39// CHECK-NEXT: },
40// CHECK-NEXT: "USR": "{{[0-9A-F]*}}"
41

source code of clang-tools-extra/test/clang-doc/json/method-template.cpp