brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.8 KiB · fc18ecb Raw
282 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.h14void getFoo() noexcept;15 16void getBar() noexcept(true);17 18void getFooBar() noexcept(false);19/// expected-no-diagnostics20 21//--- reference.output.json.in22{23  "metadata": {24    "formatVersion": {25      "major": 0,26      "minor": 5,27      "patch": 328    },29    "generator": "?"30  },31  "module": {32    "name": "",33    "platform": {34      "architecture": "arm64",35      "operatingSystem": {36        "minimumVersion": {37          "major": 11,38          "minor": 0,39          "patch": 040        },41        "name": "macosx"42      },43      "vendor": "apple"44    }45  },46  "relationships": [],47  "symbols": [48    {49      "accessLevel": "public",50      "declarationFragments": [51        {52          "kind": "typeIdentifier",53          "preciseIdentifier": "c:v",54          "spelling": "void"55        },56        {57          "kind": "text",58          "spelling": " "59        },60        {61          "kind": "identifier",62          "spelling": "getFoo"63        },64        {65          "kind": "text",66          "spelling": "() "67        },68        {69          "kind": "keyword",70          "spelling": "noexcept"71        },72        {73          "kind": "text",74          "spelling": ";"75        }76      ],77      "functionSignature": {78        "returns": [79          {80            "kind": "typeIdentifier",81            "preciseIdentifier": "c:v",82            "spelling": "void"83          }84        ]85      },86      "identifier": {87        "interfaceLanguage": "c++",88        "precise": "c:@F@getFoo#"89      },90      "kind": {91        "displayName": "Function",92        "identifier": "c++.func"93      },94      "location": {95        "position": {96          "character": 5,97          "line": 098        },99        "uri": "file://INPUT_DIR/input.h"100      },101      "names": {102        "navigator": [103          {104            "kind": "identifier",105            "spelling": "getFoo"106          }107        ],108        "subHeading": [109          {110            "kind": "identifier",111            "spelling": "getFoo"112          }113        ],114        "title": "getFoo"115      },116      "pathComponents": [117        "getFoo"118      ]119    },120    {121      "accessLevel": "public",122      "declarationFragments": [123        {124          "kind": "typeIdentifier",125          "preciseIdentifier": "c:v",126          "spelling": "void"127        },128        {129          "kind": "text",130          "spelling": " "131        },132        {133          "kind": "identifier",134          "spelling": "getBar"135        },136        {137          "kind": "text",138          "spelling": "() "139        },140        {141          "kind": "keyword",142          "spelling": "noexcept"143        },144        {145          "kind": "text",146          "spelling": "("147        },148        {149          "kind": "keyword",150          "spelling": "true"151        },152        {153          "kind": "text",154          "spelling": ");"155        }156      ],157      "functionSignature": {158        "returns": [159          {160            "kind": "typeIdentifier",161            "preciseIdentifier": "c:v",162            "spelling": "void"163          }164        ]165      },166      "identifier": {167        "interfaceLanguage": "c++",168        "precise": "c:@F@getBar#"169      },170      "kind": {171        "displayName": "Function",172        "identifier": "c++.func"173      },174      "location": {175        "position": {176          "character": 5,177          "line": 2178        },179        "uri": "file://INPUT_DIR/input.h"180      },181      "names": {182        "navigator": [183          {184            "kind": "identifier",185            "spelling": "getBar"186          }187        ],188        "subHeading": [189          {190            "kind": "identifier",191            "spelling": "getBar"192          }193        ],194        "title": "getBar"195      },196      "pathComponents": [197        "getBar"198      ]199    },200    {201      "accessLevel": "public",202      "declarationFragments": [203        {204          "kind": "typeIdentifier",205          "preciseIdentifier": "c:v",206          "spelling": "void"207        },208        {209          "kind": "text",210          "spelling": " "211        },212        {213          "kind": "identifier",214          "spelling": "getFooBar"215        },216        {217          "kind": "text",218          "spelling": "() "219        },220        {221          "kind": "keyword",222          "spelling": "noexcept"223        },224        {225          "kind": "text",226          "spelling": "("227        },228        {229          "kind": "keyword",230          "spelling": "false"231        },232        {233          "kind": "text",234          "spelling": ");"235        }236      ],237      "functionSignature": {238        "returns": [239          {240            "kind": "typeIdentifier",241            "preciseIdentifier": "c:v",242            "spelling": "void"243          }244        ]245      },246      "identifier": {247        "interfaceLanguage": "c++",248        "precise": "c:@F@getFooBar#"249      },250      "kind": {251        "displayName": "Function",252        "identifier": "c++.func"253      },254      "location": {255        "position": {256          "character": 5,257          "line": 4258        },259        "uri": "file://INPUT_DIR/input.h"260      },261      "names": {262        "navigator": [263          {264            "kind": "identifier",265            "spelling": "getFooBar"266          }267        ],268        "subHeading": [269          {270            "kind": "identifier",271            "spelling": "getFooBar"272          }273        ],274        "title": "getFooBar"275      },276      "pathComponents": [277        "getFooBar"278      ]279    }280  ]281}282