126 lines
4.0 KiB
C++
126 lines
4.0 KiB
C++
// RUN: rm -rf %t && mkdir -p %t
|
|
// RUN: clang-doc --output=%t --format=json --executor=standalone %s
|
|
// RUN: FileCheck %s < %t/GlobalNamespace/index.json
|
|
|
|
class MyClass {};
|
|
|
|
void myFunction(int Param);
|
|
|
|
namespace NestedNamespace {
|
|
} // namespace NestedNamespace
|
|
|
|
// FIXME: Global variables are not mapped or serialized.
|
|
static int Global;
|
|
|
|
enum Color {
|
|
RED,
|
|
GREEN,
|
|
BLUE = 5
|
|
};
|
|
|
|
typedef int MyTypedef;
|
|
|
|
// CHECK: {
|
|
// CHECK-NEXT: "Enums": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "Location": {
|
|
// CHECK-NEXT: "Filename": "{{.*}}namespace.cpp",
|
|
// CHECK-NEXT: "LineNumber": 15
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "Members": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "Name": "RED",
|
|
// CHECK-NEXT: "Value": "0"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "Name": "GREEN",
|
|
// CHECK-NEXT: "Value": "1"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "Name": "BLUE",
|
|
// CHECK-NEXT: "ValueExpr": "5"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "Name": "Color",
|
|
// CHECK-NEXT: "Scoped": false,
|
|
// CHECK-NEXT: "USR": "{{[0-9A-F]*}}"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "Functions": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "IsStatic": false,
|
|
// CHECK-NEXT: "Name": "myFunction",
|
|
// CHECK-NEXT: "Params": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "Name": "Param",
|
|
// CHECK-NEXT: "Type": "int"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "ReturnType": {
|
|
// CHECK-NEXT: "IsBuiltIn": false,
|
|
// CHECK-NEXT: "IsTemplate": false,
|
|
// CHECK-NEXT: "Name": "void",
|
|
// CHECK-NEXT: "QualName": "void",
|
|
// CHECK-NEXT: "USR": "0000000000000000000000000000000000000000"
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "USR": "{{[0-9A-F]*}}"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "Name": "",
|
|
// CHECK-NEXT: "Namespaces": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "Name": "NestedNamespace",
|
|
// CHECK-NEXT: "Path": "",
|
|
// CHECK-NEXT: "QualName": "NestedNamespace",
|
|
// CHECK-NEXT: "USR": "{{[0-9A-F]*}}"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "Records": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "Name": "MyClass",
|
|
// CHECK-NEXT: "Path": "GlobalNamespace",
|
|
// CHECK-NEXT: "QualName": "MyClass",
|
|
// CHECK-NEXT: "USR": "{{[0-9A-F]*}}"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "Typedefs": [
|
|
// CHECK-NEXT: {
|
|
// CHECK-NEXT: "IsUsing": false,
|
|
// CHECK-NEXT: "Location": {
|
|
// CHECK-NEXT: "Filename": "{{.*}}namespace.cpp",
|
|
// CHECK-NEXT: "LineNumber": 21
|
|
// CHECK-NEXT: },
|
|
// CHECK-NEXT: "Name": "MyTypedef",
|
|
// CHECK-NEXT: "TypeDeclaration": "",
|
|
// CHECK-NEXT: "USR": "{{[0-9A-F]*}}",
|
|
// CHECK-NEXT: "Underlying": {
|
|
// CHECK-NEXT: "IsBuiltIn": false,
|
|
// CHECK-NEXT: "IsTemplate": false,
|
|
// CHECK-NEXT: "Name": "int",
|
|
// CHECK-NEXT: "QualName": "int",
|
|
// CHECK-NEXT: "USR": "0000000000000000000000000000000000000000"
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ],
|
|
// CHECK-NEXT: "USR": "0000000000000000000000000000000000000000"
|
|
// CHECK-NOT: "Variables": [
|
|
// CHECK-NOT: {
|
|
// CHECK-NOT: "IsStatic": true,
|
|
// CHECK-NOT: "Location": {
|
|
// CHECK-NOT: "Filename": "{{.*}}namespace.cpp",
|
|
// CHECK-NOT: "LineNumber": 13
|
|
// CHECK-NOT: },
|
|
// CHECK-NOT: "Name": "Global",
|
|
// CHECK-NOT: "Type": {
|
|
// COM: FIXME: IsBuiltIn emits as its default value
|
|
// CHECK-NOT: "IsBuiltIn": false,
|
|
// CHECK-NOT: "IsTemplate": false,
|
|
// CHECK-NOT: "Name": "int",
|
|
// CHECK-NOT: "QualName": "int",
|
|
// CHECK-NOT: "USR": "0000000000000000000000000000000000000000"
|
|
// CHECK-NOT: },
|
|
// CHECK-NOT: "USR": "{{[0-9A-F]*}}"
|
|
// CHECK-NOT: }
|
|
// CHECK-NOT: ]
|
|
// CHECK-NEXT: }
|