brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.3 KiB · f7d10c6 Raw
204 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.h14bool Foo;15 16bool IsFoo(bool Bar);17/// expected-no-diagnostics18 19//--- reference.output.json.in20{21  "metadata": {22    "formatVersion": {23      "major": 0,24      "minor": 5,25      "patch": 326    },27    "generator": "?"28  },29  "module": {30    "name": "",31    "platform": {32      "architecture": "arm64",33      "operatingSystem": {34        "minimumVersion": {35          "major": 11,36          "minor": 0,37          "patch": 038        },39        "name": "macosx"40      },41      "vendor": "apple"42    }43  },44  "relationships": [],45  "symbols": [46    {47      "accessLevel": "public",48      "declarationFragments": [49        {50          "kind": "typeIdentifier",51          "preciseIdentifier": "c:b",52          "spelling": "bool"53        },54        {55          "kind": "text",56          "spelling": " "57        },58        {59          "kind": "identifier",60          "spelling": "Foo"61        },62        {63          "kind": "text",64          "spelling": ";"65        }66      ],67      "identifier": {68        "interfaceLanguage": "c++",69        "precise": "c:@Foo"70      },71      "kind": {72        "displayName": "Global Variable",73        "identifier": "c++.var"74      },75      "location": {76        "position": {77          "character": 5,78          "line": 079        },80        "uri": "file://INPUT_DIR/input.h"81      },82      "names": {83        "navigator": [84          {85            "kind": "identifier",86            "spelling": "Foo"87          }88        ],89        "subHeading": [90          {91            "kind": "identifier",92            "spelling": "Foo"93          }94        ],95        "title": "Foo"96      },97      "pathComponents": [98        "Foo"99      ]100    },101    {102      "accessLevel": "public",103      "declarationFragments": [104        {105          "kind": "typeIdentifier",106          "preciseIdentifier": "c:b",107          "spelling": "bool"108        },109        {110          "kind": "text",111          "spelling": " "112        },113        {114          "kind": "identifier",115          "spelling": "IsFoo"116        },117        {118          "kind": "text",119          "spelling": "("120        },121        {122          "kind": "typeIdentifier",123          "preciseIdentifier": "c:b",124          "spelling": "bool"125        },126        {127          "kind": "text",128          "spelling": " "129        },130        {131          "kind": "internalParam",132          "spelling": "Bar"133        },134        {135          "kind": "text",136          "spelling": ");"137        }138      ],139      "functionSignature": {140        "parameters": [141          {142            "declarationFragments": [143              {144                "kind": "typeIdentifier",145                "preciseIdentifier": "c:b",146                "spelling": "bool"147              },148              {149                "kind": "text",150                "spelling": " "151              },152              {153                "kind": "internalParam",154                "spelling": "Bar"155              }156            ],157            "name": "Bar"158          }159        ],160        "returns": [161          {162            "kind": "typeIdentifier",163            "preciseIdentifier": "c:b",164            "spelling": "bool"165          }166        ]167      },168      "identifier": {169        "interfaceLanguage": "c++",170        "precise": "c:@F@IsFoo#b#"171      },172      "kind": {173        "displayName": "Function",174        "identifier": "c++.func"175      },176      "location": {177        "position": {178          "character": 5,179          "line": 2180        },181        "uri": "file://INPUT_DIR/input.h"182      },183      "names": {184        "navigator": [185          {186            "kind": "identifier",187            "spelling": "IsFoo"188          }189        ],190        "subHeading": [191          {192            "kind": "identifier",193            "spelling": "IsFoo"194          }195        ],196        "title": "IsFoo"197      },198      "pathComponents": [199        "IsFoo"200      ]201    }202  ]203}204