brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · 5f00564 Raw
141 lines · cpp
1// RUN: rm -rf %t2// RUN: split-file %s %t3// RUN: sed -e "s@INPUT_DIR@%{/t:regex_replacement}@g" \4// RUN: %t/reference.output.json.in >> %t/reference.output.json5// RUN: %clang_cc1 -extract-api --pretty-sgf -triple arm64-apple-macosx \6// RUN:   -x c++-header %t/input.h -o %t/output.json -verify7 8// Generator version is not consistent across test runs, normalize it.9// RUN: sed -e "s@\"generator\": \".*\"@\"generator\": \"?\"@g" \10// RUN: %t/output.json >> %t/output-normalized.json11// RUN: diff %t/reference.output.json %t/output-normalized.json12 13//--- input.h14template<typename T> class Foo : public T {};15 16/// expected-no-diagnostics17 18//--- reference.output.json.in19{20  "metadata": {21    "formatVersion": {22      "major": 0,23      "minor": 5,24      "patch": 325    },26    "generator": "?"27  },28  "module": {29    "name": "",30    "platform": {31      "architecture": "arm64",32      "operatingSystem": {33        "minimumVersion": {34          "major": 11,35          "minor": 0,36          "patch": 037        },38        "name": "macosx"39      },40      "vendor": "apple"41    }42  },43  "relationships": [44    {45      "kind": "inheritsFrom",46      "source": "c:@ST>1#T@Foo",47      "target": "c:input.h@9",48      "targetFallback": "T"49    }50  ],51  "symbols": [52    {53      "accessLevel": "public",54      "declarationFragments": [55        {56          "kind": "keyword",57          "spelling": "template"58        },59        {60          "kind": "text",61          "spelling": " <"62        },63        {64          "kind": "keyword",65          "spelling": "typename"66        },67        {68          "kind": "text",69          "spelling": " "70        },71        {72          "kind": "genericParameter",73          "spelling": "T"74        },75        {76          "kind": "text",77          "spelling": "> "78        },79        {80          "kind": "keyword",81          "spelling": "class"82        },83        {84          "kind": "text",85          "spelling": " "86        },87        {88          "kind": "identifier",89          "spelling": "Foo"90        },91        {92          "kind": "text",93          "spelling": ";"94        }95      ],96      "identifier": {97        "interfaceLanguage": "c++",98        "precise": "c:@ST>1#T@Foo"99      },100      "kind": {101        "displayName": "Class",102        "identifier": "c++.class"103      },104      "location": {105        "position": {106          "character": 27,107          "line": 0108        },109        "uri": "file://INPUT_DIR/input.h"110      },111      "names": {112        "navigator": [113          {114            "kind": "identifier",115            "spelling": "Foo"116          }117        ],118        "subHeading": [119          {120            "kind": "identifier",121            "spelling": "Foo"122          }123        ],124        "title": "Foo"125      },126      "pathComponents": [127        "Foo"128      ],129      "swiftGenerics": {130        "parameters": [131          {132            "depth": 0,133            "index": 0,134            "name": "T"135          }136        ]137      }138    }139  ]140}141