brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 973a9de Raw
207 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.h14class Foo {15  template<typename T> static T Bar;16};17 18/// expected-no-diagnostics19 20//--- reference.output.json.in21{22  "metadata": {23    "formatVersion": {24      "major": 0,25      "minor": 5,26      "patch": 327    },28    "generator": "?"29  },30  "module": {31    "name": "",32    "platform": {33      "architecture": "arm64",34      "operatingSystem": {35        "minimumVersion": {36          "major": 11,37          "minor": 0,38          "patch": 039        },40        "name": "macosx"41      },42      "vendor": "apple"43    }44  },45  "relationships": [46    {47      "kind": "memberOf",48      "source": "c:@S@Foo@Bar",49      "target": "c:@S@Foo",50      "targetFallback": "Foo"51    }52  ],53  "symbols": [54    {55      "accessLevel": "public",56      "declarationFragments": [57        {58          "kind": "keyword",59          "spelling": "class"60        },61        {62          "kind": "text",63          "spelling": " "64        },65        {66          "kind": "identifier",67          "spelling": "Foo"68        },69        {70          "kind": "text",71          "spelling": ";"72        }73      ],74      "identifier": {75        "interfaceLanguage": "c++",76        "precise": "c:@S@Foo"77      },78      "kind": {79        "displayName": "Class",80        "identifier": "c++.class"81      },82      "location": {83        "position": {84          "character": 6,85          "line": 086        },87        "uri": "file://INPUT_DIR/input.h"88      },89      "names": {90        "navigator": [91          {92            "kind": "identifier",93            "spelling": "Foo"94          }95        ],96        "subHeading": [97          {98            "kind": "identifier",99            "spelling": "Foo"100          }101        ],102        "title": "Foo"103      },104      "pathComponents": [105        "Foo"106      ]107    },108    {109      "accessLevel": "private",110      "declarationFragments": [111        {112          "kind": "keyword",113          "spelling": "template"114        },115        {116          "kind": "text",117          "spelling": " <"118        },119        {120          "kind": "keyword",121          "spelling": "typename"122        },123        {124          "kind": "text",125          "spelling": " "126        },127        {128          "kind": "genericParameter",129          "spelling": "T"130        },131        {132          "kind": "text",133          "spelling": "> "134        },135        {136          "kind": "keyword",137          "spelling": "static"138        },139        {140          "kind": "text",141          "spelling": " "142        },143        {144          "kind": "typeIdentifier",145          "preciseIdentifier": "c:t0.0",146          "spelling": "T"147        },148        {149          "kind": "text",150          "spelling": " "151        },152        {153          "kind": "identifier",154          "spelling": "Bar"155        },156        {157          "kind": "text",158          "spelling": ";"159        }160      ],161      "identifier": {162        "interfaceLanguage": "c++",163        "precise": "c:@S@Foo@Bar"164      },165      "kind": {166        "displayName": "Template Property",167        "identifier": "c++.property"168      },169      "location": {170        "position": {171          "character": 32,172          "line": 1173        },174        "uri": "file://INPUT_DIR/input.h"175      },176      "names": {177        "navigator": [178          {179            "kind": "identifier",180            "spelling": "Bar"181          }182        ],183        "subHeading": [184          {185            "kind": "identifier",186            "spelling": "Bar"187          }188        ],189        "title": "Bar"190      },191      "pathComponents": [192        "Foo",193        "Bar"194      ],195      "swiftGenerics": {196        "parameters": [197          {198            "depth": 0,199            "index": 0,200            "name": "T"201          }202        ]203      }204    }205  ]206}207