Build system utilities | |
Diagnostic reporting | |
File manipulation routines | |
Physical source locations | Clang represents physical source locations in its abstract syntax tree in great detail, with file, line, and column information for the majority of the tokens parsed in the source code |
Comment introspection | The routines in this group provide access to information in documentation comments |
▼libclang: C Interface to Clang | The C Interface to Clang provides a relatively small API that exposes facilities for parsing source code into an abstract syntax tree (AST), loading already-parsed ASTs, traversing the AST, associating physical source locations with elements within the AST, and other facilities that support Clang-based development tools |
CompilationDatabase functions | |
String manipulation routines | |
Translation unit manipulation | The routines in this group provide the ability to create and destroy translation units from files, either by parsing the contents of the files or by reading in a serialized representation of a translation unit |
Cursor manipulations | |
Mapping between cursors and source code | Cursors represent a location within the Abstract Syntax Tree (AST) |
Type information for CXCursors | |
Information for attributes | |
Traversing the AST with cursors | These routines provide the ability to traverse the abstract syntax tree using cursors |
Cross-referencing in the AST | These routines provide the ability to determine references within and across translation units, by providing the names of the entities referenced by cursors, follow reference cursors to the declarations they reference, and associate declarations with their definitions |
Name Mangling API Functions | |
Module introspection | The functions in this group provide access to information about modules |
C++ AST introspection | The routines in this group provide access information in the ASTs specific to C++ language features |
Token extraction and manipulation | The routines in this group provide access to the tokens within a translation unit, along with a semantic mapping of those tokens to their corresponding cursors |
Debugging facilities | These routines are used for testing and debugging, only, and should not be relied upon |
Code completion | Code completion involves taking an (incomplete) source file, along with knowledge of where the user is actively editing that file, and suggesting syntactically- and semantically-valid constructs that the user might want to use at that particular point in the source code |
Miscellaneous utility functions | |
Remapping functions | |
Higher level API functions | |
directives | |
AST file AST constants | The constants in this group describe various components of the abstract syntax tree within an AST file |