clang: include/clang-c/Index.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16#ifndef LLVM_CLANG_C_INDEX_H

17#define LLVM_CLANG_C_INDEX_H

18

27

28

29

30

31

32

33

34

35

36#define CINDEX_VERSION_MAJOR 0

37#define CINDEX_VERSION_MINOR 64

38

39#define CINDEX_VERSION_ENCODE(major, minor) (((major)*10000) + ((minor)*1))

40

41#define CINDEX_VERSION \

42 CINDEX_VERSION_ENCODE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR)

43

44#define CINDEX_VERSION_STRINGIZE_(major, minor) #major "." #minor

45#define CINDEX_VERSION_STRINGIZE(major, minor) \

46 CINDEX_VERSION_STRINGIZE_(major, minor)

47

48#define CINDEX_VERSION_STRING \

49 CINDEX_VERSION_STRINGIZE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR)

50

51#ifndef __has_feature

52#define __has_feature(feature) 0

53#endif

54

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

81

82

83

84

85

87

88

89

90

92

93

94

95

96

98

99

100

101

102

103

104

105

107

108

109

110

111

113

114

115

116

118

119

120

121

123};

124

125

126

127

128

129

131

132

133

135

136

137

138

140

141

142

144

145

146

147

150

151

152

153

155

156

157

158

160

161

162

163

164

166

167

168

169

170

173

174

175

176

177

178

180

181

182

184

185

186

187

189

190

191

192

194

195

196

197

199

200

201

202

204

205

206

207

209

210

211

212

214

215

216

217

219

220

221

222

224

225

226

227

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

272 int displayDiagnostics);

273

274

275

276

277

278

279

281

282typedef enum {

283

284

285

286

288

289

290

292

293

294

297

298typedef enum {

299

300

301

303

304

305

306

307

308

309

310

312

313

314

315

316

317

318

319

321

322

323

324

325

329

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

354

355

356

357

358

359

361

362

363

364

366

367

368

369

371

372

373

375

376

377

379

380

381

383 unsigned : 13;

384

385

386

387

388

389

390

391

392

393

394

396

397

398

399

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

424

425

426

427

428

429

430

431

432

433

434

435

436

437

438

439

440

441

442

443

444

445

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

464

465

466

468

469

470

471

472

473

474

475

476

477

479

480

481

482

483

484

485

486

487

488

489

492

493

494

495

496

497

500

501

502

503

504

505

506

507

508

509

510

512 const char *file_name);

513

514

515

516

517

518

519

520

521

522

523

524

525

527 CXFile file, size_t *size);

528

529

530

531

532

534 CXFile file, unsigned line,

535 unsigned column);

536

537

538

539

542 unsigned offset);

543

544

545

546

547

548

549

552

553

554

555

556

557

558

559

562

563

564

565

566

568

569

570

571

572

573

574

575

576

577

579 unsigned Index);

580

581

582

583

584

585

586

589

590

591

592

593

594

595

596

597

598

599

600

601

602

605

606

607

608

609

610

611

612

613

614

615

616

617

618

619

620

621

622

623

624

625

626

627

628

629

630

631

632

633

634

635

636

637

638

639

640

641

642

643

644

645

647 CXIndex CIdx, const char *source_filename, int num_clang_command_line_args,

648 const char *const *clang_command_line_args, unsigned num_unsaved_files,

650

651

652

653

654

655

656

659

660

661

662

663

664

665

666

667

671

672

673

674

675

676

677

678

680

681

682

683

685

686

687

688

689

690

691

692

693

694

695

697

698

699

700

701

702

703

704

705

706

707

708

710

711

712

713

714

715

716

717

718

719

720

721

722

723

724

726

727

728

729

730

731

732

733

734

736

737

738

739

740

741

742

743

745

746

747

748

749

750

751

753

754

755

756

757

758

759

760

762

763

764

765

766

767

769

770

771

772

773

774

775

777

778

779

780

781

782

783

784

785

786

788

789

790

791

793

794

795

796

797

798

799

801

802

803

804

806

807

808

809

811

812

813

814

815

816

817

818

819

821

822

823

824

827

828

829

830

831

832

833

834

835

836

837

838

839

841

842

843

844

845

846

847

849 CXIndex CIdx, const char *source_filename,

850 const char *const *command_line_args, int num_command_line_args,

851 struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files,

852 unsigned options);

853

854

855

856

857

858

859

860

861

862

863

864

865

866

867

868

869

870

871

872

873

874

875

876

877

878

879

880

881

882

883

884

885

886

887

888

889

890

891

892

893

894

895

896

897

899 CXIndex CIdx, const char *source_filename,

900 const char *const *command_line_args, int num_command_line_args,

901 struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files,

903

904

905

906

907

908

910 CXIndex CIdx, const char *source_filename,

911 const char *const *command_line_args, int num_command_line_args,

912 struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files,

914

915

916

917

918

919

920

921

923

924

925

928

929

930

931

932

933

934

935

936

937

939

940

941

942

943

945

946

947

949

950

951

952

953

954

955

956

958

959

960

961

962

963

964

965

967

968

969

970

971

974

975

976

977

978

979

980

981

982

983

984

985

986

987

988

989

990

991

992

993

994

995

996

997

999 const char *FileName,

1000 unsigned options);

1001

1002

1003

1004

1005

1006

1007

1008

1010

1011

1012

1013

1015

1016

1017

1018

1019

1020

1021

1022

1024

1025

1026

1029

1030

1031

1032

1033

1034

1035

1036

1037

1038

1039

1041

1042

1043

1044

1045

1046

1047

1048

1049

1050

1051

1052

1053

1054

1055

1056

1057

1058

1059

1060

1061

1062

1063

1064

1065

1066

1067

1068

1069

1070

1071

1072

1073

1074

1075

1076

1077

1078

1079

1080

1084 unsigned options);

1085

1086

1087

1088

1107

1111

1112

1113

1114

1115

1118

1120

1122

1123

1126

1127

1128

1129

1131

1133

1134

1136

1137

1138

1140

1142

1143

1144

1145

1146

1149

1151

1152

1153

1154

1155

1156

1159

1160

1161

1162

1164

1165

1166

1167

1168

1169

1171

1172

1173

1174

1175

1176

1178

1179

1180

1181

1182

1183

1184

1185

1187

1188

1189

1190

1191

1192

1193

1194

1195

1196

1198

1200

1202

1204

1206

1207

1208

1209

1211

1213

1215

1217

1219

1221

1223

1225

1227

1229

1231

1233

1235

1237

1239

1241

1243

1245

1247

1249

1251

1253

1255

1257

1259

1261

1263

1265

1267

1269

1271

1273

1275

1277

1280

1281

1286

1287

1288

1289

1290

1291

1292

1293

1294

1295

1296

1297

1298

1299

1300

1303

1304

1305

1306

1308

1309

1310

1312

1313

1314

1315

1317

1318

1319

1320

1321

1322

1323

1324

1325

1326

1327

1328

1329

1330

1331

1333

1334

1335

1336

1337

1338

1339

1340

1341

1342

1343

1344

1345

1346

1347

1348

1349

1350

1351

1352

1353

1354

1355

1356

1357

1358

1359

1360

1361

1362

1363

1364

1365

1366

1367

1368

1369

1371

1372

1373

1374

1375

1377

1379

1380

1387

1388

1390

1391

1392

1393

1394

1395

1396

1397

1398

1399

1401

1402

1403

1404

1405

1407

1408

1409

1410

1411

1413

1414

1416

1417

1418

1420

1421

1423

1424

1425

1427

1428

1429

1431

1432

1433

1435

1436

1437

1439

1440

1441

1443

1444

1445

1446

1447

1449

1450

1451

1452

1454

1455

1456

1458

1459

1460

1461

1463

1464

1465

1467

1468

1469

1471

1472

1473

1474

1475

1476

1478

1479

1480

1482

1483

1484

1486

1487

1488

1490

1491

1492

1494

1495

1496

1498

1499

1500

1501

1502

1503

1504

1505

1506

1508

1509

1510

1512

1513

1514

1516

1517

1518

1520

1521

1522

1524

1525

1526

1527

1528

1529

1530

1531

1532

1534

1535

1536

1538

1539

1540

1542

1543

1544

1546

1547

1548

1550

1551

1552

1553

1554

1555

1557

1558

1559

1560

1562

1563

1564

1565

1567

1568

1569

1571

1572

1573

1575

1576

1577

1579

1580

1581

1583

1584

1585

1587

1588

1589

1590

1591

1592

1593

1594

1596

1597

1598

1599

1600

1601

1602

1603

1604

1605

1606

1607

1608

1609

1611

1612

1613

1614

1615

1616

1617

1618

1619

1620

1621

1623

1624

1625

1626

1627

1628

1629

1630

1631

1632

1633

1634

1635

1637

1638

1639

1641

1642

1643

1645

1646

1647

1648

1650

1651

1652

1654

1655

1656

1657

1659

1660

1661

1663

1664

1665

1666

1668

1669

1670

1672

1673

1674

1675

1677

1678

1679

1680

1682

1683

1684

1685

1686

1688

1689

1690

1691

1693

1695

1696

1698

1699

1700

1701

1702

1703

1704

1705

1706

1708

1709

1710

1711

1712

1713

1714

1715

1716

1717

1718

1719

1721

1722

1723

1724

1725

1726

1728

1729

1730

1732

1733

1734

1736

1737

1738

1740

1741

1742

1744

1745

1746

1748

1749

1750

1752

1753

1754

1756

1757

1758

1760

1761

1762

1764

1765

1766

1768

1769

1770

1772

1773

1774

1776

1777

1778

1781

1782

1783

1785

1786

1787

1789

1790

1791

1793

1794

1795

1797

1798

1799

1801

1802

1803

1805

1806

1807

1809

1810

1811

1813

1814

1815

1817

1818

1819

1821

1822

1823

1825

1826

1827

1829

1830

1831

1833

1834

1835

1837

1838

1839

1840

1841

1843

1844

1845

1846

1848

1849

1850

1852

1853

1854

1856

1857

1858

1860

1861

1862

1864

1865

1866

1868

1869

1870

1872

1873

1874

1876

1877

1878

1880

1881

1882

1884

1885

1886

1888

1889

1890

1892

1893

1894

1896

1897

1898

1900

1901

1902

1904

1905

1906

1908

1909

1910

1912

1913

1914

1916

1917

1918

1920

1921

1922

1924

1925

1926

1928

1929

1930

1932

1933

1934

1936

1937

1938

1940

1941

1942

1944

1945

1946

1948

1949

1950

1952

1953

1954

1956

1957

1958

1960

1961

1962

1964

1965

1966

1968

1969

1970

1972

1973

1974

1976

1977

1978

1980

1981

1982

1984

1985

1986

1988

1989

1990

1992

1993

1994

1996

1997

1998

2000

2001

2002

2004

2005

2006

2008

2009

2010

2012

2013

2014

2016

2017

2018

2020

2021

2022

2024

2025

2026

2028

2029

2030

2032

2033

2034

2036

2037

2038

2040

2041

2042

2044

2045

2046

2048

2049

2050

2052

2053

2054

2056

2057

2058

2060

2061

2062

2064

2065

2066

2068

2069

2070

2072

2073

2074

2076

2077

2078

2080

2081

2082

2084

2085

2086

2088

2089

2090

2092

2093

2094

2096

2097

2098

2100

2101

2102

2104

2105

2106

2108

2109

2110

2112

2113

2114

2116

2117

2118

2120

2121

2122

2124

2125

2126

2128

2129

2130

2132

2133

2134

2136

2137

2138

2140

2141

2142

2144

2145

2146

2148

2149

2150

2152

2153

2154

2156

2157

2158

2160

2161

2162

2164

2165

2166

2168

2169

2170

2172

2173

2174

2176

2177

2178

2180

2181

2182

2184

2185

2186

2188

2189

2190

2192

2193

2194

2196

2197

2198

2200

2201

2202

2204

2205

2206

2208

2210

2211

2212

2213

2214

2215

2216

2218

2219

2221

2222

2223

2224

2226

2269

2270

2278

2279

2280

2281

2282

2285

2286

2287

2289

2290

2291

2293

2294

2295

2297

2300

2301

2302

2303

2306

2307

2308

2309

2310

2311

2312

2313

2314

2315

2316

2317

2318

2319

2320

2321

2322

2323

2324

2325typedef struct {

2328 const void *data[3];

2330

2331

2332

2333

2334

2335

2336

2337

2338

2339

2341

2342

2343

2344

2345

2346

2347

2349

2350

2351

2352

2354

2355

2356

2357

2359

2360

2361

2362

2364

2365

2366

2367

2369

2370

2371

2372

2374

2375

2376

2377

2378

2379

2380

2381

2382

2384

2385

2386

2387

2388

2389

2390

2391

2392

2394

2395

2396

2397

2399

2400

2401

2402

2404

2405

2406

2407

2409

2410

2411

2412

2414

2415

2416

2417

2418

2420

2421

2422

2423

2424

2426

2427

2428

2429

2430

2432

2433

2434

2435

2436

2438

2439

2440

2441

2443

2444

2446

2447

2448

2449

2451

2453

2454

2456

2459

2460

2461

2462

2464

2466

2467

2469

2470

2472

2474

2477

2478

2479

2480

2481

2482

2483

2484

2485

2486

2487

2488

2490

2491

2492

2493

2494

2495

2496

2497

2498

2501

2502

2503

2504

2505

2507

2508

2509

2510

2511

2512

2514

2515

2516

2518

2519

2520

2521

2523

2524

2525

2526

2528

2529

2530

2532

2533

2534

2535

2538

2539

2540

2541

2542

2543

2544

2545

2546

2547

2548

2549

2550

2551

2552

2553

2554

2555

2556

2557

2558

2559

2560

2561

2562

2563

2564

2565

2566

2567

2568

2569

2570

2571

2572

2573

2574

2576 CXCursor cursor, int *always_deprecated, CXString *deprecated_message,

2577 int *always_unavailable, CXString *unavailable_message,

2579

2580

2581

2582

2585

2586

2587

2588

2589

2591

2592

2593

2594

2595

2596

2598

2599

2600

2601

2602

2603

2605

2606

2607

2608

2615

2616

2617

2618

2620

2621

2622

2623

2624

2626

2627

2628

2629

2630

2632

2633

2634

2635

2637

2638

2639

2640

2642

2643

2644

2645

2647

2648

2649

2650

2652

2653

2654

2655

2656

2657

2660

2661

2662

2663

2664

2665

2668

2669

2670

2671

2672

2673

2674

2675

2676

2677

2678

2679

2680

2681

2682

2683

2684

2685

2686

2687

2688

2689

2690

2691

2692

2693

2694

2695

2696

2697

2698

2699

2700

2701

2703

2704

2705

2706

2707

2708

2709

2710

2711

2712

2713

2714

2715

2716

2717

2718

2719

2720

2721

2722

2723

2724

2725

2726

2727

2728

2729

2730

2731

2732

2733

2734

2735

2736

2737

2739

2740

2741

2742

2743

2744

2745

2746

2747

2748

2749

2750

2751

2752

2753

2754

2755

2756

2757

2758

2759

2760

2761

2762

2763

2764

2765

2766

2767

2768

2769

2770

2771

2772

2773

2774

2775

2776

2777

2778

2779

2780

2781

2782

2785 unsigned *num_overridden);

2786

2787

2788

2789

2790

2792

2793

2794

2795

2796

2798

2799

2800

2801

2802

2803

2804

2805

2806

2807

2808

2809

2810

2811

2812

2813

2814

2815

2816

2817

2818

2819

2820

2821

2822

2823

2824

2825

2826

2827

2828

2830

2831

2832

2833

2834

2835

2836

2837

2838

2839

2840

2842

2843

2844

2845

2846

2847

2848

2849

2850

2851

2852

2853

2855

2856

2857

2858

2859

2860

2861

2862

2863

2864

2865

2866

2867

2868

2870

2871

2872

2874

2875

2876

2877

2878

2880

2881

2923

2943

2944

2945

2946

2947

2948

2950

2951

2953

2954

2995

2999

3012

3013

3018

3022

3023

3027

3028

3029

3030

3043

3056

3060

3061

3062

3063

3064

3065typedef struct {

3067 void *data[2];

3069

3070

3071

3072

3074

3075

3076

3077

3078

3079

3080

3082

3083

3084

3085

3086

3087

3088

3090

3091

3092

3093

3094

3095

3096

3098

3099

3100

3101

3102

3103

3104

3105

3106

3108

3109

3110

3111

3112

3113

3114

3115

3116

3119

3120

3121

3122

3124

3125

3126

3127

3128

3129

3130

3131

3132

3133

3134

3135

3136

3137

3138

3139

3140

3142

3143

3144

3145

3146

3147

3148

3149

3151

3152

3153

3154

3155

3156

3157

3158

3160

3161

3162

3163

3164

3165

3166

3177

3180

3181

3182

3183

3184

3185

3186

3187

3188

3189

3190

3191

3192

3193

3194

3195

3196

3198

3199

3200

3201

3202

3203

3204

3205

3206

3207

3208

3209

3210

3211

3212

3213

3214

3215

3218

3219

3220

3221

3222

3223

3224

3225

3226

3227

3228

3229

3230

3231

3232

3233

3234

3235

3236

3238 unsigned I);

3239

3240

3241

3242

3243

3244

3245

3246

3247

3248

3249

3250

3251

3252

3253

3254

3255

3256

3257

3259 unsigned I);

3260

3261

3262

3263

3264

3265

3266

3267

3268

3269

3270

3271

3272

3273

3274

3275

3276

3277

3278

3281

3282

3283

3284

3285

3286

3287

3289

3290

3291

3292

3293

3294

3295

3296

3297

3299

3300

3301

3302

3303

3304

3306

3307

3308

3309

3310

3312

3313

3314

3315

3316

3318

3319

3320

3321

3322

3324

3325

3326

3327

3328

3329

3331

3332

3333

3334

3335

3336

3338

3339

3340

3341

3343

3344

3345

3346

3348

3349

3350

3351

3353

3354

3355

3356

3357

3358

3359

3360

3361

3362

3363

3364

3365

3366

