brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.1 KiB · 1995a6a Raw
392 lines · c
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 -extract-api --pretty-sgf -target arm64-apple-macosx \6// RUN: %t/input.h -o %t/output.json | FileCheck -allow-empty %s7 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// CHECK-NOT: error:14// CHECK-NOT: warning:15 16//--- input.h17/// Color in RGBA18struct Color {19  unsigned Red;20  unsigned Green;21  unsigned Blue;22  /// Alpha channel for transparency23  unsigned Alpha;24};25 26//--- reference.output.json.in27{28  "metadata": {29    "formatVersion": {30      "major": 0,31      "minor": 5,32      "patch": 333    },34    "generator": "?"35  },36  "module": {37    "name": "",38    "platform": {39      "architecture": "arm64",40      "operatingSystem": {41        "minimumVersion": {42          "major": 11,43          "minor": 0,44          "patch": 045        },46        "name": "macosx"47      },48      "vendor": "apple"49    }50  },51  "relationships": [52    {53      "kind": "memberOf",54      "source": "c:@S@Color@FI@Red",55      "target": "c:@S@Color",56      "targetFallback": "Color"57    },58    {59      "kind": "memberOf",60      "source": "c:@S@Color@FI@Green",61      "target": "c:@S@Color",62      "targetFallback": "Color"63    },64    {65      "kind": "memberOf",66      "source": "c:@S@Color@FI@Blue",67      "target": "c:@S@Color",68      "targetFallback": "Color"69    },70    {71      "kind": "memberOf",72      "source": "c:@S@Color@FI@Alpha",73      "target": "c:@S@Color",74      "targetFallback": "Color"75    }76  ],77  "symbols": [78    {79      "accessLevel": "public",80      "declarationFragments": [81        {82          "kind": "keyword",83          "spelling": "struct"84        },85        {86          "kind": "text",87          "spelling": " "88        },89        {90          "kind": "identifier",91          "spelling": "Color"92        },93        {94          "kind": "text",95          "spelling": ";"96        }97      ],98      "docComment": {99        "lines": [100          {101            "range": {102              "end": {103                "character": 17,104                "line": 0105              },106              "start": {107                "character": 4,108                "line": 0109              }110            },111            "text": "Color in RGBA"112          }113        ]114      },115      "identifier": {116        "interfaceLanguage": "c",117        "precise": "c:@S@Color"118      },119      "kind": {120        "displayName": "Structure",121        "identifier": "c.struct"122      },123      "location": {124        "position": {125          "character": 7,126          "line": 1127        },128        "uri": "file://INPUT_DIR/input.h"129      },130      "names": {131        "navigator": [132          {133            "kind": "identifier",134            "spelling": "Color"135          }136        ],137        "subHeading": [138          {139            "kind": "identifier",140            "spelling": "Color"141          }142        ],143        "title": "Color"144      },145      "pathComponents": [146        "Color"147      ]148    },149    {150      "accessLevel": "public",151      "declarationFragments": [152        {153          "kind": "typeIdentifier",154          "preciseIdentifier": "c:i",155          "spelling": "unsigned int"156        },157        {158          "kind": "text",159          "spelling": " "160        },161        {162          "kind": "identifier",163          "spelling": "Red"164        },165        {166          "kind": "text",167          "spelling": ";"168        }169      ],170      "identifier": {171        "interfaceLanguage": "c",172        "precise": "c:@S@Color@FI@Red"173      },174      "kind": {175        "displayName": "Instance Property",176        "identifier": "c.property"177      },178      "location": {179        "position": {180          "character": 11,181          "line": 2182        },183        "uri": "file://INPUT_DIR/input.h"184      },185      "names": {186        "navigator": [187          {188            "kind": "identifier",189            "spelling": "Red"190          }191        ],192        "subHeading": [193          {194            "kind": "identifier",195            "spelling": "Red"196          }197        ],198        "title": "Red"199      },200      "pathComponents": [201        "Color",202        "Red"203      ]204    },205    {206      "accessLevel": "public",207      "declarationFragments": [208        {209          "kind": "typeIdentifier",210          "preciseIdentifier": "c:i",211          "spelling": "unsigned int"212        },213        {214          "kind": "text",215          "spelling": " "216        },217        {218          "kind": "identifier",219          "spelling": "Green"220        },221        {222          "kind": "text",223          "spelling": ";"224        }225      ],226      "identifier": {227        "interfaceLanguage": "c",228        "precise": "c:@S@Color@FI@Green"229      },230      "kind": {231        "displayName": "Instance Property",232        "identifier": "c.property"233      },234      "location": {235        "position": {236          "character": 11,237          "line": 3238        },239        "uri": "file://INPUT_DIR/input.h"240      },241      "names": {242        "navigator": [243          {244            "kind": "identifier",245            "spelling": "Green"246          }247        ],248        "subHeading": [249          {250            "kind": "identifier",251            "spelling": "Green"252          }253        ],254        "title": "Green"255      },256      "pathComponents": [257        "Color",258        "Green"259      ]260    },261    {262      "accessLevel": "public",263      "declarationFragments": [264        {265          "kind": "typeIdentifier",266          "preciseIdentifier": "c:i",267          "spelling": "unsigned int"268        },269        {270          "kind": "text",271          "spelling": " "272        },273        {274          "kind": "identifier",275          "spelling": "Blue"276        },277        {278          "kind": "text",279          "spelling": ";"280        }281      ],282      "identifier": {283        "interfaceLanguage": "c",284        "precise": "c:@S@Color@FI@Blue"285      },286      "kind": {287        "displayName": "Instance Property",288        "identifier": "c.property"289      },290      "location": {291        "position": {292          "character": 11,293          "line": 4294        },295        "uri": "file://INPUT_DIR/input.h"296      },297      "names": {298        "navigator": [299          {300            "kind": "identifier",301            "spelling": "Blue"302          }303        ],304        "subHeading": [305          {306            "kind": "identifier",307            "spelling": "Blue"308          }309        ],310        "title": "Blue"311      },312      "pathComponents": [313        "Color",314        "Blue"315      ]316    },317    {318      "accessLevel": "public",319      "declarationFragments": [320        {321          "kind": "typeIdentifier",322          "preciseIdentifier": "c:i",323          "spelling": "unsigned int"324        },325        {326          "kind": "text",327          "spelling": " "328        },329        {330          "kind": "identifier",331          "spelling": "Alpha"332        },333        {334          "kind": "text",335          "spelling": ";"336        }337      ],338      "docComment": {339        "lines": [340          {341            "range": {342              "end": {343                "character": 36,344                "line": 5345              },346              "start": {347                "character": 6,348                "line": 5349              }350            },351            "text": "Alpha channel for transparency"352          }353        ]354      },355      "identifier": {356        "interfaceLanguage": "c",357        "precise": "c:@S@Color@FI@Alpha"358      },359      "kind": {360        "displayName": "Instance Property",361        "identifier": "c.property"362      },363      "location": {364        "position": {365          "character": 11,366          "line": 6367        },368        "uri": "file://INPUT_DIR/input.h"369      },370      "names": {371        "navigator": [372          {373            "kind": "identifier",374            "spelling": "Alpha"375          }376        ],377        "subHeading": [378          {379            "kind": "identifier",380            "spelling": "Alpha"381          }382        ],383        "title": "Alpha"384      },385      "pathComponents": [386        "Color",387        "Alpha"388      ]389    }390  ]391}392