16#ifndef LLVM_CLANG_C_INDEX_H
17#define LLVM_CLANG_C_INDEX_H
36#define CINDEX_VERSION_MAJOR 0
37#define CINDEX_VERSION_MINOR 64
39#define CINDEX_VERSION_ENCODE(major, minor) (((major)*10000) + ((minor)*1))
41#define CINDEX_VERSION \
42 CINDEX_VERSION_ENCODE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR)
44#define CINDEX_VERSION_STRINGIZE_(major, minor) #major "." #minor
45#define CINDEX_VERSION_STRINGIZE(major, minor) \
46 CINDEX_VERSION_STRINGIZE_(major, minor)
48#define CINDEX_VERSION_STRING \
49 CINDEX_VERSION_STRINGIZE(CINDEX_VERSION_MAJOR, CINDEX_VERSION_MINOR)
52#define __has_feature(feature) 0
272 int displayDiagnostics);
512 const char *file_name);
527 CXFile file,
size_t *size);
534 CXFile file,
unsigned line,
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,
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,
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,
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,
999 const char *FileName,
2320 const void *data[3];
2569 int *always_unavailable,
CXString *unavailable_message,
2777 unsigned *num_overridden);
3995#if __has_feature(blocks)
4044 const char *class_name,
const char *category_name);
4064 unsigned isInstanceMethod,
4091 CXCursor,
unsigned pieceIndex,
unsigned options);
4384 unsigned *isGenerated);
4761 CXCursor C,
unsigned NameFlags,
unsigned PieceIndex);
4837 unsigned int_data[4];
4897 CXToken **Tokens,
unsigned *NumTokens);
4930 unsigned NumTokens,
CXCursor *Cursors);
4936 unsigned NumTokens);
4954 CXCursor,
const char **startBuf,
const char **endBuf,
unsigned *startLine,
4955 unsigned *startColumn,
unsigned *endLine,
unsigned *endColumn);
4958 unsigned stack_size);
5196 unsigned chunk_number);
5356 unsigned completion_index);
5658 unsigned complete_line,
unsigned complete_column,
5660 unsigned num_unsaved_files,
unsigned options);
5671 unsigned NumResults);
5731 unsigned *IsIncomplete);
5796 unsigned include_len,
6008#if __has_feature(blocks)
6542 unsigned index_callbacks_size,
unsigned index_options,
6543 const char *source_filename,
const char *
const *command_line_args,
6544 int num_command_line_args,
struct CXUnsavedFile *unsaved_files,
6554 unsigned index_callbacks_size,
unsigned index_options,
6555 const char *source_filename,
const char *
const *command_line_args,
6556 int num_command_line_args,
struct CXUnsavedFile *unsaved_files,
6589 CXFile *file,
unsigned *line,
static unsigned isEnabled(DiagnosticsEngine &D, unsigned diag)
CXErrorCode
Error codes returned by libclang routines.
enum clang::sema::@1712::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 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.
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 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_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_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
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.