3367

3368

3369

3370

3371

3372

3373

3374

3375

3376

3377

3378

3379

3380

3381

3382

3383

3384

3385

3386

3387

3388

3390

3391

3392

3393

3394

3395

3396

3397

3398

3399

3401

3402

3403

3404

3406

3407

3408

3409

3411

3412

3413

3414

3416

3417

3418

3419

3421

3422

3423

3424

3425

3426

3428

3429

3430

3431

3432

3433

3435

3436

3437

3438

3439

3440

3441

3443

3444

3445

3446

3447

3448

3449

3451

3452

3453

3454

3455

3456

3457

3459

3460

3461

3462

3463

3464

3466

3467

3468

3469

3470

3471

3473

3474

3475

3476

3477

3478

3479

3481

3482

3483

3484

3485

3486

3488

3489

3490

3491

3492

3493

3494

3496

3497

3498

3499

3501

3502

3503

3504

3505

3506

3508

3509

3510

3511

3512

3513

3514

3515

3517

3518

3519

3520

3521

3523

3524

3525

3526

3527

3528

3529

3531

3532

3533

3534

3535

3536

3537

3539

3540

3541

3542

3543

3544

3546

3547

3548

3549

3550

3551

3553

3554

3555

3556

3557

3558

3560

3561

3562

3563

3564

3565

3566

3567

3568

3570

3572

3573

3574

3576

3577

3578

3580

3581

3582

3583

3584

3585

3587

3588

3589

3591

3592

3593

3594

3595

3596

3597

3600

3601

3602

3603

3605

3606

3607

3608

3609

3610

3611

3612

3613

3615

3616

3617

3619

3620

3621

3623

3624

3625

3627

3628

3629

3631

3632

3633

3635

3636

3637

3640

3641

3642

3643

3644

3645

3646

3647

3648

3649

3650

3651

3652

3654

3655

3656

3657

3658

3659

3661

3662

3663

3664

3665

3666

3667

3668

3669

3670

3672

3673

3674

3675

3676

3677

3678

3679

3680

3681

3682

3683

3684

3685

3687

3688

3689

3690

3691

3692

3694

3695

3696

3697

3698

3699

3701

3702

3703

3704

3705

3706

3707

3708

3709

3710

3711

3712

3713

3714

3716

3717

3718

3719

3720

3722

3723

3724

3725

3726

3728

3729

3730

3731

3732

3734

3736

3738

3740

3743

3744

3745

3746

3747

3749

3750

3751

3752

3753

3754

3755

3756

3758 unsigned i);

3759

3760

3761

3762

3763

3764

3765

3767

3768

3769

3770

3771

3773

3774

3775

3776

3777

3778

3779

3780

3782

3783

3784

3785

3786

3793

3794

3795

3796

3797

3798

3799

3800

3802

3803

3804

3805

3806

3817

3818

3819

3820

3858

3859

3860

3861

3864

3865

3866

3867

3870

3871

3872

3873

3874

3875

3876

3878

3879

3880

3881

3882

3883

3884

3885

3886

3887

3889

3890

3891

3892

3893

3894

3895

3896

3897

3898

3899

3900

3901

3902

3903

3905 unsigned index);

3906

3907

3908

3909

3910

3911

3912

3913

3914

3915

3916

3917

3918

3919

3920

3921

3923

3924

3925

3926

3927

3928

3929

3930

3931

3932

3933

3934

3935

3936

3937

3938

3939

3940

3941

3942

3943

3945

3946

3947

3949

3950

3951

3952

3954

3955

3956

3957

3960

3961

3962

3963

3964

3965

3966

3967

3968

3969

3970

3971

3972

3976

3977

3978

3979

3980

3981

3982

3983

3984

3985

3986

3987

3988

3989

3990

3991

3992

3993

3994

3995

3996

3997

3998

4002

4003

4004

4005

4006

4007

4008

4009

4010

4011

4012#if __has_feature(blocks)

4015#else

4017#endif

4018

4019

4020

4021

4022

4025

4026

4027

4028

4029

4030

4031

4032

4033

4034

4035

4036

4037

4038

4039

4040

4041

4042

4043

4044

4045

4046

4047

4048

4049

4051

4052

4053

4054

4056

4057

4058

4059

4061 const char *class_name, const char *category_name);

4062

4063

4064

4065

4068

4069

4070

4071

4072

4075

4076

4077

4078

4079

4081 unsigned isInstanceMethod,

4083

4084

4085

4086

4087

4090

4091

4092

4093

4095

4096

4097

4098

4099

4100

4101

4102

4103

4104

4105

4106

4108 CXCursor, unsigned pieceIndex, unsigned options);

4109

4110

4111

4112

4113

4115

4116

4117

4118

4119

4120

4148

4151

4152

4153

4154

4158

4159

4160

4161

4165 unsigned Value);

4166

4167

4168

4169

4170

4171

4172

4174

4175

4176

4177

4179

4180

4181

4182

4183

4184

4185

4186

4187

4188

4189

4190

4193

4194

4195

4196

4197

4198

4201

4202

4203

4204

4205

4206

4207

4208

4210

4211

4212

4213

4214

4215

4216

4217

4218

4219

4220

4222

4223

4224

4225

4226

4227

4228

4229

4230

4231

4232

4233

4234

4235

4236

4237

4238

4239

4240

4241

4242

4243

4244

4245

4246

4247

4248

4249

4250

4252

4253

4254

4255

4256

4258

4259

4260

4261

4262

4263

4264

4265

4266

4267

4268

4269

4270

4271

4272

4273

4274

4275

4276

4277

4278

4279

4280

4281

4282

4284

4285

4286

4287

4288

4289

4290

4291

4292

4293

4294

4295

4297

4298

4299

4300

4301

4302

4303

4304

4305

4306

4307

4308

4310

4311

4312

4313

4314

4316

4317

4318

4319

4320typedef enum {

4336

4337

4338

4339

4340

4341

4342

4343

4346

4347

4348

4349

4350

4352

4353

4354

4355

4356

4358

4359

4360

4361

4362

4363typedef enum {

4372

4373

4374

4375

4376

4377

4378

4380

4381

4382

4383

4384

4385

4387

4388

4389

4390

4392

4393

4394

4395

4396

4397

4398

4399

4400

4401

4402

4403

4404

4405

4409 unsigned *isGenerated);

4410

4411

4412

4413

4414

4415

4417

4418

4419

4420

4421

4423

4424

4425

4426

4427

4428

4430

4431

4432

4433

4434

4435

4436

4437

4438

4439

4440

4441

4442

4444

4445

4446

4447

4448

4450

4451

4452

4453

4454

4456

4457

4458

4459

4460

4461

4462

4463

4464

4465

4466

4467

4468

4470

4471

4472

4473

4475

4476

4477

4478

4479

4481

4482

4483

4484

4485

4486

4488

4489

4490

4491

4492

4493

4494

4496

4497

4498

4499

4500

4501

4502

4504

4505

4506

4507

4508

4509

4511

4512

4513

4514

4515

4516

4518

4519

4520

4521

4522

4523

4526

4527

4528

4529

4530

4531

4532

4533

4536 unsigned Index);

4537

4538

4539

4540

4541

4542

4543

4544

4545

4546

4547

4548

4549

4550

4551

4552

4553

4556

4557

4558

4559

4561

4562

4563

4564

4566

4567

4568

4569

4571

4572

4573

4574

4576

4577

4578

4579

4581

4582

4583

4584

4586

4587

4588

4589

4590

4592

4593

4594

4595

4596

4598

4599

4600

4601

4602

4603

4605

4606

4607

4608

4609

4610

4611

4612

4613

4614

4615

4616

4617

4618

4619

4620

4621

4622

4623

4624

4625

4626

4627

4628

4630

4631

4632

4633

4634

4635

4636

4637

4638

4639

4640

4641

4642

4643

4644

4645

4646

4647

4648

4649

4650

4651

4652

4653

4655

4656

4657

4658

4659

4660

4661

4662

4663

4664

4665

4666

4667

4668

4669

4670

4671

4672

4673

4674

4675

4676

4677

4678

4679

4680

4681

4682

4683

4684

4685

4686

4687

4688

4689

4690

4691

4692

4693

4694

4695

4696

4697

4698

4700

4701

4702

4703

4704

4706

4707

4708

4709

4711

4712

4713

4714

4715

4717

4718

4719

4720

4721

4722

4723

4724

4725

4726

4727

4728

4729

4730

4731

4732

4733

4734

4736

4737

4738

4739

4740

4741

4742

4743

4744

4745

4746

4747

4748

4749

4750

4751

4752

4753

4754

4755

4756

4757

4758

4759

4760

4761

4762

4763

4764

4766

4767

4768

4769

4770

4771

4772

4773

4774

4775

4776

4777

4778

4779

4780

4781

4782

4783

4784

4786 CXCursor C, unsigned NameFlags, unsigned PieceIndex);

4787

4789

4790

4791

4792

4794

4795

4796

4797

4798

4800

4801

4802

4803

4804

4805

4806

4807

4808

4809

4810

4813

4814

4815

4816

4817

4818

4819

4820

4821

4822

4823

4824

4825

4826

4827

4828

4829

4830

4832

4833

4834

4836

4837

4838

4839

4841

4842

4843

4844

4846

4847

4848

4849

4851

4852

4853

4854

4857

4858

4859

4860

4861typedef struct {

4862 unsigned int_data[4];

4865

4866

4867

4868

4869

4870

4871

4872

4873

4874

4875

4876

4879

4880

4881

4882

4884

4885

4886

4887

4888

4889

4890

4892

4893

4894

4895

4898

4899

4900

4901

4903

4904

4905

4906

4907

4908

4909

4910

4911

4912

4913

4914

4915

4916

4917

4918

4919

4920

4922 CXToken **Tokens, unsigned *NumTokens);

4923

4924

4925

4926

4927

4928

4929

4930

4931

4932

4933

4934

4935

4936

4937

4938

4939

4940

4941

4942

4943

4944

4945

4946

4947

4948

4949

4950

4951

4952

4953

4955 unsigned NumTokens, CXCursor *Cursors);

4956

4957

4958

4959

4961 unsigned NumTokens);

4962

4963

4964

4965

4966

4967

4968

4969

4970

4971

4972

4973

4974

4975

4976

4979 CXCursor, const char **startBuf, const char **endBuf, unsigned *startLine,

4980 unsigned *startColumn, unsigned *endLine, unsigned *endColumn);

4983 unsigned stack_size);

4984

4985

4986

4987

4988

4989

4990

4991

4992

4993

4994

4995

4996

4997

4998

4999

5000

5001

5002

5003

5004

5005

5006

5007

5008

5009

5010

5011

5012

5013

5015

5016

5017

5018

5019typedef struct {

5020

5021

5022

5023

5024

5025

5026

5027

5028

5029

5031

5032

5033

5034

5035

5038

5039

5040

5041

5042

5043

5044

5045

5047

5048

5049

5050

5051

5052

5053

5054

5055

5056

5057

5058

5059

5060

5061

5062

5063

5064

5065

5066

5067

5068

5069

5070

5071

5072

5073

5074

5075

5076

5077

5078

5079

5081

5082

5083

5084

5085

5086

5087

5088

5089

5090

5092

5093

5094

5095

5096

5097

5098

5100

5101

5102

5103

5104

5105

5106

5107

5108

5109

5111

5112

5113

5114

5115

5116

5117

5118

5119

5121

5122

5123

5124

5125

5126

5127

5128

5129

5130

5131

5132

5133

5134

5135

5136

5137

5138

5139

5141

5142

5143

5144

5146

5147

5148

5149

5151

5152

5153

5155

5156

5157

5159

5160

5161

5163

5164

5165

5167

5168

5169

5171

5172

5173

5175

5176

5177

5179

5180

5181

5182

5183

5184

5185

5187

5188

5189

5191

5192

5193

5195

5196

5197

5199

5200

5201

5203

5204

5205

5206

5209

5210

5211

5212

5213

5214

5215

5216

5217

5218

5221 unsigned chunk_number);

5222

5223

5224

5225

5226

5227

5228

5229

5230

5231

5232

5235

5236

5237

5238

5239

5240

5241

5242

5243

5244

5245

5246

5249

5250

5251

5252

5255

5256

5257

5258

5259

5260

5261

5262

5263

5264

5265

5266

5267

5270

5271

5272

5273

5274

5275

5276

5277

5278

5281

5282

5283

5284

5285

5286

5287

5288

5289

5290

5293

5294

5295

5296

5297

5298

5299

5300

5301

5302

5303

5304

5307

5308

5309

5310

5311

5312

5313

5314

5315

5316

5317

5318

5319

5320

5321

5322

5323

5326

5327

5328

5329

5330

5333

5334

5335

5336

5337

5338

5339

5340

5341

5342

5345

5346

5347

5348

5349

5350

5351

5352

5353typedef struct {

5354

5355

5356

5358

5359

5360

5361

5362

5365

5366

5367

5368

5369

5370

5371

5372

5373

5374

5375

5376

5377

5378

5381 unsigned completion_index);

5382

5383

5384

5385

5386

5387

5388

5389

5390

5391

5392

5393

5394

5395

5396

5397

5398

5399

5400

5401

5402

5403

5404

5405

5406

5407

5408

5409

5410

5411

5412

5413

5414

5415

5416

5417

5418

5419

5420

5421

5422

5423

5424

5425

5428 unsigned fixit_index, CXSourceRange *replacement_range);

5429

5430

5431

5432

5433

5434

5435

5436

5438

5439

5440

5441

5443

5444

5445

5446

5447

5449

5450

5451

5452

5453

5455

5456

5457

5458

5459

5460

5462

5463

5464

5465

5466

5469

5470

5471

5472

5473

5474

5475

5477

5478

5479

5480

5482

5483

5484

5485

5487

5488

5489

5490

5491

5493

5494

5495

5496

5498

5499

5500

5501

5503

5504

5505

5506

5508

5509

5510

5511

5512

5514

5515

5516

5517

5519

5520

5521

5522

5524

5525

5526

5527

5529

5530

5531

5533

5534

5535

5537

5538

5539

5540

5542

5543

5544

5545

5547

5548

5549

5550

5552

5553

5554

5555

5556

5558

5559

5560

5561

5563

5564

5565

5566

5568

5569

5570

5571

5573

5574

5575

5576

5578

5579

5580

5581

5583

5584

5585

5586

5587

5589

5590

5591

5592

5594

5595

5596

5597

5599

5600

5601

5602

5605

5606

5607

5608

5609

5611

5612

5613

5614

5615

5616

5617

5618

5619

5620

5621

5622

5623

5624

5625

5626

5627

5628

5629

5630

5631

5632

5633

5634

5635

5636

5637

5638

5639

5640

5641

5642

5643

5644

5645

5646

5647

5648

5649

5650

5651

5652

5653

5654

5655

5656

5657

5658

5659

5660

5661

5662

5663

5664

5665

5666

5667

5668

5669

5670

5671

5672

5673

5674

5675

5676

5677

5678

5679

5683 unsigned complete_line, unsigned complete_column,

5685 unsigned num_unsaved_files, unsigned options);

5686

5687

5688

5689

5690

5691

5692

5693

5696 unsigned NumResults);

5697

5698

5699

5700

5703

5704

5705

5706

5707

5710

5711

5712

5713

5714

5715

5716

5717

5718

5719

5722 unsigned Index);

5723

5724

5725

5726

5727

5728

5729

5730

5731

5732

5734unsigned long long

5736

5737

5738

5739

5740

5741

5742

5743

5744

5745

5746

5747

5748

5749

5750

5751

5752

5756 unsigned *IsIncomplete);

5757

5758

5759

5760

5761

5762

5763

5764

5765

5766

5769

5770

5771

5772

5773

5774

5775

5776

5777

5778

5779

5780

5783

5784

5785

5786

5787

5788

5789

5790

5791

5792

5793

5794

5795

5796

5797

5799

5800

5801

5802

5803

5804

5805

5807

5808

5809

5810

5811

5812

5813

5814

5815

5816

5817

5818

5821 unsigned include_len,

5823

5824

5825

5826

5827

5828

5829

5833

5834typedef enum {

5841

5843

5845

5846

5847

5848

5850

5851

5852

5853

5854

5855

5856

5858

5859

5860

5861

5863

5864

5865

5866

5867

5869

5870

5871

5872

5873

5874

5876

5877

5878

5879

5880

5882

5883

5884

5885

5886

5889

5890

5891

5892

5893

5895

5896

5897

5898

5899

5900

5901

5903

5904

5905

5906

5908

5909

5910

5911

5912

5913

5914

5915

5916

5917

5918

5919

5921

5922

5923

5924

5925

5926

5927

5928

5929

5931

5932

5933

5934

5935

5936

5937

5938

5939

5940

5941

5944 unsigned numFiles);

5945

5946

5947

5948

5950

5951

5952

5953

5954

5955

5956

5957

5958

5962

5963

5964

5965

5967

5968

5969

5970

5971

5972

5973

5974

5975

5976

5978

5983

