directives | |
AST file AST constants | The constants in this group describe various components of the abstract syntax tree within an AST file |
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. These data types and functions are used to represent source location information, either for a particular point in the program or for a range of points in the program, and extract specific location information from those data types |
Comment introspection | The routines in this group provide access to information in documentation comments. These facilities are distinct from the core and may be subject to their own schedule of stability and deprecation |
▼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). These routines help map between cursors and the physical locations where the described entities occur in the source code. The mapping is provided in both directions, so one can map from source code to the AST and back |
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. These data structures and routines provide support for code completion |
Miscellaneous utility functions | |
Remapping functions | |
Higher level API functions | |