5984typedef enum {

5985

5986

5987

5989

5990

5991

5993

5994

5995

5996

5998

6000

6001

6002

6003

6004

6005

6006

6007

6008

6009

6010

6011

6012

6013

6014

6017

6018

6019

6020

6021

6022

6023

6024

6025

6026

6027

6028

6029

6032

6033#if __has_feature(blocks)

6036#else

6038#endif

6039

6043

6047

6048

6049

6050

6052

6053

6054

6055

6057

6058

6059

6060

6061

6063

6064

6065

6066

6067

6069

6070

6071

6072

6073typedef struct {

6074 void *ptr_data[2];

6077

6078

6079

6080

6081typedef struct {

6082

6083

6084

6086

6087

6088

6090

6091

6092

6096

6097

6098

6099

6102

6103

6104

6105

6106typedef struct {

6107

6108

6109

6111

6112

6113

6115

6116

6117

6119

6120

6121

6122

6124

6126

6127typedef enum {

6134

6138

6143

6147

6160

6162

6163typedef enum {

6170

6171

6172

6173

6174

6175

6176

6177

6178

6179

6180

6181typedef enum {

6187

6188typedef enum {

6194

6195typedef struct {

6200

6201typedef struct {

6211

6212typedef struct {

6215

6216typedef struct {

6222

6224

6225typedef struct {

6230

6231

6232

6233

6239

6240

6241

6242

6246

6248

6250

6251typedef enum {

6256

6257typedef struct {

6261

6262typedef struct {

6267

6268typedef struct {

6273

6274typedef struct {

6278

6279typedef struct {

6284

6285typedef struct {

6292

6293typedef struct {

6298

6299typedef struct {

6304

6305

6306

6307

6308

6309

6310

6311typedef enum {

6312

6313

6314

6316

6317

6318

6319

6322

6323

6324

6325

6326

6327

6328

6329typedef enum {

6341

6342

6343

6344

6345typedef struct {

6347

6348

6349

6352

6353

6354

6356

6357

6358

6359

6360

6361

6362

6363

6364

6365

6366

6368

6369

6370

6372

6373

6374

6377

6378

6379

6380

6381

6382typedef struct {

6383

6384

6385

6386

6388

6389

6390

6391

6393

6395 void *reserved);

6396

6397

6398

6399

6402

6403

6404

6405

6406

6407

6408

6409

6410

6413

6414

6415

6416

6418 void *reserved);

6419

6421

6422

6423

6424

6427

6429

6433

6436

6440

6443

6446

6449

6452

6453

6454

6455

6456

6459

6460

6461

6462

6463

6466

6467

6468

6469

6472

6473

6474

6475

6478

6479

6480

6481

6482

6484

6485

6486

6487

6488

6489

6490

6492

6493

6494

6495

6496

6497

6498

6500

6501typedef enum {

6502

6503

6504

6506

6507

6508

6509

6510

6511

6513

6514

6515

6516

6517

6519

6520

6521

6522

6523

6525

6526

6527

6528

6530

6531

6532

6533

6534

6535

6537

6539

6540

6541

6542

6543

6544

6545

6546

6547

6548

6549

6550

6551

6552

6553

6554

6555

6556

6557

6558

6559

6560

6561

6562

6563

6564

6567 unsigned index_callbacks_size, unsigned index_options,

6568 const char *source_filename, const char *const *command_line_args,

6569 int num_command_line_args, struct CXUnsavedFile *unsaved_files,

6570 unsigned num_unsaved_files, CXTranslationUnit *out_TU, unsigned TU_options);

6571

6572

6573

6574

6575

6576

6579 unsigned index_callbacks_size, unsigned index_options,

6580 const char *source_filename, const char *const *command_line_args,

6581 int num_command_line_args, struct CXUnsavedFile *unsaved_files,

6582 unsigned num_unsaved_files, CXTranslationUnit *out_TU, unsigned TU_options);

6583

6584

6585

6586

6587

6588

6589

6590

6591

6592

6593

6594

6595

6596

6597

6598

6599

6602 unsigned index_callbacks_size, unsigned index_options, CXTranslationUnit);

6603

6604

6605

6606

6607

6608

6609

6610

6611

6614 CXFile *file, unsigned *line,

6615 unsigned *column,

6616 unsigned *offset);

6617

6618

6619

6620

6623

6624

6625

6626

6627

6628

6629

6630

6631

6632

6633

6634

6637

6638

6639

6640

6641

6642

6643

6644

6645

6646

6647

6648

6649

6650

6651

6652

6653

6654

6655

6656

6659

6660

6661

6662

6663

6664

6665

6666

6667

6668

6669

6670

6671

6672

6673

6674

6675

6676

6677

6678

6682

6683

6684

6685

6687

6689

6691

6693

6695

6697

6699

6701

6703

6705

6707

6709

6711

6713

6715

6717

6719

6721

6723

6725

6727

6729

6731

6733

6735

6737

6739

6741

6743

6745

6747

6749

6751

6753

6756

6757

6758

6759

6762

6763

6764

6765

6766

6767

6770

6771

6772

6773

6775

6777

6779

6781

6783

6785

6787

6789

6791

6793

6795

6797

6799

6801

6803

6806

6807

6808

6809

6812

6813

6814

6815

6816

6817

6820

6821

6822

6823

6824

6825

6826

6827

6828

6830

6831#endif

static unsigned isEnabled(DiagnosticsEngine &D, unsigned diag)

CXErrorCode

Error codes returned by libclang routines.

enum clang::sema::@1727::IndirectLocalPathEntry::EntryKind Kind

#define LLVM_CLANG_C_EXTERN_C_END

#define LLVM_CLANG_C_EXTERN_C_BEGIN

CINDEX_LINKAGE CXType clang_getIBOutletCollectionType(CXCursor)

For cursors representing an iboutletcollection attribute, this function returns the collection elemen...

CINDEX_LINKAGE unsigned clang_codeCompleteGetNumDiagnostics(CXCodeCompleteResults *Results)

Determine the number of diagnostics produced prior to the location where code completion was performe...

CINDEX_LINKAGE unsigned clang_getCompletionNumFixIts(CXCodeCompleteResults *results, unsigned completion_index)

Retrieve the number of fix-its for the given completion index.

CINDEX_LINKAGE void clang_disposeCodeCompleteResults(CXCodeCompleteResults *Results)

Free the given set of code-completion results.

CINDEX_LINKAGE CXString clang_getCompletionFixIt(CXCodeCompleteResults *results, unsigned completion_index, unsigned fixit_index, CXSourceRange *replacement_range)

Fix-its that must be applied before inserting the text for the corresponding completion.

CINDEX_LINKAGE CXCompletionString clang_getCompletionChunkCompletionString(CXCompletionString completion_string, unsigned chunk_number)

Retrieve the completion string associated with a particular chunk within a completion string.

CINDEX_LINKAGE CXString clang_getCompletionBriefComment(CXCompletionString completion_string)

Retrieve the brief documentation comment attached to the declaration that corresponds to the given co...

CINDEX_LINKAGE CXCompletionString clang_getCursorCompletionString(CXCursor cursor)

Retrieve a completion string for an arbitrary declaration or macro definition cursor.

CINDEX_LINKAGE unsigned clang_getCompletionPriority(CXCompletionString completion_string)

Determine the priority of this code completion.

CXCompletionContext

Bits that represent the context under which completion is occurring.

CINDEX_LINKAGE CXString clang_getCompletionAnnotation(CXCompletionString completion_string, unsigned annotation_number)

Retrieve the annotation associated with the given completion string.

CINDEX_LINKAGE unsigned clang_getNumCompletionChunks(CXCompletionString completion_string)

Retrieve the number of chunks in the given code-completion string.

CINDEX_LINKAGE unsigned long long clang_codeCompleteGetContexts(CXCodeCompleteResults *Results)

Determines what completions are appropriate for the context the given code completion.

CINDEX_LINKAGE enum CXCursorKind clang_codeCompleteGetContainerKind(CXCodeCompleteResults *Results, unsigned *IsIncomplete)

Returns the cursor kind for the container for the current code completion context.

CXCompletionChunkKind

Describes a single piece of text within a code-completion string.

CINDEX_LINKAGE CXString clang_getCompletionParent(CXCompletionString completion_string, enum CXCursorKind *kind)

Retrieve the parent context of the given completion string.

CINDEX_LINKAGE CXString clang_getCompletionChunkText(CXCompletionString completion_string, unsigned chunk_number)

Retrieve the text associated with a particular chunk within a completion string.

CXCodeComplete_Flags

Flags that can be passed to clang_codeCompleteAt() to modify its behavior.

CINDEX_LINKAGE CXDiagnostic clang_codeCompleteGetDiagnostic(CXCodeCompleteResults *Results, unsigned Index)

Retrieve a diagnostic associated with the given code completion.

CINDEX_LINKAGE CXCodeCompleteResults * clang_codeCompleteAt(CXTranslationUnit TU, const char *complete_filename, unsigned complete_line, unsigned complete_column, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, unsigned options)

Perform code completion at a given location in a translation unit.

CINDEX_LINKAGE enum CXCompletionChunkKind clang_getCompletionChunkKind(CXCompletionString completion_string, unsigned chunk_number)

Determine the kind of a particular chunk within a completion string.

CINDEX_LINKAGE enum CXAvailabilityKind clang_getCompletionAvailability(CXCompletionString completion_string)

Determine the availability of the entity that this code-completion string refers to.

CINDEX_LINKAGE CXString clang_codeCompleteGetObjCSelector(CXCodeCompleteResults *Results)

Returns the currently-entered selector for an Objective-C message send, formatted like "initWithFoo:b...

CINDEX_LINKAGE unsigned clang_defaultCodeCompleteOptions(void)

Returns a default set of code-completion options that can be passed toclang_codeCompleteAt().

CINDEX_LINKAGE unsigned clang_getCompletionNumAnnotations(CXCompletionString completion_string)

Retrieve the number of annotations associated with the given completion string.

CINDEX_LINKAGE void clang_sortCodeCompletionResults(CXCompletionResult *Results, unsigned NumResults)

Sort the code-completion results in case-insensitive alphabetical order.

CINDEX_LINKAGE CXString clang_codeCompleteGetContainerUSR(CXCodeCompleteResults *Results)

Returns the USR for the container for the current code completion context.

void * CXCompletionString

A semantic string that describes a code-completion result.

@ CXCompletionContext_AnyValue

Completions for any possible value (variables, function calls, etc.) should be included in the result...

@ CXCompletionContext_ObjCSelectorName

Completions for Objective-C selector names should be included in the results.

@ CXCompletionContext_ObjCProtocol

Completions for Objective-C protocols should be included in the results.

@ CXCompletionContext_MacroName

Completions for preprocessor macro names should be included in the results.

@ CXCompletionContext_NaturalLanguage

Natural language completions should be included in the results.

@ CXCompletionContext_AnyType

Completions for any possible type should be included in the results.

@ CXCompletionContext_StructTag

Completions for struct tags should be included in the results.

@ CXCompletionContext_CXXClassTypeValue

Completions for values that resolve to a C++ class type should be included in the results.

@ CXCompletionContext_ObjCClassMessage

Completions for Objective-C class messages should be included in the results.

@ CXCompletionContext_Unexposed

The context for completions is unexposed, as only Clang results should be included.

@ CXCompletionContext_Unknown

The current context is unknown, so set all contexts.

@ CXCompletionContext_ArrowMemberAccess

Completions for fields of the member being accessed using the arrow operator should be included in th...

@ CXCompletionContext_ObjCObjectValue

Completions for values that resolve to an Objective-C object should be included in the results.

@ CXCompletionContext_UnionTag

Completions for union tags should be included in the results.

@ CXCompletionContext_DotMemberAccess

Completions for fields of the member being accessed using the dot operator should be included in the ...

@ CXCompletionContext_NestedNameSpecifier

Completions for C++ nested name specifiers should be included in the results.

@ CXCompletionContext_ObjCPropertyAccess

Completions for properties of the Objective-C object being accessed using the dot operator should be ...

@ CXCompletionContext_ObjCInstanceMessage

Completions for Objective-C instance messages should be included in the results.

@ CXCompletionContext_ObjCInterface

Completions for Objective-C interfaces (classes) should be included in the results.

@ CXCompletionContext_EnumTag

Completions for enum tags should be included in the results.

@ CXCompletionContext_ClassTag

Completions for C++ class names should be included in the results.

@ CXCompletionContext_ObjCSelectorValue

Completions for values that resolve to an Objective-C selector should be included in the results.

@ CXCompletionContext_Namespace

Completions for C++ namespaces and namespace aliases should be included in the results.

@ CXCompletionContext_ObjCCategory

Completions for Objective-C categories should be included in the results.

@ CXCompletionContext_IncludedFile

#include file completions should be included in the results.

@ CXCompletionChunk_RightBracket

A right bracket (']').

@ CXCompletionChunk_RightBrace

A right brace ('}').

@ CXCompletionChunk_LeftBracket

A left bracket ('[').

@ CXCompletionChunk_CurrentParameter

Text that describes the current parameter when code-completion is referring to function call,...

@ CXCompletionChunk_Placeholder

Placeholder text that should be replaced by the user.

@ CXCompletionChunk_LeftAngle

A left angle bracket ('<').

@ CXCompletionChunk_Colon

A colon (':').

@ CXCompletionChunk_HorizontalSpace

Horizontal space (' ').

@ CXCompletionChunk_LeftParen

A left parenthesis ('('), used to initiate a function call or signal the beginning of a function para...

@ CXCompletionChunk_Informative

Informative text that should be displayed but never inserted as part of the template.

@ CXCompletionChunk_RightParen

A right parenthesis (')'), used to finish a function call or signal the end of a function parameter l...

@ CXCompletionChunk_SemiColon

A semicolon (';').

@ CXCompletionChunk_TypedText

Text that a user would be expected to type to get this code-completion result.

@ CXCompletionChunk_LeftBrace

A left brace ('{').

@ CXCompletionChunk_ResultType

Text that specifies the result type of a given result.

@ CXCompletionChunk_Text

Text that should be inserted as part of a code-completion result.

@ CXCompletionChunk_Comma

A comma separator (',').

@ CXCompletionChunk_Equal

An '=' sign.

@ CXCompletionChunk_Optional

A code-completion string that describes "optional" text that could be a part of the template (but is ...

@ CXCompletionChunk_VerticalSpace

Vertical space ('\n'), after which it is generally a good idea to perform indentation.

@ CXCompletionChunk_RightAngle

A right angle bracket ('>').

@ CXCodeComplete_IncludeCodePatterns

Whether to include code patterns for language constructs within the set of code completions,...

@ CXCodeComplete_IncludeBriefComments

Whether to include brief documentation within the set of code completions returned.

@ CXCodeComplete_SkipPreamble

Whether to speed up completion by omitting top- or namespace-level entities defined in the preamble.

@ CXCodeComplete_IncludeMacros

Whether to include macros within the set of code completions returned.

@ CXCodeComplete_IncludeCompletionsWithFixIts

Whether to include completions with small fix-its, e.g.

CINDEX_LINKAGE unsigned clang_CXXMethod_isStatic(CXCursor C)

Determine if a C++ member function or member function template is declared 'static'.

CINDEX_LINKAGE unsigned clang_CXXConstructor_isCopyConstructor(CXCursor C)

Determine if a C++ constructor is a copy constructor.

CINDEX_LINKAGE unsigned clang_CXXField_isMutable(CXCursor C)

Determine if a C++ field is declared 'mutable'.

CINDEX_LINKAGE unsigned clang_CXXMethod_isPureVirtual(CXCursor C)

Determine if a C++ member function or member function template is pure virtual.

CINDEX_LINKAGE unsigned clang_CXXMethod_isMoveAssignmentOperator(CXCursor C)

Determine if a C++ member function is a move-assignment operator, returning 1 if such is the case and...

CINDEX_LINKAGE unsigned clang_CXXConstructor_isDefaultConstructor(CXCursor C)

Determine if a C++ constructor is the default constructor.

CINDEX_LINKAGE unsigned clang_CXXConstructor_isConvertingConstructor(CXCursor C)

Determine if a C++ constructor is a converting constructor.

CINDEX_LINKAGE unsigned clang_CXXMethod_isConst(CXCursor C)

Determine if a C++ member function or member function template is declared 'const'.

CINDEX_LINKAGE CXSourceRange clang_getCursorReferenceNameRange(CXCursor C, unsigned NameFlags, unsigned PieceIndex)

Given a cursor that references something else, return the source range covering that reference.

CINDEX_LINKAGE unsigned clang_EnumDecl_isScoped(CXCursor C)

Determine if an enum declaration refers to a scoped enum.

CINDEX_LINKAGE unsigned clang_CXXConstructor_isMoveConstructor(CXCursor C)

Determine if a C++ constructor is a move constructor.

CINDEX_LINKAGE unsigned clang_CXXMethod_isExplicit(CXCursor C)

Determines if a C++ constructor or conversion function was declared explicit, returning 1 if such is ...

CINDEX_LINKAGE unsigned clang_CXXMethod_isDefaulted(CXCursor C)

Determine if a C++ method is declared '= default'.

CINDEX_LINKAGE unsigned clang_CXXMethod_isVirtual(CXCursor C)

Determine if a C++ member function or member function template is explicitly declared 'virtual' or if...

CINDEX_LINKAGE unsigned clang_CXXMethod_isDeleted(CXCursor C)

Determine if a C++ method is declared '= delete'.

CINDEX_LINKAGE CXCursor clang_getSpecializedCursorTemplate(CXCursor C)

Given a cursor that may represent a specialization or instantiation of a template,...

CINDEX_LINKAGE unsigned clang_CXXRecord_isAbstract(CXCursor C)

Determine if a C++ record is abstract, i.e.

CINDEX_LINKAGE unsigned clang_CXXMethod_isCopyAssignmentOperator(CXCursor C)

Determine if a C++ member function is a copy-assignment operator, returning 1 if such is the case and...

CINDEX_LINKAGE enum CXCursorKind clang_getTemplateCursorKind(CXCursor C)

Given a cursor that represents a template, determine the cursor kind of the specializations would be ...

@ CXNameRange_WantTemplateArgs

Include the explicit template arguments, e.g.

@ CXNameRange_WantSinglePiece

If the name is non-contiguous, return the full spanning range.

@ CXNameRange_WantQualifier

Include the nested-name-specifier, e.g.

CINDEX_LINKAGE enum CXCursorKind clang_getCursorKind(CXCursor)

Retrieve the kind of the given cursor.

CINDEX_LINKAGE unsigned clang_CXCursorSet_insert(CXCursorSet cset, CXCursor cursor)

Inserts a CXCursor into a CXCursorSet.

CINDEX_LINKAGE void clang_disposeCXPlatformAvailability(CXPlatformAvailability *availability)

Free the memory associated with a CXPlatformAvailability structure.

CINDEX_LINKAGE unsigned clang_isAttribute(enum CXCursorKind)

Determine whether the given cursor kind represents an attribute.

CINDEX_LINKAGE unsigned clang_Cursor_hasAttrs(CXCursor C)

Determine whether the given cursor has any attributes.

CINDEX_LINKAGE unsigned clang_isStatement(enum CXCursorKind)

Determine whether the given cursor kind represents a statement.

CINDEX_LINKAGE enum CXLinkageKind clang_getCursorLinkage(CXCursor cursor)

Determine the linkage of the entity referred to by a given cursor.

CINDEX_LINKAGE enum CXLanguageKind clang_getCursorLanguage(CXCursor cursor)

Determine the "language" of the entity referred to by a given cursor.

CXLanguageKind

Describe the "language" of the entity referred to by a cursor.

CINDEX_LINKAGE int clang_Cursor_hasVarDeclGlobalStorage(CXCursor cursor)

If cursor refers to a variable declaration that has global storage returns 1.

CXTLSKind

Describe the "thread-local storage (TLS) kind" of the declaration referred to by a cursor.

CINDEX_LINKAGE unsigned clang_CXCursorSet_contains(CXCursorSet cset, CXCursor cursor)

Queries a CXCursorSet to see if it contains a specific CXCursor.

CINDEX_LINKAGE enum CXTLSKind clang_getCursorTLSKind(CXCursor cursor)

Determine the "thread-local storage (TLS) kind" of the declaration referred to by a cursor.

CINDEX_LINKAGE CXTranslationUnit clang_Cursor_getTranslationUnit(CXCursor)

Returns the translation unit that a cursor originated from.

CINDEX_LINKAGE unsigned clang_isDeclaration(enum CXCursorKind)

Determine whether the given cursor kind represents a declaration.

CINDEX_LINKAGE CXCursor clang_Cursor_getVarDeclInitializer(CXCursor cursor)

If cursor refers to a variable declaration and it has initializer returns cursor referring to the ini...

CINDEX_LINKAGE unsigned clang_isUnexposed(enum CXCursorKind)

CINDEX_LINKAGE unsigned clang_isInvalid(enum CXCursorKind)

Determine whether the given cursor kind represents an invalid cursor.

CINDEX_LINKAGE unsigned clang_isExpression(enum CXCursorKind)

Determine whether the given cursor kind represents an expression.

CINDEX_LINKAGE int clang_Cursor_isNull(CXCursor cursor)

Returns non-zero if cursor is null.

CINDEX_LINKAGE enum CXVisibilityKind clang_getCursorVisibility(CXCursor cursor)

Describe the visibility of the entity referred to by a cursor.

CINDEX_LINKAGE CXCursor clang_getNullCursor(void)

Retrieve the NULL cursor, which represents no entity.

CINDEX_LINKAGE unsigned clang_equalCursors(CXCursor, CXCursor)

Determine whether two cursors are equivalent.

CINDEX_LINKAGE unsigned clang_isTranslationUnit(enum CXCursorKind)

Determine whether the given cursor kind represents a translation unit.

CINDEX_LINKAGE int clang_getCursorPlatformAvailability(CXCursor cursor, int *always_deprecated, CXString *deprecated_message, int *always_unavailable, CXString *unavailable_message, CXPlatformAvailability *availability, int availability_size)

Determine the availability of the entity that this cursor refers to on any platforms for which availa...

CINDEX_LINKAGE unsigned clang_isPreprocessing(enum CXCursorKind)

CINDEX_LINKAGE enum CXAvailabilityKind clang_getCursorAvailability(CXCursor cursor)

Determine the availability of the entity that this cursor refers to, taking the current target platfo...

CINDEX_LINKAGE int clang_Cursor_hasVarDeclExternalStorage(CXCursor cursor)

If cursor refers to a variable declaration that has external storage returns 1.

CINDEX_LINKAGE CXCursor clang_getCursorSemanticParent(CXCursor cursor)

Determine the semantic parent of the given cursor.

CINDEX_LINKAGE unsigned clang_hashCursor(CXCursor)

Compute a hash value for the given cursor.

CINDEX_LINKAGE void clang_getOverriddenCursors(CXCursor cursor, CXCursor **overridden, unsigned *num_overridden)

Determine the set of methods that are overridden by the given method.

CINDEX_LINKAGE void clang_disposeOverriddenCursors(CXCursor *overridden)

Free the set of overridden cursors returned by clang_getOverriddenCursors().

struct CXCursorSetImpl * CXCursorSet

A fast container representing a set of CXCursors.

CXLinkageKind

Describe the linkage of the entity referred to by a cursor.

CINDEX_LINKAGE CXCursor clang_getCursorLexicalParent(CXCursor cursor)

Determine the lexical parent of the given cursor.

CINDEX_LINKAGE CXCursor clang_getTranslationUnitCursor(CXTranslationUnit)

Retrieve the cursor that represents the given translation unit.

CINDEX_LINKAGE unsigned clang_isReference(enum CXCursorKind)

Determine whether the given cursor kind represents a simple reference.

CINDEX_LINKAGE void clang_disposeCXCursorSet(CXCursorSet cset)

Disposes a CXCursorSet and releases its associated memory.

CINDEX_LINKAGE CXFile clang_getIncludedFile(CXCursor cursor)

Retrieve the file that is included by the given inclusion directive cursor.

CINDEX_LINKAGE CXCursorSet clang_createCXCursorSet(void)

Creates an empty CXCursorSet.

CINDEX_LINKAGE unsigned clang_isInvalidDeclaration(CXCursor)

Determine whether the given declaration is invalid.

@ CXLinkage_NoLinkage

This is the linkage for variables, parameters, and so on that have automatic storage.

@ CXLinkage_Invalid

This value indicates that no linkage information is available for a provided CXCursor.

@ CXLinkage_Internal

This is the linkage for static variables and static functions.

@ CXLinkage_External

This is the linkage for entities with true, external linkage.

@ CXLinkage_UniqueExternal

This is the linkage for entities with external linkage that live in C++ anonymous namespaces.

@ CXVisibility_Protected

Symbol seen by the linker but resolves to a symbol inside this object.

@ CXVisibility_Hidden

Symbol not seen by the linker.

@ CXVisibility_Default

Symbol seen by the linker and acts like a normal symbol.

@ CXVisibility_Invalid

This value indicates that no visibility information is available for a provided CXCursor.

CINDEX_LINKAGE CXCursor clang_getCursor(CXTranslationUnit, CXSourceLocation)

Map a source location to the cursor that describes the entity at that location in the source code.

CINDEX_LINKAGE CXSourceRange clang_getCursorExtent(CXCursor)

Retrieve the physical extent of the source construct referenced by the given cursor.

CINDEX_LINKAGE CXSourceLocation clang_getCursorLocation(CXCursor)

Retrieve the physical location of the source constructor referenced by the given cursor.

CINDEX_LINKAGE unsigned clang_visitChildren(CXCursor parent, CXCursorVisitor visitor, CXClientData client_data)

Visit the children of a particular cursor.

struct _CXChildVisitResult * CXCursorVisitorBlock

Visitor invoked for each cursor found by a traversal.

CXChildVisitResult

Describes how the traversal of the children of a particular cursor should proceed after visiting a pa...

enum CXChildVisitResult(* CXCursorVisitor)(CXCursor cursor, CXCursor parent, CXClientData client_data)

Visitor invoked for each cursor found by a traversal.

CINDEX_LINKAGE unsigned clang_visitChildrenWithBlock(CXCursor parent, CXCursorVisitorBlock block)

Visits the children of a cursor using the specified block.

@ CXChildVisit_Break

Terminates the cursor traversal.

@ CXChildVisit_Recurse

Recursively traverse the children of this cursor, using the same visitor and client data.

@ CXChildVisit_Continue

Continues the cursor traversal with the next sibling of the cursor just visited, without visiting its...

CXObjCDeclQualifierKind

'Qualifiers' written next to the return and parameter types in Objective-C method declarations.

CINDEX_LINKAGE CXString clang_Cursor_getObjCPropertySetterName(CXCursor C)

Given a cursor that represents a property declaration, return the name of the method that implements ...

CINDEX_LINKAGE CXString clang_constructUSR_ObjCClass(const char *class_name)

Construct a USR for a specified Objective-C class.

CINDEX_LINKAGE unsigned clang_Cursor_isObjCOptional(CXCursor C)

Given a cursor that represents an Objective-C method or property declaration, return non-zero if the ...

CINDEX_LINKAGE CXSourceRange clang_Cursor_getSpellingNameRange(CXCursor, unsigned pieceIndex, unsigned options)

Retrieve a range for a piece that forms the cursors spelling name.

CINDEX_LINKAGE CXType clang_Cursor_getReceiverType(CXCursor C)

Given a cursor pointing to an Objective-C message or property reference, or C++ method call,...

CINDEX_LINKAGE CXString clang_Cursor_getRawCommentText(CXCursor C)

Given a cursor that represents a declaration, return the associated comment text, including comment m...

CINDEX_LINKAGE unsigned clang_Cursor_getObjCPropertyAttributes(CXCursor C, unsigned reserved)

Given a cursor that represents a property declaration, return the associated property attributes.

CINDEX_LINKAGE unsigned clang_Cursor_isVariadic(CXCursor C)

Returns non-zero if the given cursor is a variadic function or method.

CINDEX_LINKAGE int clang_Cursor_getObjCSelectorIndex(CXCursor)

If the cursor points to a selector identifier in an Objective-C method or message expression,...

CINDEX_LINKAGE CXString clang_getCursorUSR(CXCursor)

Retrieve a Unified Symbol Resolution (USR) for the entity referenced by the given cursor.

CINDEX_LINKAGE CXString clang_getTypePrettyPrinted(CXType CT, CXPrintingPolicy cxPolicy)

Pretty-print the underlying type using a custom printing policy.

CINDEX_LINKAGE unsigned clang_Cursor_getObjCDeclQualifiers(CXCursor C)

Given a cursor that represents an Objective-C method or parameter declaration, return the associated ...

CINDEX_LINKAGE CXString clang_constructUSR_ObjCProtocol(const char *protocol_name)

Construct a USR for a specified Objective-C protocol.

CINDEX_LINKAGE unsigned clang_isCursorDefinition(CXCursor)

Determine whether the declaration pointed to by this cursor is also a definition of that entity.

CINDEX_LINKAGE CXString clang_Cursor_getBriefCommentText(CXCursor C)

Given a cursor that represents a documentable entity (e.g., declaration), return the associated.

CINDEX_LINKAGE unsigned clang_PrintingPolicy_getProperty(CXPrintingPolicy Policy, enum CXPrintingPolicyProperty Property)

Get a property value for the given printing policy.

void * CXPrintingPolicy

Opaque pointer representing a policy that controls pretty printing for clang_getCursorPrettyPrinted.

CXObjCPropertyAttrKind

Property attributes for a CXCursor_ObjCPropertyDecl.

CINDEX_LINKAGE CXString clang_Cursor_getObjCPropertyGetterName(CXCursor C)

Given a cursor that represents a property declaration, return the name of the method that implements ...

CINDEX_LINKAGE void clang_PrintingPolicy_dispose(CXPrintingPolicy Policy)

Release a printing policy.

CINDEX_LINKAGE CXString clang_constructUSR_ObjCMethod(const char *name, unsigned isInstanceMethod, CXString classUSR)

Construct a USR for a specified Objective-C method and the USR for its containing class.

CINDEX_LINKAGE CXString clang_constructUSR_ObjCIvar(const char *name, CXString classUSR)

Construct a USR for a specified Objective-C instance variable and the USR for its containing class.

CINDEX_LINKAGE CXString clang_getCursorSpelling(CXCursor)

Retrieve a name for the entity referenced by this cursor.

CINDEX_LINKAGE void clang_PrintingPolicy_setProperty(CXPrintingPolicy Policy, enum CXPrintingPolicyProperty Property, unsigned Value)

Set a property value for the given printing policy.

CINDEX_LINKAGE CXPrintingPolicy clang_getCursorPrintingPolicy(CXCursor)

Retrieve the default policy for the cursor.

CINDEX_LINKAGE unsigned clang_Cursor_isExternalSymbol(CXCursor C, CXString *language, CXString *definedIn, unsigned *isGenerated)

Returns non-zero if the given cursor points to a symbol marked with external_source_symbol attribute.

CINDEX_LINKAGE CXSourceRange clang_Cursor_getCommentRange(CXCursor C)

Given a cursor that represents a declaration, return the associated comment's source range.

CINDEX_LINKAGE CXString clang_getCursorPrettyPrinted(CXCursor Cursor, CXPrintingPolicy Policy)

Pretty print declarations.

CINDEX_LINKAGE CXString clang_constructUSR_ObjCCategory(const char *class_name, const char *category_name)

Construct a USR for a specified Objective-C category.

CINDEX_LINKAGE CXCursor clang_getCursorReferenced(CXCursor)

For a cursor that is a reference, retrieve a cursor representing the entity that it references.

CINDEX_LINKAGE CXString clang_constructUSR_ObjCProperty(const char *property, CXString classUSR)

Construct a USR for a specified Objective-C property and the USR for its containing class.

CINDEX_LINKAGE CXString clang_getCursorDisplayName(CXCursor)

Retrieve the display name for the entity referenced by this cursor.

CINDEX_LINKAGE CXCursor clang_getCanonicalCursor(CXCursor)

Retrieve the canonical cursor corresponding to the given cursor.

CINDEX_LINKAGE int clang_Cursor_isDynamicCall(CXCursor C)

Given a cursor pointing to a C++ method call or an Objective-C message, returns non-zero if the metho...

CXPrintingPolicyProperty

Properties for the printing policy.

CINDEX_LINKAGE CXCursor clang_getCursorDefinition(CXCursor)

For a cursor that is either a reference to or a declaration of some entity, retrieve a cursor that de...

@ CXObjCDeclQualifier_Byref

@ CXObjCDeclQualifier_Inout

@ CXObjCDeclQualifier_Bycopy

@ CXObjCDeclQualifier_None

@ CXObjCDeclQualifier_Out

@ CXObjCDeclQualifier_Oneway

@ CXObjCPropertyAttr_assign

@ CXObjCPropertyAttr_retain

@ CXObjCPropertyAttr_strong

@ CXObjCPropertyAttr_atomic

@ CXObjCPropertyAttr_noattr

@ CXObjCPropertyAttr_weak

@ CXObjCPropertyAttr_copy

@ CXObjCPropertyAttr_readwrite

@ CXObjCPropertyAttr_setter

@ CXObjCPropertyAttr_nonatomic

@ CXObjCPropertyAttr_getter

@ CXObjCPropertyAttr_readonly

@ CXObjCPropertyAttr_class

@ CXObjCPropertyAttr_unsafe_unretained

@ CXPrintingPolicy_SuppressScope

@ CXPrintingPolicy_Alignof

@ CXPrintingPolicy_ConstantArraySizeAsWritten

@ CXPrintingPolicy_Indentation

@ CXPrintingPolicy_SuppressImplicitBase

@ CXPrintingPolicy_IncludeTagDefinition

@ CXPrintingPolicy_MSWChar

@ CXPrintingPolicy_SuppressSpecifiers

@ CXPrintingPolicy_SuppressUnwrittenScope

@ CXPrintingPolicy_LastProperty

@ CXPrintingPolicy_FullyQualifiedName

@ CXPrintingPolicy_SuppressStrongLifetime

@ CXPrintingPolicy_ConstantsAsWritten

@ CXPrintingPolicy_MSVCFormatting

@ CXPrintingPolicy_SuppressInitializers

@ CXPrintingPolicy_SuppressTagKeyword

@ CXPrintingPolicy_TerseOutput

@ CXPrintingPolicy_AnonymousTagLocations

@ CXPrintingPolicy_Restrict

@ CXPrintingPolicy_PolishForDeclaration

@ CXPrintingPolicy_UnderscoreAlignof

@ CXPrintingPolicy_SuppressLifetimeQualifiers

@ CXPrintingPolicy_SuppressTemplateArgsInCXXConstructors

@ CXPrintingPolicy_IncludeNewlines

@ CXPrintingPolicy_UseVoidForZeroParams

CINDEX_LINKAGE void clang_enableStackTraces(void)

CINDEX_LINKAGE void clang_getDefinitionSpellingAndExtent(CXCursor, const char **startBuf, const char **endBuf, unsigned *startLine, unsigned *startColumn, unsigned *endLine, unsigned *endColumn)

CINDEX_LINKAGE CXString clang_getCursorKindSpelling(enum CXCursorKind Kind)

CINDEX_LINKAGE void clang_executeOnThread(void(*fn)(void *), void *user_data, unsigned stack_size)

void * CXDiagnosticSet

A group of CXDiagnostics.

void * CXDiagnostic

A single diagnostic, containing the diagnostic's severity, location, text, source ranges,...

void * CXFile

A particular source file that is part of a translation unit.

struct _CXCursorAndRangeVisitorBlock * CXCursorAndRangeVisitorBlock

CINDEX_LINKAGE CXResult clang_findReferencesInFileWithBlock(CXCursor, CXFile, CXCursorAndRangeVisitorBlock)

void * CXIdxClientContainer

The client's data object that is associated with a semantic container of entities.

CINDEX_LINKAGE enum CXUnaryOperatorKind clang_getCursorUnaryOperatorKind(CXCursor cursor)

Retrieve the unary operator kind of this cursor.

CINDEX_LINKAGE CXIdxClientEntity clang_index_getClientEntity(const CXIdxEntityInfo *)

For retrieving a custom CXIdxClientEntity attached to an entity.

CINDEX_LINKAGE unsigned clang_Type_visitFields(CXType T, CXFieldVisitor visitor, CXClientData client_data)

Visit the fields of a particular type.

CINDEX_LINKAGE CXResult clang_findIncludesInFile(CXTranslationUnit TU, CXFile file, CXCursorAndRangeVisitor visitor)

Find #import/#include directives in a specific file.

CINDEX_LINKAGE const CXIdxObjCProtocolRefListInfo * clang_index_getObjCProtocolRefListInfo(const CXIdxDeclInfo *)

CINDEX_LINKAGE void clang_indexLoc_getFileLocation(CXIdxLoc loc, CXIdxClientFile *indexFile, CXFile *file, unsigned *line, unsigned *column, unsigned *offset)

Retrieve the CXIdxFile, file, line, column, and offset represented by the given CXIdxLoc.

CXUnaryOperatorKind

Describes the kind of unary operators.

CINDEX_LINKAGE int clang_indexSourceFileFullArgv(CXIndexAction, CXClientData client_data, IndexerCallbacks *index_callbacks, unsigned index_callbacks_size, unsigned index_options, const char *source_filename, const char *const *command_line_args, int num_command_line_args, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, CXTranslationUnit *out_TU, unsigned TU_options)

Same as clang_indexSourceFile but requires a full command line for command_line_args including argv[0...

CINDEX_LINKAGE void clang_index_setClientEntity(const CXIdxEntityInfo *, CXIdxClientEntity)

For setting a custom CXIdxClientEntity attached to an entity.

CXIdxEntityRefKind

Data for IndexerCallbacks::indexEntityReference.

enum CXVisitorResult(* CXFieldVisitor)(CXCursor C, CXClientData client_data)

Visitor invoked for each field found by a traversal.

CINDEX_LINKAGE const CXIdxObjCCategoryDeclInfo * clang_index_getObjCCategoryDeclInfo(const CXIdxDeclInfo *)

CXBinaryOperatorKind

Describes the kind of binary operators.

CINDEX_LINKAGE unsigned clang_visitCXXBaseClasses(CXType T, CXFieldVisitor visitor, CXClientData client_data)

Visit the base classes of a type.

void * CXIdxClientFile

The client's data object that is associated with a CXFile.

void * CXIdxClientASTFile

The client's data object that is associated with an AST file (PCH or module).

CINDEX_LINKAGE const CXIdxIBOutletCollectionAttrInfo * clang_index_getIBOutletCollectionAttrInfo(const CXIdxAttrInfo *)

CINDEX_LINKAGE void clang_index_setClientContainer(const CXIdxContainerInfo *, CXIdxClientContainer)

For setting a custom CXIdxClientContainer attached to a container.

CINDEX_LINKAGE CXSourceLocation clang_indexLoc_getCXSourceLocation(CXIdxLoc loc)

Retrieve the CXSourceLocation represented by the given CXIdxLoc.

CXSymbolRole

Roles that are attributed to symbol occurrences.

CINDEX_LINKAGE const CXIdxObjCPropertyDeclInfo * clang_index_getObjCPropertyDeclInfo(const CXIdxDeclInfo *)

CINDEX_LINKAGE CXString clang_getBinaryOperatorKindSpelling(enum CXBinaryOperatorKind kind)

Retrieve the spelling of a given CXBinaryOperatorKind.

CINDEX_LINKAGE void clang_IndexAction_dispose(CXIndexAction)

Destroy the given index action.

CINDEX_LINKAGE CXString clang_getUnaryOperatorKindSpelling(enum CXUnaryOperatorKind kind)

Retrieve the spelling of a given CXUnaryOperatorKind.

CINDEX_LINKAGE int clang_indexSourceFile(CXIndexAction, CXClientData client_data, IndexerCallbacks *index_callbacks, unsigned index_callbacks_size, unsigned index_options, const char *source_filename, const char *const *command_line_args, int num_command_line_args, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, CXTranslationUnit *out_TU, unsigned TU_options)

Index the given source file and the translation unit corresponding to that file via callbacks impleme...

CINDEX_LINKAGE CXResult clang_findReferencesInFile(CXCursor cursor, CXFile file, CXCursorAndRangeVisitor visitor)

Find references of a declaration in a specific file.

void * CXIdxClientEntity

The client's data object that is associated with a semantic entity.

CINDEX_LINKAGE int clang_indexTranslationUnit(CXIndexAction, CXClientData client_data, IndexerCallbacks *index_callbacks, unsigned index_callbacks_size, unsigned index_options, CXTranslationUnit)

Index the given translation unit via callbacks implemented through IndexerCallbacks.

CINDEX_LINKAGE const CXIdxObjCContainerDeclInfo * clang_index_getObjCContainerDeclInfo(const CXIdxDeclInfo *)

CINDEX_LINKAGE enum CXBinaryOperatorKind clang_getCursorBinaryOperatorKind(CXCursor cursor)

Retrieve the binary operator kind of this cursor.

CINDEX_LINKAGE CXResult clang_findIncludesInFileWithBlock(CXTranslationUnit, CXFile, CXCursorAndRangeVisitorBlock)

CINDEX_LINKAGE const CXIdxCXXClassDeclInfo * clang_index_getCXXClassDeclInfo(const CXIdxDeclInfo *)

void * CXIndexAction

An indexing action/session, to be applied to one or multiple translation units.

CINDEX_LINKAGE CXIdxClientContainer clang_index_getClientContainer(const CXIdxContainerInfo *)

For retrieving a custom CXIdxClientContainer attached to a container.

CINDEX_LINKAGE int clang_index_isEntityObjCContainerKind(CXIdxEntityKind)

CINDEX_LINKAGE const CXIdxObjCInterfaceDeclInfo * clang_index_getObjCInterfaceDeclInfo(const CXIdxDeclInfo *)

CINDEX_LINKAGE CXIndexAction clang_IndexAction_create(CXIndex CIdx)

An indexing action/session, to be applied to one or multiple translation units.

CXIdxEntityCXXTemplateKind

Extra C++ template information for an entity.

@ CXUnaryOperator_Minus

Minus operator.

@ CXUnaryOperator_Coawait

C++ co_await operator.

@ CXUnaryOperator_PreInc

Prefix increment operator.

@ CXUnaryOperator_PostDec

Postfix decrement operator.

@ CXUnaryOperator_Plus

Plus operator.

@ CXUnaryOperator_PreDec

Prefix decrement operator.

@ CXUnaryOperator_AddrOf

Address of operator.

@ CXUnaryOperator_Deref

Dereference operator.

@ CXUnaryOperator_PostInc

Postfix increment operator.

@ CXUnaryOperator_Invalid

This value describes cursors which are not unary operators.

@ CXUnaryOperator_Extension

extension marker operator.

@ CXUnaryOperator_Not

Not operator.

@ CXUnaryOperator_LNot

LNot operator.

@ CXUnaryOperator_Real

"__real expr" operator.

@ CXUnaryOperator_Imag

"__imag expr" operator.

@ CXIdxObjCContainer_Interface

@ CXIdxObjCContainer_Implementation

@ CXIdxObjCContainer_ForwardRef

@ CXIdxEntityRef_Implicit

An implicit reference, e.g.

@ CXIdxEntityRef_Direct

The entity is referenced directly in user's code.

@ CXResult_VisitBreak

The function was terminated by a callback (e.g.

@ CXResult_Success

Function returned successfully.

@ CXResult_Invalid

One of the parameters was invalid for the function.

@ CXBinaryOperator_XorAssign

Bitwise XOR assignment operator.

@ CXBinaryOperator_EQ

Equal operator.

@ CXBinaryOperator_Add

Addition operator.

@ CXBinaryOperator_Cmp

C++ three-way comparison (spaceship) operator.

@ CXBinaryOperator_AndAssign

Bitwise AND assignment operator.

@ CXBinaryOperator_Shr

Bitwise shift right operator.

@ CXBinaryOperator_Comma

Comma operator.

@ CXBinaryOperator_ShlAssign

Bitwise shift left assignment operator.

@ CXBinaryOperator_Sub

Subtraction operator.

@ CXBinaryOperator_LE

Less or equal operator.

@ CXBinaryOperator_PtrMemI

C++ Pointer - to - member operator.

@ CXBinaryOperator_LT

Less than operator.

@ CXBinaryOperator_NE

Not equal operator.

@ CXBinaryOperator_LOr

Logical OR operator.

@ CXBinaryOperator_And

Bitwise AND operator.

@ CXBinaryOperator_ShrAssign

Bitwise shift right assignment operator.

@ CXBinaryOperator_RemAssign

Remainder assignment operator.

@ CXBinaryOperator_Or

Bitwise OR operator.

@ CXBinaryOperator_Assign

Assignment operator.

@ CXBinaryOperator_Xor

Bitwise XOR operator.

@ CXBinaryOperator_LAnd

Logical AND operator.

@ CXBinaryOperator_Mul

Multiplication operator.

@ CXBinaryOperator_GE

Greater or equal operator.

@ CXBinaryOperator_MulAssign

Multiplication assignment operator.

@ CXBinaryOperator_Rem

Remainder operator.

@ CXBinaryOperator_PtrMemD

C++ Pointer - to - member operator.

@ CXBinaryOperator_SubAssign

Subtraction assignment operator.

@ CXBinaryOperator_AddAssign

Addition assignment operator.

@ CXBinaryOperator_Div

Division operator.

@ CXBinaryOperator_Shl

Bitwise shift left operator.

@ CXBinaryOperator_GT

Greater than operator.

@ CXBinaryOperator_Invalid

This value describes cursors which are not binary operators.

@ CXBinaryOperator_OrAssign

Bitwise OR assignment operator.

@ CXBinaryOperator_DivAssign

Division assignment operator.

@ CXIndexOpt_None

Used to indicate that no special indexing options are needed.

@ CXIndexOpt_SkipParsedBodiesInSession

Skip a function/method body that was already parsed during an indexing session associated with a CXIn...

@ CXIndexOpt_SuppressRedundantRefs

Used to indicate that IndexerCallbacks::indexEntityReference should be invoked for only one reference...

@ CXIndexOpt_SuppressWarnings

Suppress all compiler warnings when parsing for indexing.

@ CXIndexOpt_IndexImplicitTemplateInstantiations

Implicit function/class template instantiations should be indexed.

@ CXIndexOpt_IndexFunctionLocalSymbols

Function-local symbols should be indexed.

@ CXSymbolRole_Definition

@ CXSymbolRole_Declaration

@ CXIdxAttr_IBOutletCollection

@ CXIdxEntity_ObjCCategory

@ CXIdxEntity_CXXConversionFunction

@ CXIdxEntity_CXXNamespaceAlias

@ CXIdxEntity_CXXStaticVariable

@ CXIdxEntity_CXXInstanceMethod

@ CXIdxEntity_CXXStaticMethod

@ CXIdxEntity_CXXTypeAlias

@ CXIdxEntity_ObjCInstanceMethod

@ CXIdxEntity_EnumConstant

@ CXIdxEntity_CXXInterface

@ CXIdxEntity_CXXConstructor

@ CXIdxEntity_ObjCClassMethod

@ CXIdxEntity_CXXNamespace

@ CXIdxEntity_ObjCProperty

@ CXIdxEntity_ObjCProtocol

@ CXIdxEntity_CXXDestructor

@ CXIdxEntity_NonTemplate

@ CXIdxEntity_TemplatePartialSpecialization

@ CXIdxEntity_TemplateSpecialization

CINDEX_LINKAGE CXString clang_getTokenSpelling(CXTranslationUnit, CXToken)

Determine the spelling of the given token.

CINDEX_LINKAGE CXToken * clang_getToken(CXTranslationUnit TU, CXSourceLocation Location)

Get the raw lexical token starting with the given location.

CINDEX_LINKAGE CXSourceRange clang_getTokenExtent(CXTranslationUnit, CXToken)

Retrieve a source range that covers the given token.

CINDEX_LINKAGE void clang_tokenize(CXTranslationUnit TU, CXSourceRange Range, CXToken **Tokens, unsigned *NumTokens)

Tokenize the source code described by the given range into raw lexical tokens.

CINDEX_LINKAGE CXSourceLocation clang_getTokenLocation(CXTranslationUnit, CXToken)

Retrieve the source location of the given token.

CINDEX_LINKAGE CXTokenKind clang_getTokenKind(CXToken)

Determine the kind of the given token.

CINDEX_LINKAGE void clang_disposeTokens(CXTranslationUnit TU, CXToken *Tokens, unsigned NumTokens)

Free the given set of tokens.

CINDEX_LINKAGE void clang_annotateTokens(CXTranslationUnit TU, CXToken *Tokens, unsigned NumTokens, CXCursor *Cursors)

Annotate the given set of tokens by providing cursors for each token that can be mapped to a specific...

CXTokenKind

Describes a kind of token.

@ CXToken_Identifier

An identifier (that is not a keyword).

@ CXToken_Punctuation

A token that contains some kind of punctuation.

@ CXToken_Comment

A comment.

@ CXToken_Keyword

A language keyword.

@ CXToken_Literal

A numeric, string, or character literal.

CINDEX_LINKAGE CXString clang_Cursor_getMangling(CXCursor)

Retrieve the CXString representing the mangled name of the cursor.

CINDEX_LINKAGE CXStringSet * clang_Cursor_getCXXManglings(CXCursor)

Retrieve the CXStrings representing the mangled symbols of the C++ constructor or destructor at the c...

CINDEX_LINKAGE CXStringSet * clang_Cursor_getObjCManglings(CXCursor)

Retrieve the CXStrings representing the mangled symbols of the ObjC class interface or implementation...

void(* CXInclusionVisitor)(CXFile included_file, CXSourceLocation *inclusion_stack, unsigned include_len, CXClientData client_data)

Visitor invoked for each file in a translation unit (used with clang_getInclusions()).

CINDEX_LINKAGE CXString clang_getClangVersion(void)

Return a version string, suitable for showing to a user, but not intended to be parsed (the format is...

CINDEX_LINKAGE void clang_getInclusions(CXTranslationUnit tu, CXInclusionVisitor visitor, CXClientData client_data)

Visit the set of preprocessor inclusions in a translation unit.

CINDEX_LINKAGE unsigned long long clang_EvalResult_getAsUnsigned(CXEvalResult E)

Returns the evaluation result as an unsigned integer if the kind is Int and clang_EvalResult_isUnsign...

CINDEX_LINKAGE void clang_toggleCrashRecovery(unsigned isEnabled)

Enable/disable crash recovery.

CINDEX_LINKAGE long long clang_EvalResult_getAsLongLong(CXEvalResult E)

Returns the evaluation result as a long long integer if the kind is Int.

CINDEX_LINKAGE CXEvalResult clang_Cursor_Evaluate(CXCursor C)

If cursor is a statement declaration tries to evaluate the statement and if its variable,...

CINDEX_LINKAGE double clang_EvalResult_getAsDouble(CXEvalResult E)

Returns the evaluation result as double if the kind is double.

CINDEX_LINKAGE int clang_EvalResult_getAsInt(CXEvalResult E)

Returns the evaluation result as integer if the kind is Int.

void * CXEvalResult

Evaluation result of a cursor.

CINDEX_LINKAGE unsigned clang_EvalResult_isUnsignedInt(CXEvalResult E)

Returns a non-zero value if the kind is Int and the evaluation result resulted in an unsigned integer...

CINDEX_LINKAGE const char * clang_EvalResult_getAsStr(CXEvalResult E)

Returns the evaluation result as a constant string if the kind is other than Int or float.

CINDEX_LINKAGE CXEvalResultKind clang_EvalResult_getKind(CXEvalResult E)

Returns the kind of the evaluated result.

CINDEX_LINKAGE void clang_EvalResult_dispose(CXEvalResult E)

Disposes the created Eval memory.

CINDEX_LINKAGE CXFile clang_Module_getTopLevelHeader(CXTranslationUnit, CXModule Module, unsigned Index)

CINDEX_LINKAGE CXString clang_Module_getFullName(CXModule Module)

CINDEX_LINKAGE int clang_Module_isSystem(CXModule Module)

CINDEX_LINKAGE CXModule clang_getModuleForFile(CXTranslationUnit, CXFile)

Given a CXFile header file, return the module that contains it, if one exists.

CINDEX_LINKAGE CXString clang_Module_getName(CXModule Module)

CINDEX_LINKAGE CXModule clang_Module_getParent(CXModule Module)

CINDEX_LINKAGE CXFile clang_Module_getASTFile(CXModule Module)

CINDEX_LINKAGE CXModule clang_Cursor_getModule(CXCursor C)

Given a CXCursor_ModuleImportDecl cursor, return the associated module.

CINDEX_LINKAGE unsigned clang_Module_getNumTopLevelHeaders(CXTranslationUnit, CXModule Module)

void * CXRemapping

A remapping of original source files and their translated files.

CINDEX_LINKAGE unsigned clang_remap_getNumFiles(CXRemapping)

Determine the number of remappings.

CINDEX_LINKAGE void clang_remap_getFilenames(CXRemapping, unsigned index, CXString *original, CXString *transformed)

Get the original and the associated filename from the remapping.

CINDEX_LINKAGE CXRemapping clang_getRemappings(const char *path)

Retrieve a remapping.

CINDEX_LINKAGE CXRemapping clang_getRemappingsFromFileList(const char **filePaths, unsigned numFiles)

Retrieve a remapping.

CINDEX_LINKAGE void clang_remap_dispose(CXRemapping)

Dispose the remapping.

CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnit(CXIndex CIdx, const char *ast_filename)

Same as clang_createTranslationUnit2, but returns the CXTranslationUnit instead of an error code.

CINDEX_LINKAGE enum CXErrorCode clang_parseTranslationUnit2FullArgv(CXIndex CIdx, const char *source_filename, const char *const *command_line_args, int num_command_line_args, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, unsigned options, CXTranslationUnit *out_TU)

Same as clang_parseTranslationUnit2 but requires a full command line for command_line_args including ...

CXTUResourceUsageKind

Categorizes how memory is being used by a translation unit.

CINDEX_LINKAGE CXTargetInfo clang_getTranslationUnitTargetInfo(CXTranslationUnit CTUnit)

Get target information for this translation unit.

CINDEX_LINKAGE CXTranslationUnit clang_parseTranslationUnit(CXIndex CIdx, const char *source_filename, const char *const *command_line_args, int num_command_line_args, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, unsigned options)

Same as clang_parseTranslationUnit2, but returns the CXTranslationUnit instead of an error code.

CINDEX_LINKAGE unsigned clang_defaultEditingTranslationUnitOptions(void)

Returns the set of flags that is suitable for parsing a translation unit that is being edited.

CINDEX_LINKAGE int clang_saveTranslationUnit(CXTranslationUnit TU, const char *FileName, unsigned options)

Saves a translation unit into a serialized representation of that translation unit on disk.

CINDEX_LINKAGE enum CXErrorCode clang_parseTranslationUnit2(CXIndex CIdx, const char *source_filename, const char *const *command_line_args, int num_command_line_args, struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, unsigned options, CXTranslationUnit *out_TU)

Parse the given source file and the translation unit corresponding to that file.

CXSaveTranslationUnit_Flags

Flags that control how translation units are saved.

CINDEX_LINKAGE unsigned clang_defaultSaveOptions(CXTranslationUnit TU)

Returns the set of flags that is suitable for saving a translation unit.

CINDEX_LINKAGE int clang_reparseTranslationUnit(CXTranslationUnit TU, unsigned num_unsaved_files, struct CXUnsavedFile *unsaved_files, unsigned options)

Reparse the source files that produced this translation unit.

CINDEX_LINKAGE int clang_TargetInfo_getPointerWidth(CXTargetInfo Info)

Get the pointer width of the target in bits.

CXSaveError

Describes the kind of error that occurred (if any) in a call to clang_saveTranslationUnit().

CINDEX_LINKAGE enum CXErrorCode clang_createTranslationUnit2(CXIndex CIdx, const char *ast_filename, CXTranslationUnit *out_TU)

Create a translation unit from an AST file (-emit-ast).

CINDEX_LINKAGE CXString clang_TargetInfo_getTriple(CXTargetInfo Info)

Get the normalized target triple as a string.

CINDEX_LINKAGE CXString clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit)

Get the original translation unit source file name.

CINDEX_LINKAGE CXTUResourceUsage clang_getCXTUResourceUsage(CXTranslationUnit TU)

Return the memory usage of a translation unit.

CXTranslationUnit_Flags

Flags that control the creation of translation units.

CXReparse_Flags

Flags that control the reparsing of translation units.

CINDEX_LINKAGE const char * clang_getTUResourceUsageName(enum CXTUResourceUsageKind kind)

Returns the human-readable null-terminated C string that represents the name of the memory category.

CINDEX_LINKAGE unsigned clang_defaultReparseOptions(CXTranslationUnit TU)

Returns the set of flags that is suitable for reparsing a translation unit.

CINDEX_LINKAGE void clang_disposeCXTUResourceUsage(CXTUResourceUsage usage)

CINDEX_LINKAGE unsigned clang_suspendTranslationUnit(CXTranslationUnit)

Suspend a translation unit in order to free memory associated with it.

CINDEX_LINKAGE void clang_disposeTranslationUnit(CXTranslationUnit)

Destroy the specified CXTranslationUnit object.

CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnitFromSourceFile(CXIndex CIdx, const char *source_filename, int num_clang_command_line_args, const char *const *clang_command_line_args, unsigned num_unsaved_files, struct CXUnsavedFile *unsaved_files)

Return the CXTranslationUnit for a given source file and the provided command line arguments one woul...

CINDEX_LINKAGE void clang_TargetInfo_dispose(CXTargetInfo Info)

Destroy the CXTargetInfo object.

@ CXTUResourceUsage_PreprocessingRecord

@ CXTUResourceUsage_MEMORY_IN_BYTES_BEGIN

@ CXTUResourceUsage_ExternalASTSource_Membuffer_MMap

@ CXTUResourceUsage_SourceManager_DataStructures

@ CXTUResourceUsage_Selectors

@ CXTUResourceUsage_First

@ CXTUResourceUsage_Preprocessor_HeaderSearch

@ CXTUResourceUsage_MEMORY_IN_BYTES_END

@ CXTUResourceUsage_AST_SideTables

@ CXTUResourceUsage_Preprocessor

@ CXTUResourceUsage_SourceManager_Membuffer_Malloc

@ CXTUResourceUsage_SourceManagerContentCache

@ CXTUResourceUsage_ExternalASTSource_Membuffer_Malloc

@ CXTUResourceUsage_Identifiers

@ CXTUResourceUsage_GlobalCompletionResults

@ CXTUResourceUsage_SourceManager_Membuffer_MMap

@ CXSaveTranslationUnit_None

Used to indicate that no special saving options are needed.

@ CXSaveError_Unknown

Indicates that an unknown error occurred while attempting to save the file.

@ CXSaveError_InvalidTU

Indicates that the translation unit to be saved was somehow invalid (e.g., NULL).

@ CXSaveError_TranslationErrors

Indicates that errors during translation prevented this attempt to save the translation unit.

@ CXSaveError_None

Indicates that no error occurred while saving a translation unit.

@ CXTranslationUnit_CacheCompletionResults

Used to indicate that the translation unit should cache some code-completion results with each repars...

@ CXTranslationUnit_CXXChainedPCH

DEPRECATED: Enabled chained precompiled preambles in C++.

@ CXTranslationUnit_IgnoreNonErrorsFromIncludedFiles

Used to indicate that non-errors from included files should be ignored.

@ CXTranslationUnit_PrecompiledPreamble

Used to indicate that the translation unit should be built with an implicit precompiled header for th...

@ CXTranslationUnit_VisitImplicitAttributes

Used to indicate that implicit attributes should be visited.

@ CXTranslationUnit_SingleFileParse

Sets the preprocessor in a mode for parsing a single file only.

@ CXTranslationUnit_ForSerialization

Used to indicate that the translation unit will be serialized with clang_saveTranslationUnit.

@ CXTranslationUnit_DetailedPreprocessingRecord

Used to indicate that the parser should construct a "detailed" preprocessing record,...

@ CXTranslationUnit_CreatePreambleOnFirstParse

Used to indicate that the precompiled preamble should be created on the first parse.

@ CXTranslationUnit_IncludeAttributedTypes

Used to indicate that attributed types should be included in CXType.

@ CXTranslationUnit_RetainExcludedConditionalBlocks

Tells the preprocessor not to skip excluded conditional blocks.

@ CXTranslationUnit_SkipFunctionBodies

Used to indicate that function/method bodies should be skipped while parsing.

@ CXTranslationUnit_Incomplete

Used to indicate that the translation unit is incomplete.

@ CXTranslationUnit_IncludeBriefCommentsInCodeCompletion

Used to indicate that brief documentation comments should be included into the set of code completion...

@ CXTranslationUnit_KeepGoing

Do not stop processing when fatal errors are encountered.

@ CXTranslationUnit_None

Used to indicate that no special translation-unit options are needed.

@ CXTranslationUnit_LimitSkipFunctionBodiesToPreamble

Used in combination with CXTranslationUnit_SkipFunctionBodies to constrain the skipping of function b...

@ CXReparse_None

Used to indicate that no special reparsing options are needed.

CINDEX_LINKAGE long long clang_Type_getSizeOf(CXType T)

Return the size of a type in bytes as per C++[expr.sizeof] standard.

CX_StorageClass

Represents the storage classes as declared in the source.

CINDEX_LINKAGE CXString clang_Type_getObjCEncoding(CXType type)

Returns the Objective-C type encoding for the specified CXType.

CINDEX_LINKAGE unsigned long long clang_Cursor_getTemplateArgumentUnsignedValue(CXCursor C, unsigned I)

Retrieve the value of an Integral TemplateArgument (of a function decl representing a template specia...

CINDEX_LINKAGE CXCursor clang_getTypeDeclaration(CXType T)

Return the cursor for the declaration of the given type.

CINDEX_LINKAGE CXType clang_getEnumDeclIntegerType(CXCursor C)

Retrieve the integer type of an enum declaration.

CINDEX_LINKAGE unsigned clang_Cursor_isMacroFunctionLike(CXCursor C)

Determine whether a CXCursor that is a macro, is function like.

CINDEX_LINKAGE unsigned clang_isRestrictQualifiedType(CXType T)

Determine whether a CXType has the "restrict" qualifier set, without looking through typedefs that ma...

CINDEX_LINKAGE int clang_Type_getNumTemplateArguments(CXType T)

Returns the number of template arguments for given template specialization, or -1 if type T is not a ...

CINDEX_LINKAGE CXString clang_Cursor_getBinaryOpcodeStr(enum CX_BinaryOperatorKind Op)

Returns a string containing the spelling of the binary operator.

CINDEX_LINKAGE unsigned clang_isVirtualBase(CXCursor)

Returns 1 if the base class specified by the cursor with kind CX_CXXBaseSpecifier is virtual.

CX_BinaryOperatorKind

Represents a specific kind of binary operator which can appear at a cursor.

CINDEX_LINKAGE enum CX_StorageClass clang_Cursor_getStorageClass(CXCursor)

Returns the storage class for a function or variable declaration.

CINDEX_LINKAGE unsigned clang_Type_getNumObjCProtocolRefs(CXType T)

Retrieve the number of protocol references associated with an ObjC object/id.

CX_CXXAccessSpecifier

Represents the C++ access control level to a base class for a cursor with kind CX_CXXBaseSpecifier.

CINDEX_LINKAGE unsigned clang_isFunctionTypeVariadic(CXType T)

Return 1 if the CXType is a variadic function type, and 0 otherwise.

CINDEX_LINKAGE CXType clang_getResultType(CXType T)

Retrieve the return type associated with a function type.

CINDEX_LINKAGE CXType clang_getNonReferenceType(CXType CT)

For reference types (e.g., "const int&"), returns the type that the reference refers to (e....

CINDEX_LINKAGE CXString clang_getDeclObjCTypeEncoding(CXCursor C)

Returns the Objective-C type encoding for the specified declaration.

CINDEX_LINKAGE unsigned clang_isPODType(CXType T)

Return 1 if the CXType is a POD (plain old data) type, and 0 otherwise.

CINDEX_LINKAGE CXType clang_Type_getClassType(CXType T)

Return the class type of an member pointer type.

CINDEX_LINKAGE long long clang_Cursor_getTemplateArgumentValue(CXCursor C, unsigned I)

Retrieve the value of an Integral TemplateArgument (of a function decl representing a template specia...

CXCallingConv

Describes the calling convention of a function type.

CINDEX_LINKAGE CXType clang_Type_getObjCObjectBaseType(CXType T)

Retrieves the base type of the ObjCObjectType.

CINDEX_LINKAGE enum CX_BinaryOperatorKind clang_Cursor_getBinaryOpcode(CXCursor C)

Returns the operator code for the binary operator.

CINDEX_LINKAGE int clang_Cursor_getNumArguments(CXCursor C)

Retrieve the number of non-variadic arguments associated with a given cursor.

CINDEX_LINKAGE unsigned clang_Cursor_isAnonymousRecordDecl(CXCursor C)

Determine whether the given cursor represents an anonymous record declaration.

CINDEX_LINKAGE CXCursor clang_Cursor_getArgument(CXCursor C, unsigned i)

Retrieve the argument cursor of a function or method.

CINDEX_LINKAGE CXType clang_getArgType(CXType T, unsigned i)

Retrieve the type of a parameter of a function type.

CINDEX_LINKAGE CXType clang_Type_getObjCTypeArg(CXType T, unsigned i)

Retrieve a type argument associated with an ObjC object.

CINDEX_LINKAGE CXType clang_getCursorResultType(CXCursor C)

Retrieve the return type associated with a given cursor.

CINDEX_LINKAGE long long clang_getEnumConstantDeclValue(CXCursor C)

Retrieve the integer value of an enum constant declaration as a signed long long.

CINDEX_LINKAGE CXString clang_getTypeKindSpelling(enum CXTypeKind K)

Retrieve the spelling of a given CXTypeKind.

CINDEX_LINKAGE unsigned clang_Cursor_isAnonymous(CXCursor C)

Determine whether the given cursor represents an anonymous tag or namespace.

CINDEX_LINKAGE CXType clang_Type_getModifiedType(CXType T)

Return the type that was modified by this attributed type.

CINDEX_LINKAGE unsigned clang_getNumOverloadedDecls(CXCursor cursor)

Determine the number of overloaded declarations referenced by a CXCursor_OverloadedDeclRef cursor.

CINDEX_LINKAGE int clang_getNumArgTypes(CXType T)

Retrieve the number of non-variadic parameters associated with a function type.

CINDEX_LINKAGE CXType clang_getArrayElementType(CXType T)

Return the element type of an array type.

CINDEX_LINKAGE unsigned clang_Cursor_isBitField(CXCursor C)

Returns non-zero if the cursor specifies a Record member that is a bit-field.

CINDEX_LINKAGE CXString clang_getTypedefName(CXType CT)

Returns the typedef name of the given type.

CINDEX_LINKAGE enum CXTypeNullabilityKind clang_Type_getNullability(CXType T)

Retrieve the nullability kind of a pointer type.

CINDEX_LINKAGE int clang_getFieldDeclBitWidth(CXCursor C)

Retrieve the bit width of a bit-field declaration as an integer.

CINDEX_LINKAGE CXType clang_getUnqualifiedType(CXType CT)

Retrieve the unqualified variant of the given type, removing as little sugar as possible.

CINDEX_LINKAGE unsigned clang_isConstQualifiedType(CXType T)

Determine whether a CXType has the "const" qualifier set, without looking through typedefs that may h...

CINDEX_LINKAGE CXType clang_getTypedefDeclUnderlyingType(CXCursor C)

Retrieve the underlying type of a typedef declaration.

CINDEX_LINKAGE unsigned clang_getAddressSpace(CXType T)

Returns the address space of the given type.

CINDEX_LINKAGE unsigned clang_Type_getNumObjCTypeArgs(CXType T)

Retrieve the number of type arguments associated with an ObjC object.

CINDEX_LINKAGE long long clang_getArraySize(CXType T)

Return the array size of a constant array.

CINDEX_LINKAGE unsigned clang_Cursor_isFunctionInlined(CXCursor C)

Determine whether a CXCursor that is a function declaration, is an inline declaration.

CINDEX_LINKAGE CXType clang_Type_getTemplateArgumentAsType(CXType T, unsigned i)

Returns the type template argument of a template class specialization at given index.

CINDEX_LINKAGE int clang_getExceptionSpecificationType(CXType T)

Retrieve the exception specification type associated with a function type.

CINDEX_LINKAGE unsigned clang_Type_isTransparentTagTypedef(CXType T)

Determine if a typedef is 'transparent' tag.

CINDEX_LINKAGE enum CXRefQualifierKind clang_Type_getCXXRefQualifier(CXType T)

Retrieve the ref-qualifier kind of a function or method.

CINDEX_LINKAGE int clang_Cursor_getNumTemplateArguments(CXCursor C)

Returns the number of template args of a function, struct, or class decl representing a template spec...

CINDEX_LINKAGE long long clang_Cursor_getOffsetOfField(CXCursor C)

Return the offset of the field represented by the Cursor.

CINDEX_LINKAGE CXType clang_getCanonicalType(CXType T)

Return the canonical type for a CXType.

CINDEX_LINKAGE unsigned clang_isVolatileQualifiedType(CXType T)

Determine whether a CXType has the "volatile" qualifier set, without looking through typedefs that ma...

CXTypeKind

Describes the kind of type.

CINDEX_LINKAGE CXType clang_getCursorType(CXCursor C)

Retrieve the type of a CXCursor (if any).

CXTypeLayoutError

List the possible error codes for clang_Type_getSizeOf, clang_Type_getAlignOf, clang_Type_getOffsetOf...

CINDEX_LINKAGE CXType clang_getPointeeType(CXType T)

For pointer types, returns the type of the pointee.

CINDEX_LINKAGE CXCursor clang_getOverloadedDecl(CXCursor cursor, unsigned index)

Retrieve a cursor for one of the overloaded declarations referenced by a CXCursor_OverloadedDeclRef c...

CINDEX_LINKAGE CXType clang_getElementType(CXType T)

Return the element type of an array, complex, or vector type.

CINDEX_LINKAGE long long clang_Type_getOffsetOf(CXType T, const char *S)

Return the offset of a field named S in a record of type T in bits as it would be returned by offseto...

CINDEX_LINKAGE enum CX_CXXAccessSpecifier clang_getCXXAccessSpecifier(CXCursor)

Returns the access control level for the referenced object.

CINDEX_LINKAGE CXCursor clang_Type_getObjCProtocolDecl(CXType T, unsigned i)

Retrieve the decl for a protocol reference for an ObjC object/id.

CINDEX_LINKAGE unsigned clang_equalTypes(CXType A, CXType B)

Determine whether two CXTypes represent the same type.

CINDEX_LINKAGE long long clang_getNumElements(CXType T)

Return the number of elements of an array or vector type.

CINDEX_LINKAGE CXType clang_Type_getNamedType(CXType T)

Retrieve the type named by the qualified-id.

CINDEX_LINKAGE CXString clang_getTypeSpelling(CXType CT)

Pretty-print the underlying type using the rules of the language of the translation unit from which i...

CINDEX_LINKAGE long long clang_getOffsetOfBase(CXCursor Parent, CXCursor Base)

Returns the offset in bits of a CX_CXXBaseSpecifier relative to the parent class.

CINDEX_LINKAGE unsigned clang_Cursor_isMacroBuiltin(CXCursor C)

Determine whether a CXCursor that is a macro, is a builtin one.

CINDEX_LINKAGE enum CXTemplateArgumentKind clang_Cursor_getTemplateArgumentKind(CXCursor C, unsigned I)

Retrieve the kind of the I'th template argument of the CXCursor C.

CINDEX_LINKAGE enum CXCallingConv clang_getFunctionTypeCallingConv(CXType T)

Retrieve the calling convention associated with a function type.

CINDEX_LINKAGE CXType clang_Cursor_getTemplateArgumentType(CXCursor C, unsigned I)

Retrieve a CXType representing the type of a TemplateArgument of a function decl representing a templ...

CINDEX_LINKAGE CXType clang_Type_getValueType(CXType CT)

Gets the type contained by this atomic type.

CINDEX_LINKAGE int clang_getCursorExceptionSpecificationType(CXCursor C)

Retrieve the exception specification type associated with a given cursor.

CINDEX_LINKAGE long long clang_Type_getAlignOf(CXType T)

Return the alignment of a type in bytes as per C++[expr.alignof] standard.

CXTemplateArgumentKind

Describes the kind of a template argument.

CINDEX_LINKAGE unsigned long long clang_getEnumConstantDeclUnsignedValue(CXCursor C)

Retrieve the integer value of an enum constant declaration as an unsigned long long.

CINDEX_LINKAGE unsigned clang_Cursor_isInlineNamespace(CXCursor C)

Determine whether the given cursor represents an inline namespace declaration.

@ CX_SC_OpenCLWorkGroupLocal

@ CXTypeNullability_Nullable

Values of this type can be null.

@ CXTypeNullability_Invalid

Nullability is not applicable to this type.

@ CXTypeNullability_Unspecified

Whether values of this type can be null is (explicitly) unspecified.

@ CXTypeNullability_NonNull

Values of this type can never be null.

@ CXTypeNullability_NullableResult

Generally behaves like Nullable, except when used in a block parameter that was imported into a swift...

@ CX_CXXInvalidAccessSpecifier

@ CXRefQualifier_LValue

An lvalue ref-qualifier was provided (&).

@ CXRefQualifier_None

No ref-qualifier was provided.

@ CXRefQualifier_RValue

An rvalue ref-qualifier was provided (&&).

@ CXCallingConv_RISCVVectorCall

@ CXCallingConv_X86_64SysV

@ CXCallingConv_X86StdCall

@ CXCallingConv_PreserveNone

@ CXCallingConv_X86Pascal

@ CXCallingConv_AAPCS_VFP

@ CXCallingConv_AArch64VectorCall

@ CXCallingConv_SwiftAsync

@ CXCallingConv_IntelOclBicc

@ CXCallingConv_X86ThisCall

@ CXCallingConv_X86VectorCall

@ CXCallingConv_X86_64Win64

@ CXCallingConv_PreserveAll

@ CXCallingConv_X86RegCall

@ CXCallingConv_X86FastCall

@ CXCallingConv_AArch64SVEPCS

@ CXCallingConv_Unexposed

@ CXCallingConv_PreserveMost

@ CXType_OCLImage2dMSAAWO

@ CXType_OCLImage2dArrayMSAARW

@ CXType_OCLImage2dArrayMSAADepthRO

@ CXType_OCLImage1dArrayRW

@ CXType_OCLImage2dMSAADepthWO

@ CXType_OCLImage2dMSAARW

@ CXType_OCLImage1dBufferWO

@ CXType_OCLImage2dArrayMSAAWO

@ CXType_OCLIntelSubgroupAVCImeResult

@ CXType_OCLIntelSubgroupAVCImeResultDualRefStreamout

@ CXType_OCLImage2dArrayRW

@ CXType_Unexposed

A type whose specific kind is not exposed via this interface.

@ CXType_OCLIntelSubgroupAVCImeSingleReferenceStreamin

@ CXType_OCLIntelSubgroupAVCImeResultSingleRefStreamout

@ CXType_Invalid

Represents an invalid type (e.g., where no type is available).

@ CXType_OCLIntelSubgroupAVCImeDualRefStreamin

@ CXType_OCLIntelSubgroupAVCImeSingleRefStreamin

@ CXType_OCLImage2dArrayDepthRO

@ CXType_OCLImage2dArrayDepthWO

@ CXType_OCLImage2dDepthRO

@ CXType_OCLImage1dArrayRO

@ CXType_OCLIntelSubgroupAVCSicResult

@ CXType_OCLImage2dArrayMSAADepthRW

@ CXType_OCLImage2dDepthRW

@ CXType_OCLImage2dArrayMSAARO

@ CXType_OCLImage2dMSAADepthRW

@ CXType_OCLImage2dArrayMSAADepthWO

@ CXType_OCLImage2dMSAADepthRO

@ CXType_OCLImage1dArrayWO

@ CXType_BTFTagAttributed

@ CXType_OCLImage2dArrayWO

@ CXType_OCLIntelSubgroupAVCSicPayload

@ CXType_OCLIntelSubgroupAVCImeDualReferenceStreamin

@ CXType_OCLImage2dArrayDepthRW

@ CXType_OCLImage1dBufferRW

@ CXType_DependentSizedArray

@ CXType_OCLImage1dBufferRO

@ CXType_OCLIntelSubgroupAVCRefPayload

@ CXType_OCLImage2dDepthWO

@ CXType_OCLImage2dMSAARO

@ CXType_OCLIntelSubgroupAVCMceResult

@ CXType_ObjCObjectPointer

@ CXType_OCLIntelSubgroupAVCImeResultSingleReferenceStreamout

@ CXType_HLSLAttributedResource

@ CXType_OCLIntelSubgroupAVCImePayload

@ CXType_OCLIntelSubgroupAVCImeResultDualReferenceStreamout

@ CXType_OCLIntelSubgroupAVCMcePayload

@ CXType_OCLIntelSubgroupAVCRefResult

@ CXType_Elaborated

Represents a type that was referred to using an elaborated type keyword.

@ CXType_OCLImage2dArrayRO

@ CXTypeLayoutError_Incomplete

The type is an incomplete Type.

@ CXTypeLayoutError_Dependent

The type is a dependent Type.

@ CXTypeLayoutError_Undeduced

The type is undeduced.

@ CXTypeLayoutError_NotConstantSize

The type is not a constant size type.

@ CXTypeLayoutError_Invalid

Type is of kind CXType_Invalid.

@ CXTypeLayoutError_InvalidFieldName

The Field name is not valid for this record.

@ CXTemplateArgumentKind_NullPtr

@ CXTemplateArgumentKind_Expression

@ CXTemplateArgumentKind_Pack

@ CXTemplateArgumentKind_Declaration

@ CXTemplateArgumentKind_Type

@ CXTemplateArgumentKind_Null

@ CXTemplateArgumentKind_Integral

@ CXTemplateArgumentKind_Template

@ CXTemplateArgumentKind_TemplateExpansion

@ CXTemplateArgumentKind_Invalid

CINDEX_LINKAGE void clang_disposeIndex(CXIndex index)

Destroy the given index.

CINDEX_LINKAGE unsigned clang_isFileMultipleIncludeGuarded(CXTranslationUnit tu, CXFile file)

Determine whether the given header is guarded against multiple inclusions, either with the convention...

CINDEX_LINKAGE unsigned clang_CXIndex_getGlobalOptions(CXIndex)

Gets the general options associated with a CXIndex.

CINDEX_LINKAGE CXDiagnostic clang_getDiagnostic(CXTranslationUnit Unit, unsigned Index)

Retrieve a diagnostic associated with the given translation unit.

CINDEX_LINKAGE CXIndex clang_createIndex(int excludeDeclarationsFromPCH, int displayDiagnostics)

Provides a shared context for creating translation units.

CINDEX_LINKAGE const char * clang_getFileContents(CXTranslationUnit tu, CXFile file, size_t *size)

Retrieve the buffer associated with the given file.

struct CXTargetInfoImpl * CXTargetInfo

An opaque type representing target information for a given translation unit.

CINDEX_LINKAGE void clang_CXIndex_setGlobalOptions(CXIndex, unsigned options)

Sets general options associated with a CXIndex.

CINDEX_LINKAGE CXIndex clang_createIndexWithOptions(const CXIndexOptions *options)

Provides a shared context for creating translation units.

CINDEX_LINKAGE CXSourceLocation clang_getLocation(CXTranslationUnit tu, CXFile file, unsigned line, unsigned column)

Retrieves the source location associated with a given file/line/column in a particular translation un...

CINDEX_LINKAGE CXSourceRangeList * clang_getAllSkippedRanges(CXTranslationUnit tu)

Retrieve all ranges from all files that were skipped by the preprocessor.

CINDEX_LINKAGE CXFile clang_getFile(CXTranslationUnit tu, const char *file_name)

Retrieve a file handle within the given translation unit.

CXCursorKind

Describes the kind of entity that a cursor refers to.

CINDEX_LINKAGE CXSourceRangeList * clang_getSkippedRanges(CXTranslationUnit tu, CXFile file)

Retrieve all ranges that were skipped by the preprocessor.

CINDEX_LINKAGE CXSourceLocation clang_getLocationForOffset(CXTranslationUnit tu, CXFile file, unsigned offset)

Retrieves the source location associated with a given character offset in a particular translation un...

struct CXTranslationUnitImpl * CXTranslationUnit

A single translation unit, which resides in an index.

void * CXClientData

Opaque pointer representing client data that will be passed through to various callbacks and visitors...

CXCursor_ExceptionSpecificationKind

Describes the exception specification of a cursor.

CXAvailabilityKind

Describes the availability of a particular entity, which indicates whether the use of this entity wil...

CINDEX_LINKAGE void clang_CXIndex_setInvocationEmissionPathOption(CXIndex, const char *Path)

Sets the invocation emission path option in a CXIndex.

void * CXIndex

An "index" that consists of a set of translation units that would typically be linked together into a...

CINDEX_LINKAGE unsigned clang_getNumDiagnostics(CXTranslationUnit Unit)

Determine the number of diagnostics produced for the given translation unit.

CINDEX_LINKAGE CXDiagnosticSet clang_getDiagnosticSetFromTU(CXTranslationUnit Unit)

Retrieve the complete set of diagnostics associated with a translation unit.

@ CXGlobalOpt_ThreadBackgroundPriorityForEditing

Used to indicate that threads that libclang creates for editing purposes should use background priori...

@ CXGlobalOpt_None

Used to indicate that no special CXIndex options are needed.

@ CXGlobalOpt_ThreadBackgroundPriorityForIndexing

Used to indicate that threads that libclang creates for indexing purposes should use background prior...

@ CXGlobalOpt_ThreadBackgroundPriorityForAll

Used to indicate that all threads that libclang creates should use background priority.

@ CXChoice_Disabled

Disable the option.

@ CXChoice_Enabled

Enable the option.

@ CXChoice_Default

Use the default value of an option that may depend on the process environment.

@ CXCursor_OMPCriticalDirective

OpenMP critical directive.

@ CXCursor_NSReturnsAutoreleased

@ CXCursor_OMPCanonicalLoop

OpenMP canonical loop.

@ CXCursor_ObjCInterfaceDecl

An Objective-C @interface.

@ CXCursor_CXXAddrspaceCastExpr

OpenCL's addrspace_cast<> expression.

@ CXCursor_ObjCSuperClassRef

@ CXCursor_CXXReinterpretCastExpr

C++'s reinterpret_cast<> expression.

@ CXCursor_OMPParallelMaskedTaskLoopSimdDirective

OpenMP parallel masked taskloop simd directive.

@ CXCursor_ObjCEncodeExpr

An Objective-C @encode expression.

@ CXCursor_Namespace

A C++ namespace.

@ CXCursor_NSReturnsRetained

@ CXCursor_OMPMasterDirective

OpenMP master directive.

@ CXCursor_OMPSectionsDirective

OpenMP sections directive.

@ CXCursor_OMPReverseDirective

OpenMP reverse directive.

@ CXCursor_OMPFlushDirective

OpenMP flush directive.

@ CXCursor_CXXTypeidExpr

A C++ typeid expression (C++ [expr.typeid]).

@ CXCursor_OMPTargetEnterDataDirective

OpenMP target enter data directive.

@ CXCursor_OMPParallelDirective

OpenMP parallel directive.

@ CXCursor_OMPMasterTaskLoopDirective

OpenMP master taskloop directive.

@ CXCursor_TypedefDecl

A typedef.

@ CXCursor_IfStmt

An if statement.

@ CXCursor_OMPMasterTaskLoopSimdDirective

OpenMP master taskloop simd directive.

@ CXCursor_CXXThrowExpr

[C++ 15] C++ Throw Expression.

@ CXCursor_OMPTileDirective

OpenMP tile directive.

@ CXCursor_OMPTargetTeamsDistributeSimdDirective

OpenMP target teams distribute simd directive.

@ CXCursor_SEHFinallyStmt

Windows Structured Exception Handling's finally statement.

@ CXCursor_UnaryExpr

A unary expression.

@ CXCursor_GotoStmt

A goto statement.

@ CXCursor_ObjCSelectorExpr

An Objective-C @selector expression.

@ CXCursor_CXXAccessSpecifier

An access specifier.

@ CXCursor_ObjCBridgedCastExpr

An Objective-C "bridged" cast expression, which casts between Objective-C pointers and C pointers,...

@ CXCursor_OMPSimdDirective

OpenMP SIMD directive.

@ CXCursor_OMPTeamsDistributeDirective

OpenMP teams distribute directive.

@ CXCursor_EnumConstantDecl

An enumerator constant.

@ CXCursor_OMPArrayShapingExpr

OpenMP 5.0 [2.1.4, Array Shaping].

@ CXCursor_LabelRef

A reference to a labeled statement.

@ CXCursor_OMPTargetParallelForSimdDirective

OpenMP target parallel for simd directive.

@ CXCursor_OMPTargetSimdDirective

OpenMP target simd directive.

@ CXCursor_ObjCAtFinallyStmt

Objective-C's @finally statement.

@ CXCursor_PackExpansionExpr

Represents a C++0x pack expansion that produces a sequence of expressions.

@ CXCursor_OMPTeamsGenericLoopDirective

OpenMP teams loop directive.

@ CXCursor_ConversionFunction

A C++ conversion function.

@ CXCursor_BuiltinBitCastExpr

C++2a std::bit_cast expression.

@ CXCursor_OMPParallelMasterDirective

OpenMP parallel master directive.

@ CXCursor_NSConsumesSelf

@ CXCursor_OMPDistributeDirective

OpenMP distribute directive.

@ CXCursor_OMPTeamsDistributeParallelForSimdDirective

OpenMP teams distribute parallel for simd directive.

@ CXCursor_GNUNullExpr

Implements the GNU __null extension, which is a name for a null pointer constant that has integral ty...

@ CXCursor_ConceptDecl

a concept declaration.

@ CXCursor_OMPOrderedDirective

OpenMP ordered directive.

@ CXCursor_OMPInterchangeDirective

OpenMP interchange directive.

@ CXCursor_ClassTemplate

A C++ class template.

@ CXCursor_UnionDecl

A C or C++ union.

@ CXCursor_OMPMaskedDirective

OpenMP masked directive.

@ CXCursor_OMPCancelDirective

OpenMP cancel directive.

@ CXCursor_UnexposedStmt

A statement whose specific kind is not exposed via this interface.

@ CXCursor_LabelStmt

A labelled statement in a function.

@ CXCursor_OMPDistributeParallelForSimdDirective

OpenMP distribute parallel for simd directive.

@ CXCursor_ObjCSynthesizeDecl

An Objective-C @synthesize definition.

@ CXCursor_FirstPreprocessing

@ CXCursor_ObjCBoolLiteralExpr

Objective-c Boolean Literal.

@ CXCursor_MacroInstantiation

@ CXCursor_OMPCancellationPointDirective

OpenMP cancellation point directive.

@ CXCursor_StringLiteral

A string literal.

@ CXCursor_OMPTargetTeamsDistributeDirective

OpenMP target teams distribute directive.

@ CXCursor_WarnUnusedResultAttr

@ CXCursor_OMPTeamsDistributeSimdDirective

OpenMP teams distribute simd directive.

@ CXCursor_GCCAsmStmt

A GCC inline assembly statement extension.

@ CXCursor_ObjCIndependentClass

@ CXCursor_ObjCAvailabilityCheckExpr

Represents an @available(...) check.

@ CXCursor_VariableRef

A reference to a variable that occurs in some non-expression context, e.g., a C++ lambda capture list...

@ CXCursor_OMPParallelForDirective

OpenMP parallel for directive.

@ CXCursor_SizeOfPackExpr

Represents an expression that computes the length of a parameter pack.

@ CXCursor_LastPreprocessing

@ CXCursor_GenericSelectionExpr

Represents a C11 generic selection.

@ CXCursor_OMPTaskLoopDirective

OpenMP taskloop directive.

@ CXCursor_OMPSectionDirective

OpenMP section directive.

@ CXCursor_CXXStaticCastExpr

C++'s static_cast<> expression.

@ CXCursor_SwitchStmt

A switch statement.

@ CXCursor_ParmDecl

A function or method parameter.

@ CXCursor_ObjCProtocolRef

@ CXCursor_FieldDecl

A field (in C) or non-static data member (in C++) in a struct, union, or C++ class.

@ CXCursor_UnexposedAttr

An attribute whose specific kind is not exposed via this interface.

@ CXCursor_ObjCAtSynchronizedStmt

Objective-C's @synchronized statement.

@ CXCursor_OpenACCComputeConstruct

OpenACC Compute Construct.

@ CXCursor_NSReturnsNotRetained

@ CXCursor_OMPMaskedTaskLoopDirective

OpenMP masked taskloop directive.

@ CXCursor_OMPDistributeParallelForDirective

OpenMP distribute parallel for directive.

@ CXCursor_OMPAssumeDirective

OpenMP assume directive.

@ CXCursor_OMPTeamsDistributeParallelForDirective

OpenMP teams distribute parallel for directive.

@ CXCursor_ObjCSelfExpr

Represents the "self" expression in an Objective-C method.

@ CXCursor_CXXMethod

A C++ class method.

@ CXCursor_OMPMetaDirective

OpenMP metadirective directive.

@ CXCursor_WarnUnusedAttr

@ CXCursor_ObjCSubclassingRestricted

@ CXCursor_BlockExpr

An expression that represents a block literal.

@ CXCursor_OMPTaskLoopSimdDirective

OpenMP taskloop simd directive.

@ CXCursor_OMPTargetExitDataDirective

OpenMP target exit data directive.

@ CXCursor_ObjCMessageExpr

An expression that sends a message to an Objective-C object or class.

@ CXCursor_DeclStmt

Adaptor class for mixing declarations with statements and expressions.

@ CXCursor_OpenACCUpdateConstruct

OpenACC update Construct.

@ CXCursor_CXXForRangeStmt

C++'s for (* : *) statement.

@ CXCursor_EnumDecl

An enumeration.

@ CXCursor_OMPTaskwaitDirective

OpenMP taskwait directive.

@ CXCursor_ObjCAutoreleasePoolStmt

Objective-C's autorelease pool statement.

@ CXCursor_CompoundAssignOperator

Compound assignment such as "+=".

@ CXCursor_MacroExpansion

@ CXCursor_OMPInteropDirective

OpenMP interop directive.

@ CXCursor_OMPDispatchDirective

OpenMP dispatch directive.

@ CXCursor_CXXConstCastExpr

C++'s const_cast<> expression.

@ CXCursor_OMPGenericLoopDirective

OpenMP loop directive.

@ CXCursor_ObjCClassMethodDecl

An Objective-C class method.

@ CXCursor_OMPTaskyieldDirective

OpenMP taskyield directive.

@ CXCursor_OMPAtomicDirective

OpenMP atomic directive.

@ CXCursor_OMPTargetTeamsDirective

OpenMP target teams directive.

@ CXCursor_ForStmt

A for statement.

@ CXCursor_ConditionalOperator

The ?: ternary operator.

@ CXCursor_IndirectGotoStmt

An indirect goto statement.

@ CXCursor_TranslationUnit

Cursor that represents the translation unit itself.

@ CXCursor_PreprocessingDirective

@ CXCursor_OpenACCDataConstruct

OpenACC data Construct.

@ CXCursor_ConceptSpecializationExpr

Expression that references a C++20 concept.

@ CXCursor_ClassTemplatePartialSpecialization

A C++ class template partial specialization.

@ CXCursor_OMPTargetTeamsGenericLoopDirective

OpenMP target teams loop directive.

@ CXCursor_OpenACCExitDataConstruct

OpenACC exit data Construct.

@ CXCursor_OMPParallelMaskedTaskLoopDirective

OpenMP parallel masked taskloop directive.

@ CXCursor_CXXOverrideAttr

@ CXCursor_ObjCProtocolDecl

An Objective-C @protocol declaration.

@ CXCursor_ArraySubscriptExpr

[C99 6.5.2.1] Array Subscripting.

@ CXCursor_NullStmt

The null statement ";": C99 6.8.3p3.

@ CXCursor_FunctionTemplate

A C++ function template.

@ CXCursor_NoDuplicateAttr

@ CXCursor_ObjCImplementationDecl

An Objective-C @implementation.

@ CXCursor_OMPScanDirective

OpenMP scan directive.

@ CXCursor_OpenACCInitConstruct

OpenACC init Construct.

@ CXCursor_IBOutletCollectionAttr

@ CXCursor_TypeRef

A reference to a type declaration.

@ CXCursor_CUDAGlobalAttr

@ CXCursor_NamespaceRef

A reference to a namespace or namespace alias.

@ CXCursor_DoStmt

A do statement.

@ CXCursor_OpenACCSetConstruct

OpenACC set Construct.

@ CXCursor_NonTypeTemplateParameter

A C++ non-type template parameter.

@ CXCursor_ObjCAtThrowStmt

Objective-C's @throw statement.

@ CXCursor_OMPErrorDirective

OpenMP error directive.

@ CXCursor_CUDASharedAttr

@ CXCursor_IntegerLiteral

An integer literal.

@ CXCursor_OMPDepobjDirective

OpenMP depobj directive.

@ CXCursor_MSAsmStmt

A MS inline assembly statement extension.

@ CXCursor_CUDADeviceAttr

@ CXCursor_OMPBarrierDirective

OpenMP barrier directive.

@ CXCursor_ContinueStmt

A continue statement.

@ CXCursor_OMPSingleDirective

OpenMP single directive.

@ CXCursor_FunctionDecl

A function.

@ CXCursor_FloatingLiteral

A floating point number literal.

@ CXCursor_CompoundStmt

A group of statements like { stmt stmt }.

@ CXCursor_ObjCPropertyDecl

An Objective-C @property declaration.

@ CXCursor_MemberRefExpr

An expression that refers to a member of a struct, union, class, Objective-C class,...

@ CXCursor_Destructor

A C++ destructor.

@ CXCursor_ObjCIvarDecl

An Objective-C instance variable.

@ CXCursor_OMPForSimdDirective

OpenMP for SIMD directive.

@ CXCursor_OMPParallelSectionsDirective

OpenMP parallel sections directive.

@ CXCursor_CStyleCastExpr

An explicit cast in C (C99 6.5.4) or a C-style cast in C++ (C++ [expr.cast]), which uses the syntax (...

@ CXCursor_TypeAliasTemplateDecl

@ CXCursor_FixedPointLiteral

Fixed point literal.

@ CXCursor_CXXNullPtrLiteralExpr

[C++0x 2.14.7] C++ Pointer Literal.

@ CXCursor_CXXParenListInitExpr

Expression that references a C++20 parenthesized list aggregate initializer.

@ CXCursor_TemplateRef

A reference to a class template, function template, template template parameter, or class template pa...

@ CXCursor_ObjCCategoryImplDecl

An Objective-C @implementation for a category.

@ CXCursor_OMPMaskedTaskLoopSimdDirective

OpenMP masked taskloop simd directive.

@ CXCursor_ObjCExplicitProtocolImpl

@ CXCursor_OMPTaskDirective

OpenMP task directive.

@ CXCursor_BinaryOperator

A builtin binary operation expression such as "x + y" or "x <= y".

@ CXCursor_OpenACCWaitConstruct

OpenACC wait Construct.

@ CXCursor_OpenACCLoopConstruct

OpenACC Loop Construct.

@ CXCursor_UnexposedExpr

An expression whose specific kind is not exposed via this interface.

@ CXCursor_ObjCDynamicDecl

An Objective-C @dynamic definition.

@ CXCursor_ImaginaryLiteral

An imaginary number literal.

@ CXCursor_OMPParallelMasterTaskLoopSimdDirective

OpenMP parallel master taskloop simd directive.

@ CXCursor_CaseStmt

A case statement.

@ CXCursor_OMPTargetParallelForDirective

OpenMP target parallel for directive.

@ CXCursor_OMPTargetDirective

OpenMP target directive.

@ CXCursor_CharacterLiteral

A character literal.

@ CXCursor_OMPParallelGenericLoopDirective

OpenMP parallel loop directive.

@ CXCursor_MacroDefinition

@ CXCursor_CUDAConstantAttr

@ CXCursor_CallExpr

An expression that calls a function.

@ CXCursor_DeclRefExpr

An expression that refers to some value declaration, such as a function, variable,...

@ CXCursor_UnaryOperator

This represents the unary-expression's (except sizeof and alignof).

@ CXCursor_VarDecl

A variable.

@ CXCursor_TemplateTypeParameter

A C++ template type parameter.

@ CXCursor_TemplateTemplateParameter

A C++ template template parameter.

@ CXCursor_UnexposedDecl

A declaration whose specific kind is not exposed via this interface.

@ CXCursor_OMPParallelForSimdDirective

OpenMP parallel for SIMD directive.

@ CXCursor_OMPTargetDataDirective

OpenMP target data directive.

@ CXCursor_OMPForDirective

OpenMP for directive.

@ CXCursor_ObjCInstanceMethodDecl

An Objective-C instance method.

@ CXCursor_StructDecl

A C or C++ struct.

@ CXCursor_SEHExceptStmt

Windows Structured Exception Handling's except statement.

@ CXCursor_StmtExpr

This is the GNU Statement Expression extension: ({int X=4; X;})

@ CXCursor_FirstExtraDecl

@ CXCursor_CXXTryStmt

C++'s try statement.

@ CXCursor_UsingDeclaration

A C++ using declaration.

@ CXCursor_AddrLabelExpr

The GNU address of label extension, representing &&label.

@ CXCursor_LinkageSpec

A linkage specification, e.g.

@ CXCursor_ClassDecl

A C++ class.

@ CXCursor_SEHTryStmt

Windows Structured Exception Handling's try statement.

@ CXCursor_CXXFunctionalCastExpr

Represents an explicit C++ type conversion that uses "functional" notion (C++ [expr....

@ CXCursor_CXXDynamicCastExpr

C++'s dynamic_cast<> expression.

@ CXCursor_ObjCCategoryDecl

An Objective-C @interface for a category.

@ CXCursor_ConvergentAttr

@ CXCursor_OMPTargetTeamsDistributeParallelForDirective

OpenMP target teams distribute parallel for directive.

@ CXCursor_StaticAssert

A static_assert or _Static_assert node.

@ CXCursor_ModuleImportDecl

A module import declaration.

@ CXCursor_NotImplemented

@ CXCursor_CXXBoolLiteralExpr

[C++ 2.13.5] C++ Boolean Literal.

@ CXCursor_DefaultStmt

A default statement.

@ CXCursor_ReturnStmt

A return statement.

@ CXCursor_MemberRef

A reference to a member of a struct, union, or class that occurs in some non-expression context,...

@ CXCursor_OpenACCCombinedConstruct

OpenACC Combined Constructs.

@ CXCursor_CXXCatchStmt

C++'s catch statement.

@ CXCursor_OMPUnrollDirective

OpenMP unroll directive.

@ CXCursor_OMPScopeDirective

OpenMP scope directive.

@ CXCursor_PackIndexingExpr

Represents a C++26 pack indexing expression.

@ CXCursor_NamespaceAlias

A C++ namespace alias declaration.

@ CXCursor_OMPTeamsDirective

OpenMP teams directive.

@ CXCursor_OpenACCHostDataConstruct

OpenACC host_data Construct.

@ CXCursor_ArraySectionExpr

OpenMP 5.0 [2.1.5, Array Section].

@ CXCursor_OverloadedDeclRef

A reference to a set of overloaded functions or function templates that has not yet been resolved to ...

@ CXCursor_SEHLeaveStmt

Windows Structured Exception Handling's leave statement.

@ CXCursor_InitListExpr

Describes an C or C++ initializer list.

@ CXCursor_CXXThisExpr

Represents the "this" expression in C++.

@ CXCursor_ObjCDesignatedInitializer

@ CXCursor_Constructor

A C++ constructor.

@ CXCursor_WhileStmt

A while statement.

@ CXCursor_ObjCRuntimeVisible

@ CXCursor_OverloadCandidate

A code completion overload candidate.

@ CXCursor_ObjCStringLiteral

An Objective-C string literal i.e.

@ CXCursor_FriendDecl

a friend declaration.

@ CXCursor_ObjCRequiresSuper

@ CXCursor_BreakStmt

A break statement.

@ CXCursor_OMPDistributeSimdDirective

OpenMP distribute simd directive.

@ CXCursor_InclusionDirective

@ CXCursor_OMPTargetParallelGenericLoopDirective

OpenMP target parallel loop directive.

@ CXCursor_OMPTargetParallelDirective

OpenMP target parallel directive.

@ CXCursor_TypeAliasDecl

A C++ alias declaration.

@ CXCursor_OMPTargetUpdateDirective

OpenMP target update directive.

@ CXCursor_ParenExpr

A parenthesized expression, e.g.

@ CXCursor_ObjCForCollectionStmt

Objective-C's collection statement.

@ CXCursor_OMPParallelMasterTaskLoopDirective

OpenMP parallel master taskloop directive.

@ CXCursor_UsingDirective

A C++ using directive.

@ CXCursor_OMPTaskgroupDirective

OpenMP taskgroup directive.

@ CXCursor_CXXBaseSpecifier

@ CXCursor_CXXNewExpr

A new expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)".

@ CXCursor_CXXDeleteExpr

A delete expression for memory deallocation and destructor calls, e.g.

@ CXCursor_ObjCProtocolExpr

An Objective-C @protocol expression.

@ CXCursor_ObjCReturnsInnerPointer

@ CXCursor_OpenACCShutdownConstruct

OpenACC shutdown Construct.

@ CXCursor_ObjCPreciseLifetime

@ CXCursor_VisibilityAttr

@ CXCursor_OMPParallelMaskedDirective

OpenMP parallel masked directive.

@ CXCursor_CompoundLiteralExpr

[C99 6.5.2.5]

@ CXCursor_OMPIteratorExpr

OpenMP 5.0 [2.1.6 Iterators].

@ CXCursor_RequiresExpr

Expression that references a C++20 requires expression.

@ CXCursor_OMPTargetTeamsDistributeParallelForSimdDirective

OpenMP target teams distribute parallel for simd directive.

@ CXCursor_ObjCAtTryStmt

Objective-C's overall @try-@catch-@finally statement.

@ CXCursor_OpenACCEnterDataConstruct

OpenACC enter data Construct.

@ CXCursor_ObjCAtCatchStmt

Objective-C's @catch statement.

@ CXCursor_ExceptionSpecificationKind_MSAny

The cursor has exception specification throw(...).

@ CXCursor_ExceptionSpecificationKind_BasicNoexcept

The cursor has exception specification basic noexcept.

@ CXCursor_ExceptionSpecificationKind_DynamicNone

The cursor has exception specification throw()

@ CXCursor_ExceptionSpecificationKind_ComputedNoexcept

The cursor has exception specification computed noexcept.

@ CXCursor_ExceptionSpecificationKind_NoThrow

The cursor has a __declspec(nothrow) exception specification.

@ CXCursor_ExceptionSpecificationKind_Unevaluated

The exception specification has not yet been evaluated.

@ CXCursor_ExceptionSpecificationKind_Dynamic

The cursor has exception specification throw(T1, T2)

@ CXCursor_ExceptionSpecificationKind_Unparsed

The exception specification has not been parsed yet.

@ CXCursor_ExceptionSpecificationKind_None

The cursor has no exception specification.

@ CXCursor_ExceptionSpecificationKind_Uninstantiated

The exception specification has not yet been instantiated.

@ CXAvailability_Available

The entity is available.

@ CXAvailability_Deprecated

The entity is available, but has been deprecated (and its use is not recommended).

@ CXAvailability_NotAccessible

The entity is available, but not accessible; any use of it will be an error.

@ CXAvailability_NotAvailable

The entity is not available; any use of it will be an error.

Contains the results of code-completion.

unsigned NumResults

The number of code-completion results stored in the Results array.

CXCompletionResult * Results

The code-completion results.

A single result of code completion.

CXCompletionString CompletionString

The code-completion string that describes how to insert this code-completion result into the editing ...

enum CXCursorKind CursorKind

The kind of entity that this completion refers to.

enum CXVisitorResult(* visit)(void *context, CXCursor, CXSourceRange)

A cursor representing some element in the abstract syntax tree for a translation unit.

const CXIdxEntityInfo * base

const CXIdxDeclInfo * declInfo

const CXIdxBaseClassInfo *const * bases

int isImplicit

Whether the declaration exists in code or was created implicitly by the compiler, e....

const CXIdxContainerInfo * semanticContainer

const CXIdxContainerInfo * declAsContainer

const CXIdxEntityInfo * entityInfo

const CXIdxAttrInfo *const * attributes

const CXIdxContainerInfo * lexicalContainer

Generally same as semanticContainer but can be different in cases like out-of-line C++ member functio...

CXIdxEntityCXXTemplateKind templateKind

const CXIdxAttrInfo *const * attributes

Data for IndexerCallbacks::indexEntityReference.

CXCursor cursor

Reference cursor.

const CXIdxContainerInfo * container

Lexical container context of the reference.

CXSymbolRole role

Sets of symbol roles of the reference.

const CXIdxEntityInfo * referencedEntity

The entity that gets referenced.

const CXIdxEntityInfo * parentEntity

Immediate "parent" of the reference.

const CXIdxAttrInfo * attrInfo

const CXIdxEntityInfo * objcClass

Data for IndexerCallbacks::importedASTFile.

CXIdxLoc loc

Location where the file is imported.

CXFile file

Top level AST file containing the imported PCH, module or submodule.

int isImplicit

Non-zero if an inclusion directive was automatically turned into a module import.

CXModule module

The imported module or NULL if the AST file is a PCH.

Data for ppIncludedFile callback.

CXIdxLoc hashLoc

Location of '#' in the #include/#import directive.

CXFile file

The actual file that the #include/#import directive resolved to.

int isModuleImport

Non-zero if the directive was automatically turned into a module import.

const char * filename

Filename as written in the #include/#import directive.

Source location passed to index callbacks.

const CXIdxEntityInfo * objcClass

const CXIdxObjCProtocolRefListInfo * protocols

const CXIdxObjCContainerDeclInfo * containerInfo

const CXIdxDeclInfo * declInfo

CXIdxObjCContainerKind kind

const CXIdxBaseClassInfo * superInfo

const CXIdxObjCContainerDeclInfo * containerInfo

const CXIdxObjCProtocolRefListInfo * protocols

const CXIdxEntityInfo * setter

const CXIdxEntityInfo * getter

const CXIdxDeclInfo * declInfo

const CXIdxEntityInfo * protocol

const CXIdxObjCProtocolRefInfo *const * protocols

Index initialization options.

unsigned char ThreadBackgroundPriorityForEditing

A CXChoice enumerator that specifies the editing priority policy.

unsigned char ThreadBackgroundPriorityForIndexing

A CXChoice enumerator that specifies the indexing priority policy.

unsigned Size

The size of struct CXIndexOptions used for option versioning.

const char * InvocationEmissionPath

Specifies a path which will contain log files for certain libclang invocations.

unsigned ExcludeDeclarationsFromPCH

unsigned StorePreamblesInMemory

Store PCH in memory.

const char * PreambleStoragePath

The path to a directory, in which to store temporary PCH files.

unsigned DisplayDiagnostics

Describes the availability of a given entity on a particular platform, e.g., a particular class might...

CXString Platform

A string that describes the platform for which this structure provides availability information.

CXVersion Obsoleted

The version number in which this entity was obsoleted, and therefore is no longer available.

CXString Message

An optional message to provide to a user of this API, e.g., to suggest replacement APIs.

int Unavailable

Whether the entity is unconditionally unavailable on this platform.

CXVersion Deprecated

The version number in which this entity was deprecated (but is still available).

CXVersion Introduced

The version number in which this entity was introduced.

Identifies a specific source location within a translation unit.

Identifies an array of ranges.

Identifies a half-open character range in the source code.

enum CXTUResourceUsageKind kind

The memory usage of a CXTranslationUnit, broken into categories.

CXTUResourceUsageEntry * entries

Describes a single preprocessing token.

The type of an element in the abstract syntax tree.

Provides the contents of a file that has not yet been saved to disk.

const char * Filename

The file whose contents have not yet been saved.

unsigned long Length

The length of the unsaved contents of this buffer.

const char * Contents

A buffer containing the unsaved contents of this file.

Describes a version number of the form major.minor.subminor.

int Major

The major version number, e.g., the '10' in '10.7.3'.

int Subminor

The subminor version number, e.g., the '3' in '10.7.3'.

int Minor

The minor version number, e.g., the '7' in '10.7.3'.

A group of callbacks used by clang_indexSourceFile and clang_indexTranslationUnit.