blob: 0edbcb9158757d40977278469a261bac567d3b84 [file] [log] [blame]
// Part of the LLVM Project, under the Apache License v2.0 with LLVM
// Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// AUTO GENERATED FILE, DO NOT EDIT.
//
// Generated by `package:ffigen`.
import 'dart:ffi' as ffi;
/// Holds bindings to LibClang.
class LibClang {
/// Holds the Dynamic library.
final ffi.DynamicLibrary _dylib;
/// The symbols are looked up in [dynamicLibrary].
LibClang(ffi.DynamicLibrary dynamicLibrary) : _dylib = dynamicLibrary;
/// Retrieve the character data associated with the given string.
ffi.Pointer<ffi.Int8> clang_getCString(
CXString string,
) {
return (_clang_getCString ??=
_dylib.lookupFunction<_c_clang_getCString, _dart_clang_getCString>(
'clang_getCString'))(
string,
);
}
_dart_clang_getCString? _clang_getCString;
/// Free the given string.
void clang_disposeString(
CXString string,
) {
return (_clang_disposeString ??= _dylib.lookupFunction<
_c_clang_disposeString,
_dart_clang_disposeString>('clang_disposeString'))(
string,
);
}
_dart_clang_disposeString? _clang_disposeString;
/// Free the given string set.
void clang_disposeStringSet(
ffi.Pointer<CXStringSet> set_1,
) {
return (_clang_disposeStringSet ??= _dylib.lookupFunction<
_c_clang_disposeStringSet,
_dart_clang_disposeStringSet>('clang_disposeStringSet'))(
set_1,
);
}
_dart_clang_disposeStringSet? _clang_disposeStringSet;
/// Provides a shared context for creating translation units.
///
/// It provides two options:
///
/// - excludeDeclarationsFromPCH: When non-zero, allows enumeration of "local"
/// declarations (when loading any new translation units). A "local" declaration
/// is one that belongs in the translation unit itself and not in a precompiled
/// header that was used by the translation unit. If zero, all declarations
/// will be enumerated.
///
/// Here is an example:
///
/// \code
/// // excludeDeclsFromPCH = 1, displayDiagnostics=1
/// Idx = clang_createIndex(1, 1);
///
/// // IndexTest.pch was produced with the following command:
/// // "clang -x c IndexTest.h -emit-ast -o IndexTest.pch"
/// TU = clang_createTranslationUnit(Idx, "IndexTest.pch");
///
/// // This will load all the symbols from 'IndexTest.pch'
/// clang_visitChildren(clang_getTranslationUnitCursor(TU),
/// TranslationUnitVisitor, 0);
/// clang_disposeTranslationUnit(TU);
///
/// // This will load all the symbols from 'IndexTest.c', excluding symbols
/// // from 'IndexTest.pch'.
/// char *args[] = { "-Xclang", "-include-pch=IndexTest.pch" };
/// TU = clang_createTranslationUnitFromSourceFile(Idx, "IndexTest.c", 2, args,
/// 0, 0);
/// clang_visitChildren(clang_getTranslationUnitCursor(TU),
/// TranslationUnitVisitor, 0);
/// clang_disposeTranslationUnit(TU);
/// \endcode
///
/// This process of creating the 'pch', loading it separately, and using it (via
/// -include-pch) allows 'excludeDeclsFromPCH' to remove redundant callbacks
/// (which gives the indexer the same performance benefit as the compiler).
ffi.Pointer<ffi.Void> clang_createIndex(
int excludeDeclarationsFromPCH,
int displayDiagnostics,
) {
return (_clang_createIndex ??=
_dylib.lookupFunction<_c_clang_createIndex, _dart_clang_createIndex>(
'clang_createIndex'))(
excludeDeclarationsFromPCH,
displayDiagnostics,
);
}
_dart_clang_createIndex? _clang_createIndex;
/// Destroy the given index.
///
/// The index must not be destroyed until all of the translation units created
/// within that index have been destroyed.
void clang_disposeIndex(
ffi.Pointer<ffi.Void> index,
) {
return (_clang_disposeIndex ??=
_dylib.lookupFunction<_c_clang_disposeIndex, _dart_clang_disposeIndex>(
'clang_disposeIndex'))(
index,
);
}
_dart_clang_disposeIndex? _clang_disposeIndex;
/// Sets general options associated with a CXIndex.
///
/// For example:
/// \code
/// CXIndex idx = ...;
/// clang_CXIndex_setGlobalOptions(idx,
/// clang_CXIndex_getGlobalOptions(idx) |
/// CXGlobalOpt_ThreadBackgroundPriorityForIndexing);
/// \endcode
///
/// \param options A bitmask of options, a bitwise OR of CXGlobalOpt_XXX flags.
void clang_CXIndex_setGlobalOptions(
ffi.Pointer<ffi.Void> arg0,
int options,
) {
return (_clang_CXIndex_setGlobalOptions ??= _dylib.lookupFunction<
_c_clang_CXIndex_setGlobalOptions,
_dart_clang_CXIndex_setGlobalOptions>(
'clang_CXIndex_setGlobalOptions'))(
arg0,
options,
);
}
_dart_clang_CXIndex_setGlobalOptions? _clang_CXIndex_setGlobalOptions;
/// Gets the general options associated with a CXIndex.
///
/// \returns A bitmask of options, a bitwise OR of CXGlobalOpt_XXX flags that
/// are associated with the given CXIndex object.
int clang_CXIndex_getGlobalOptions(
ffi.Pointer<ffi.Void> arg0,
) {
return (_clang_CXIndex_getGlobalOptions ??= _dylib.lookupFunction<
_c_clang_CXIndex_getGlobalOptions,
_dart_clang_CXIndex_getGlobalOptions>(
'clang_CXIndex_getGlobalOptions'))(
arg0,
);
}
_dart_clang_CXIndex_getGlobalOptions? _clang_CXIndex_getGlobalOptions;
/// Sets the invocation emission path option in a CXIndex.
///
/// The invocation emission path specifies a path which will contain log
/// files for certain libclang invocations. A null value (default) implies that
/// libclang invocations are not logged..
void clang_CXIndex_setInvocationEmissionPathOption(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Int8> Path,
) {
return (_clang_CXIndex_setInvocationEmissionPathOption ??=
_dylib.lookupFunction<_c_clang_CXIndex_setInvocationEmissionPathOption,
_dart_clang_CXIndex_setInvocationEmissionPathOption>(
'clang_CXIndex_setInvocationEmissionPathOption'))(
arg0,
Path,
);
}
_dart_clang_CXIndex_setInvocationEmissionPathOption?
_clang_CXIndex_setInvocationEmissionPathOption;
/// Retrieve the complete file and path name of the given file.
CXString clang_getFileName(
ffi.Pointer<ffi.Void> SFile,
) {
return (_clang_getFileName ??=
_dylib.lookupFunction<_c_clang_getFileName, _dart_clang_getFileName>(
'clang_getFileName'))(
SFile,
);
}
_dart_clang_getFileName? _clang_getFileName;
/// Retrieve the last modification time of the given file.
int clang_getFileTime(
ffi.Pointer<ffi.Void> SFile,
) {
return (_clang_getFileTime ??=
_dylib.lookupFunction<_c_clang_getFileTime, _dart_clang_getFileTime>(
'clang_getFileTime'))(
SFile,
);
}
_dart_clang_getFileTime? _clang_getFileTime;
/// Retrieve the unique ID for the given \c file.
///
/// \param file the file to get the ID for.
/// \param outID stores the returned CXFileUniqueID.
/// \returns If there was a failure getting the unique ID, returns non-zero,
/// otherwise returns 0.
int clang_getFileUniqueID(
ffi.Pointer<ffi.Void> file,
ffi.Pointer<CXFileUniqueID> outID,
) {
return (_clang_getFileUniqueID ??= _dylib.lookupFunction<
_c_clang_getFileUniqueID,
_dart_clang_getFileUniqueID>('clang_getFileUniqueID'))(
file,
outID,
);
}
_dart_clang_getFileUniqueID? _clang_getFileUniqueID;
/// Determine whether the given header is guarded against
/// multiple inclusions, either with the conventional
/// \#ifndef/\#define/\#endif macro guards or with \#pragma once.
int clang_isFileMultipleIncludeGuarded(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
) {
return (_clang_isFileMultipleIncludeGuarded ??= _dylib.lookupFunction<
_c_clang_isFileMultipleIncludeGuarded,
_dart_clang_isFileMultipleIncludeGuarded>(
'clang_isFileMultipleIncludeGuarded'))(
tu,
file,
);
}
_dart_clang_isFileMultipleIncludeGuarded? _clang_isFileMultipleIncludeGuarded;
/// Retrieve a file handle within the given translation unit.
///
/// \param tu the translation unit
///
/// \param file_name the name of the file.
///
/// \returns the file handle for the named file in the translation unit \p tu,
/// or a NULL file handle if the file was not a part of this translation unit.
ffi.Pointer<ffi.Void> clang_getFile(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Int8> file_name,
) {
return (_clang_getFile ??=
_dylib.lookupFunction<_c_clang_getFile, _dart_clang_getFile>(
'clang_getFile'))(
tu,
file_name,
);
}
_dart_clang_getFile? _clang_getFile;
/// Retrieve the buffer associated with the given file.
///
/// \param tu the translation unit
///
/// \param file the file for which to retrieve the buffer.
///
/// \param size [out] if non-NULL, will be set to the size of the buffer.
///
/// \returns a pointer to the buffer in memory that holds the contents of
/// \p file, or a NULL pointer when the file is not loaded.
ffi.Pointer<ffi.Int8> clang_getFileContents(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
ffi.Pointer<ffi.Uint64> size,
) {
return (_clang_getFileContents ??= _dylib.lookupFunction<
_c_clang_getFileContents,
_dart_clang_getFileContents>('clang_getFileContents'))(
tu,
file,
size,
);
}
_dart_clang_getFileContents? _clang_getFileContents;
/// Returns non-zero if the \c file1 and \c file2 point to the same file,
/// or they are both NULL.
int clang_File_isEqual(
ffi.Pointer<ffi.Void> file1,
ffi.Pointer<ffi.Void> file2,
) {
return (_clang_File_isEqual ??=
_dylib.lookupFunction<_c_clang_File_isEqual, _dart_clang_File_isEqual>(
'clang_File_isEqual'))(
file1,
file2,
);
}
_dart_clang_File_isEqual? _clang_File_isEqual;
/// Returns the real path name of \c file.
///
/// An empty string may be returned. Use \c clang_getFileName() in that case.
CXString clang_File_tryGetRealPathName(
ffi.Pointer<ffi.Void> file,
) {
return (_clang_File_tryGetRealPathName ??= _dylib.lookupFunction<
_c_clang_File_tryGetRealPathName,
_dart_clang_File_tryGetRealPathName>('clang_File_tryGetRealPathName'))(
file,
);
}
_dart_clang_File_tryGetRealPathName? _clang_File_tryGetRealPathName;
/// Retrieve a NULL (invalid) source location.
CXSourceLocation clang_getNullLocation() {
return (_clang_getNullLocation ??= _dylib.lookupFunction<
_c_clang_getNullLocation,
_dart_clang_getNullLocation>('clang_getNullLocation'))();
}
_dart_clang_getNullLocation? _clang_getNullLocation;
/// Determine whether two source locations, which must refer into
/// the same translation unit, refer to exactly the same point in the source
/// code.
///
/// \returns non-zero if the source locations refer to the same location, zero
/// if they refer to different locations.
int clang_equalLocations(
CXSourceLocation loc1,
CXSourceLocation loc2,
) {
return (_clang_equalLocations ??= _dylib.lookupFunction<
_c_clang_equalLocations,
_dart_clang_equalLocations>('clang_equalLocations'))(
loc1,
loc2,
);
}
_dart_clang_equalLocations? _clang_equalLocations;
/// Retrieves the source location associated with a given file/line/column
/// in a particular translation unit.
CXSourceLocation clang_getLocation(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
int line,
int column,
) {
return (_clang_getLocation ??=
_dylib.lookupFunction<_c_clang_getLocation, _dart_clang_getLocation>(
'clang_getLocation'))(
tu,
file,
line,
column,
);
}
_dart_clang_getLocation? _clang_getLocation;
/// Retrieves the source location associated with a given character offset
/// in a particular translation unit.
CXSourceLocation clang_getLocationForOffset(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
int offset,
) {
return (_clang_getLocationForOffset ??= _dylib.lookupFunction<
_c_clang_getLocationForOffset,
_dart_clang_getLocationForOffset>('clang_getLocationForOffset'))(
tu,
file,
offset,
);
}
_dart_clang_getLocationForOffset? _clang_getLocationForOffset;
/// Returns non-zero if the given source location is in a system header.
int clang_Location_isInSystemHeader(
CXSourceLocation location,
) {
return (_clang_Location_isInSystemHeader ??= _dylib.lookupFunction<
_c_clang_Location_isInSystemHeader,
_dart_clang_Location_isInSystemHeader>(
'clang_Location_isInSystemHeader'))(
location,
);
}
_dart_clang_Location_isInSystemHeader? _clang_Location_isInSystemHeader;
/// Returns non-zero if the given source location is in the main file of
/// the corresponding translation unit.
int clang_Location_isFromMainFile(
CXSourceLocation location,
) {
return (_clang_Location_isFromMainFile ??= _dylib.lookupFunction<
_c_clang_Location_isFromMainFile,
_dart_clang_Location_isFromMainFile>('clang_Location_isFromMainFile'))(
location,
);
}
_dart_clang_Location_isFromMainFile? _clang_Location_isFromMainFile;
/// Retrieve a NULL (invalid) source range.
CXSourceRange clang_getNullRange() {
return (_clang_getNullRange ??=
_dylib.lookupFunction<_c_clang_getNullRange, _dart_clang_getNullRange>(
'clang_getNullRange'))();
}
_dart_clang_getNullRange? _clang_getNullRange;
/// Retrieve a source range given the beginning and ending source
/// locations.
CXSourceRange clang_getRange(
CXSourceLocation begin,
CXSourceLocation end,
) {
return (_clang_getRange ??=
_dylib.lookupFunction<_c_clang_getRange, _dart_clang_getRange>(
'clang_getRange'))(
begin,
end,
);
}
_dart_clang_getRange? _clang_getRange;
/// Determine whether two ranges are equivalent.
///
/// \returns non-zero if the ranges are the same, zero if they differ.
int clang_equalRanges(
CXSourceRange range1,
CXSourceRange range2,
) {
return (_clang_equalRanges ??=
_dylib.lookupFunction<_c_clang_equalRanges, _dart_clang_equalRanges>(
'clang_equalRanges'))(
range1,
range2,
);
}
_dart_clang_equalRanges? _clang_equalRanges;
/// Returns non-zero if \p range is null.
int clang_Range_isNull(
CXSourceRange range,
) {
return (_clang_Range_isNull ??=
_dylib.lookupFunction<_c_clang_Range_isNull, _dart_clang_Range_isNull>(
'clang_Range_isNull'))(
range,
);
}
_dart_clang_Range_isNull? _clang_Range_isNull;
/// Retrieve the file, line, column, and offset represented by
/// the given source location.
///
/// If the location refers into a macro expansion, retrieves the
/// location of the macro expansion.
///
/// \param location the location within a source file that will be decomposed
/// into its parts.
///
/// \param file [out] if non-NULL, will be set to the file to which the given
/// source location points.
///
/// \param line [out] if non-NULL, will be set to the line to which the given
/// source location points.
///
/// \param column [out] if non-NULL, will be set to the column to which the given
/// source location points.
///
/// \param offset [out] if non-NULL, will be set to the offset into the
/// buffer to which the given source location points.
void clang_getExpansionLocation(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
) {
return (_clang_getExpansionLocation ??= _dylib.lookupFunction<
_c_clang_getExpansionLocation,
_dart_clang_getExpansionLocation>('clang_getExpansionLocation'))(
location,
file,
line,
column,
offset,
);
}
_dart_clang_getExpansionLocation? _clang_getExpansionLocation;
/// Retrieve the file, line and column represented by the given source
/// location, as specified in a # line directive.
///
/// Example: given the following source code in a file somefile.c
///
/// \code
/// #123 "dummy.c" 1
///
/// static int func(void)
/// {
/// return 0;
/// }
/// \endcode
///
/// the location information returned by this function would be
///
/// File: dummy.c Line: 124 Column: 12
///
/// whereas clang_getExpansionLocation would have returned
///
/// File: somefile.c Line: 3 Column: 12
///
/// \param location the location within a source file that will be decomposed
/// into its parts.
///
/// \param filename [out] if non-NULL, will be set to the filename of the
/// source location. Note that filenames returned will be for "virtual" files,
/// which don't necessarily exist on the machine running clang - e.g. when
/// parsing preprocessed output obtained from a different environment. If
/// a non-NULL value is passed in, remember to dispose of the returned value
/// using \c clang_disposeString() once you've finished with it. For an invalid
/// source location, an empty string is returned.
///
/// \param line [out] if non-NULL, will be set to the line number of the
/// source location. For an invalid source location, zero is returned.
///
/// \param column [out] if non-NULL, will be set to the column number of the
/// source location. For an invalid source location, zero is returned.
void clang_getPresumedLocation(
CXSourceLocation location,
ffi.Pointer<CXString> filename,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
) {
return (_clang_getPresumedLocation ??= _dylib.lookupFunction<
_c_clang_getPresumedLocation,
_dart_clang_getPresumedLocation>('clang_getPresumedLocation'))(
location,
filename,
line,
column,
);
}
_dart_clang_getPresumedLocation? _clang_getPresumedLocation;
/// Legacy API to retrieve the file, line, column, and offset represented
/// by the given source location.
///
/// This interface has been replaced by the newer interface
/// #clang_getExpansionLocation(). See that interface's documentation for
/// details.
void clang_getInstantiationLocation(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
) {
return (_clang_getInstantiationLocation ??= _dylib.lookupFunction<
_c_clang_getInstantiationLocation,
_dart_clang_getInstantiationLocation>(
'clang_getInstantiationLocation'))(
location,
file,
line,
column,
offset,
);
}
_dart_clang_getInstantiationLocation? _clang_getInstantiationLocation;
/// Retrieve the file, line, column, and offset represented by
/// the given source location.
///
/// If the location refers into a macro instantiation, return where the
/// location was originally spelled in the source file.
///
/// \param location the location within a source file that will be decomposed
/// into its parts.
///
/// \param file [out] if non-NULL, will be set to the file to which the given
/// source location points.
///
/// \param line [out] if non-NULL, will be set to the line to which the given
/// source location points.
///
/// \param column [out] if non-NULL, will be set to the column to which the given
/// source location points.
///
/// \param offset [out] if non-NULL, will be set to the offset into the
/// buffer to which the given source location points.
void clang_getSpellingLocation(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
) {
return (_clang_getSpellingLocation ??= _dylib.lookupFunction<
_c_clang_getSpellingLocation,
_dart_clang_getSpellingLocation>('clang_getSpellingLocation'))(
location,
file,
line,
column,
offset,
);
}
_dart_clang_getSpellingLocation? _clang_getSpellingLocation;
/// Retrieve the file, line, column, and offset represented by
/// the given source location.
///
/// If the location refers into a macro expansion, return where the macro was
/// expanded or where the macro argument was written, if the location points at
/// a macro argument.
///
/// \param location the location within a source file that will be decomposed
/// into its parts.
///
/// \param file [out] if non-NULL, will be set to the file to which the given
/// source location points.
///
/// \param line [out] if non-NULL, will be set to the line to which the given
/// source location points.
///
/// \param column [out] if non-NULL, will be set to the column to which the given
/// source location points.
///
/// \param offset [out] if non-NULL, will be set to the offset into the
/// buffer to which the given source location points.
void clang_getFileLocation(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
) {
return (_clang_getFileLocation ??= _dylib.lookupFunction<
_c_clang_getFileLocation,
_dart_clang_getFileLocation>('clang_getFileLocation'))(
location,
file,
line,
column,
offset,
);
}
_dart_clang_getFileLocation? _clang_getFileLocation;
/// Retrieve a source location representing the first character within a
/// source range.
CXSourceLocation clang_getRangeStart(
CXSourceRange range,
) {
return (_clang_getRangeStart ??= _dylib.lookupFunction<
_c_clang_getRangeStart,
_dart_clang_getRangeStart>('clang_getRangeStart'))(
range,
);
}
_dart_clang_getRangeStart? _clang_getRangeStart;
/// Retrieve a source location representing the last character within a
/// source range.
CXSourceLocation clang_getRangeEnd(
CXSourceRange range,
) {
return (_clang_getRangeEnd ??=
_dylib.lookupFunction<_c_clang_getRangeEnd, _dart_clang_getRangeEnd>(
'clang_getRangeEnd'))(
range,
);
}
_dart_clang_getRangeEnd? _clang_getRangeEnd;
/// Retrieve all ranges that were skipped by the preprocessor.
///
/// The preprocessor will skip lines when they are surrounded by an
/// if/ifdef/ifndef directive whose condition does not evaluate to true.
ffi.Pointer<CXSourceRangeList> clang_getSkippedRanges(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
) {
return (_clang_getSkippedRanges ??= _dylib.lookupFunction<
_c_clang_getSkippedRanges,
_dart_clang_getSkippedRanges>('clang_getSkippedRanges'))(
tu,
file,
);
}
_dart_clang_getSkippedRanges? _clang_getSkippedRanges;
/// Retrieve all ranges from all files that were skipped by the
/// preprocessor.
///
/// The preprocessor will skip lines when they are surrounded by an
/// if/ifdef/ifndef directive whose condition does not evaluate to true.
ffi.Pointer<CXSourceRangeList> clang_getAllSkippedRanges(
ffi.Pointer<CXTranslationUnitImpl> tu,
) {
return (_clang_getAllSkippedRanges ??= _dylib.lookupFunction<
_c_clang_getAllSkippedRanges,
_dart_clang_getAllSkippedRanges>('clang_getAllSkippedRanges'))(
tu,
);
}
_dart_clang_getAllSkippedRanges? _clang_getAllSkippedRanges;
/// Destroy the given \c CXSourceRangeList.
void clang_disposeSourceRangeList(
ffi.Pointer<CXSourceRangeList> ranges,
) {
return (_clang_disposeSourceRangeList ??= _dylib.lookupFunction<
_c_clang_disposeSourceRangeList,
_dart_clang_disposeSourceRangeList>('clang_disposeSourceRangeList'))(
ranges,
);
}
_dart_clang_disposeSourceRangeList? _clang_disposeSourceRangeList;
/// Determine the number of diagnostics in a CXDiagnosticSet.
int clang_getNumDiagnosticsInSet(
ffi.Pointer<ffi.Void> Diags,
) {
return (_clang_getNumDiagnosticsInSet ??= _dylib.lookupFunction<
_c_clang_getNumDiagnosticsInSet,
_dart_clang_getNumDiagnosticsInSet>('clang_getNumDiagnosticsInSet'))(
Diags,
);
}
_dart_clang_getNumDiagnosticsInSet? _clang_getNumDiagnosticsInSet;
/// Retrieve a diagnostic associated with the given CXDiagnosticSet.
///
/// \param Diags the CXDiagnosticSet to query.
/// \param Index the zero-based diagnostic number to retrieve.
///
/// \returns the requested diagnostic. This diagnostic must be freed
/// via a call to \c clang_disposeDiagnostic().
ffi.Pointer<ffi.Void> clang_getDiagnosticInSet(
ffi.Pointer<ffi.Void> Diags,
int Index,
) {
return (_clang_getDiagnosticInSet ??= _dylib.lookupFunction<
_c_clang_getDiagnosticInSet,
_dart_clang_getDiagnosticInSet>('clang_getDiagnosticInSet'))(
Diags,
Index,
);
}
_dart_clang_getDiagnosticInSet? _clang_getDiagnosticInSet;
/// Deserialize a set of diagnostics from a Clang diagnostics bitcode
/// file.
///
/// \param file The name of the file to deserialize.
/// \param error A pointer to a enum value recording if there was a problem
/// deserializing the diagnostics.
/// \param errorString A pointer to a CXString for recording the error string
/// if the file was not successfully loaded.
///
/// \returns A loaded CXDiagnosticSet if successful, and NULL otherwise. These
/// diagnostics should be released using clang_disposeDiagnosticSet().
ffi.Pointer<ffi.Void> clang_loadDiagnostics(
ffi.Pointer<ffi.Int8> file,
ffi.Pointer<ffi.Int32> error,
ffi.Pointer<CXString> errorString,
) {
return (_clang_loadDiagnostics ??= _dylib.lookupFunction<
_c_clang_loadDiagnostics,
_dart_clang_loadDiagnostics>('clang_loadDiagnostics'))(
file,
error,
errorString,
);
}
_dart_clang_loadDiagnostics? _clang_loadDiagnostics;
/// Release a CXDiagnosticSet and all of its contained diagnostics.
void clang_disposeDiagnosticSet(
ffi.Pointer<ffi.Void> Diags,
) {
return (_clang_disposeDiagnosticSet ??= _dylib.lookupFunction<
_c_clang_disposeDiagnosticSet,
_dart_clang_disposeDiagnosticSet>('clang_disposeDiagnosticSet'))(
Diags,
);
}
_dart_clang_disposeDiagnosticSet? _clang_disposeDiagnosticSet;
/// Retrieve the child diagnostics of a CXDiagnostic.
///
/// This CXDiagnosticSet does not need to be released by
/// clang_disposeDiagnosticSet.
ffi.Pointer<ffi.Void> clang_getChildDiagnostics(
ffi.Pointer<ffi.Void> D,
) {
return (_clang_getChildDiagnostics ??= _dylib.lookupFunction<
_c_clang_getChildDiagnostics,
_dart_clang_getChildDiagnostics>('clang_getChildDiagnostics'))(
D,
);
}
_dart_clang_getChildDiagnostics? _clang_getChildDiagnostics;
/// Determine the number of diagnostics produced for the given
/// translation unit.
int clang_getNumDiagnostics(
ffi.Pointer<CXTranslationUnitImpl> Unit,
) {
return (_clang_getNumDiagnostics ??= _dylib.lookupFunction<
_c_clang_getNumDiagnostics,
_dart_clang_getNumDiagnostics>('clang_getNumDiagnostics'))(
Unit,
);
}
_dart_clang_getNumDiagnostics? _clang_getNumDiagnostics;
/// Retrieve a diagnostic associated with the given translation unit.
///
/// \param Unit the translation unit to query.
/// \param Index the zero-based diagnostic number to retrieve.
///
/// \returns the requested diagnostic. This diagnostic must be freed
/// via a call to \c clang_disposeDiagnostic().
ffi.Pointer<ffi.Void> clang_getDiagnostic(
ffi.Pointer<CXTranslationUnitImpl> Unit,
int Index,
) {
return (_clang_getDiagnostic ??= _dylib.lookupFunction<
_c_clang_getDiagnostic,
_dart_clang_getDiagnostic>('clang_getDiagnostic'))(
Unit,
Index,
);
}
_dart_clang_getDiagnostic? _clang_getDiagnostic;
/// Retrieve the complete set of diagnostics associated with a
/// translation unit.
///
/// \param Unit the translation unit to query.
ffi.Pointer<ffi.Void> clang_getDiagnosticSetFromTU(
ffi.Pointer<CXTranslationUnitImpl> Unit,
) {
return (_clang_getDiagnosticSetFromTU ??= _dylib.lookupFunction<
_c_clang_getDiagnosticSetFromTU,
_dart_clang_getDiagnosticSetFromTU>('clang_getDiagnosticSetFromTU'))(
Unit,
);
}
_dart_clang_getDiagnosticSetFromTU? _clang_getDiagnosticSetFromTU;
/// Destroy a diagnostic.
void clang_disposeDiagnostic(
ffi.Pointer<ffi.Void> Diagnostic,
) {
return (_clang_disposeDiagnostic ??= _dylib.lookupFunction<
_c_clang_disposeDiagnostic,
_dart_clang_disposeDiagnostic>('clang_disposeDiagnostic'))(
Diagnostic,
);
}
_dart_clang_disposeDiagnostic? _clang_disposeDiagnostic;
/// Format the given diagnostic in a manner that is suitable for display.
///
/// This routine will format the given diagnostic to a string, rendering
/// the diagnostic according to the various options given. The
/// \c clang_defaultDiagnosticDisplayOptions() function returns the set of
/// options that most closely mimics the behavior of the clang compiler.
///
/// \param Diagnostic The diagnostic to print.
///
/// \param Options A set of options that control the diagnostic display,
/// created by combining \c CXDiagnosticDisplayOptions values.
///
/// \returns A new string containing for formatted diagnostic.
CXString clang_formatDiagnostic(
ffi.Pointer<ffi.Void> Diagnostic,
int Options,
) {
return (_clang_formatDiagnostic ??= _dylib.lookupFunction<
_c_clang_formatDiagnostic,
_dart_clang_formatDiagnostic>('clang_formatDiagnostic'))(
Diagnostic,
Options,
);
}
_dart_clang_formatDiagnostic? _clang_formatDiagnostic;
/// Retrieve the set of display options most similar to the
/// default behavior of the clang compiler.
///
/// \returns A set of display options suitable for use with \c
/// clang_formatDiagnostic().
int clang_defaultDiagnosticDisplayOptions() {
return (_clang_defaultDiagnosticDisplayOptions ??= _dylib.lookupFunction<
_c_clang_defaultDiagnosticDisplayOptions,
_dart_clang_defaultDiagnosticDisplayOptions>(
'clang_defaultDiagnosticDisplayOptions'))();
}
_dart_clang_defaultDiagnosticDisplayOptions?
_clang_defaultDiagnosticDisplayOptions;
/// Determine the severity of the given diagnostic.
int clang_getDiagnosticSeverity(
ffi.Pointer<ffi.Void> arg0,
) {
return (_clang_getDiagnosticSeverity ??= _dylib.lookupFunction<
_c_clang_getDiagnosticSeverity,
_dart_clang_getDiagnosticSeverity>('clang_getDiagnosticSeverity'))(
arg0,
);
}
_dart_clang_getDiagnosticSeverity? _clang_getDiagnosticSeverity;
/// Retrieve the source location of the given diagnostic.
///
/// This location is where Clang would print the caret ('^') when
/// displaying the diagnostic on the command line.
CXSourceLocation clang_getDiagnosticLocation(
ffi.Pointer<ffi.Void> arg0,
) {
return (_clang_getDiagnosticLocation ??= _dylib.lookupFunction<
_c_clang_getDiagnosticLocation,
_dart_clang_getDiagnosticLocation>('clang_getDiagnosticLocation'))(
arg0,
);
}
_dart_clang_getDiagnosticLocation? _clang_getDiagnosticLocation;
/// Retrieve the text of the given diagnostic.
CXString clang_getDiagnosticSpelling(
ffi.Pointer<ffi.Void> arg0,
) {
return (_clang_getDiagnosticSpelling ??= _dylib.lookupFunction<
_c_clang_getDiagnosticSpelling,
_dart_clang_getDiagnosticSpelling>('clang_getDiagnosticSpelling'))(
arg0,
);
}
_dart_clang_getDiagnosticSpelling? _clang_getDiagnosticSpelling;
/// Retrieve the name of the command-line option that enabled this
/// diagnostic.
///
/// \param Diag The diagnostic to be queried.
///
/// \param Disable If non-NULL, will be set to the option that disables this
/// diagnostic (if any).
///
/// \returns A string that contains the command-line option used to enable this
/// warning, such as "-Wconversion" or "-pedantic".
CXString clang_getDiagnosticOption(
ffi.Pointer<ffi.Void> Diag,
ffi.Pointer<CXString> Disable,
) {
return (_clang_getDiagnosticOption ??= _dylib.lookupFunction<
_c_clang_getDiagnosticOption,
_dart_clang_getDiagnosticOption>('clang_getDiagnosticOption'))(
Diag,
Disable,
);
}
_dart_clang_getDiagnosticOption? _clang_getDiagnosticOption;
/// Retrieve the category number for this diagnostic.
///
/// Diagnostics can be categorized into groups along with other, related
/// diagnostics (e.g., diagnostics under the same warning flag). This routine
/// retrieves the category number for the given diagnostic.
///
/// \returns The number of the category that contains this diagnostic, or zero
/// if this diagnostic is uncategorized.
int clang_getDiagnosticCategory(
ffi.Pointer<ffi.Void> arg0,
) {
return (_clang_getDiagnosticCategory ??= _dylib.lookupFunction<
_c_clang_getDiagnosticCategory,
_dart_clang_getDiagnosticCategory>('clang_getDiagnosticCategory'))(
arg0,
);
}
_dart_clang_getDiagnosticCategory? _clang_getDiagnosticCategory;
/// Retrieve the name of a particular diagnostic category. This
/// is now deprecated. Use clang_getDiagnosticCategoryText()
/// instead.
///
/// \param Category A diagnostic category number, as returned by
/// \c clang_getDiagnosticCategory().
///
/// \returns The name of the given diagnostic category.
CXString clang_getDiagnosticCategoryName(
int Category,
) {
return (_clang_getDiagnosticCategoryName ??= _dylib.lookupFunction<
_c_clang_getDiagnosticCategoryName,
_dart_clang_getDiagnosticCategoryName>(
'clang_getDiagnosticCategoryName'))(
Category,
);
}
_dart_clang_getDiagnosticCategoryName? _clang_getDiagnosticCategoryName;
/// Retrieve the diagnostic category text for a given diagnostic.
///
/// \returns The text of the given diagnostic category.
CXString clang_getDiagnosticCategoryText(
ffi.Pointer<ffi.Void> arg0,
) {
return (_clang_getDiagnosticCategoryText ??= _dylib.lookupFunction<
_c_clang_getDiagnosticCategoryText,
_dart_clang_getDiagnosticCategoryText>(
'clang_getDiagnosticCategoryText'))(
arg0,
);
}
_dart_clang_getDiagnosticCategoryText? _clang_getDiagnosticCategoryText;
/// Determine the number of source ranges associated with the given
/// diagnostic.
int clang_getDiagnosticNumRanges(
ffi.Pointer<ffi.Void> arg0,
) {
return (_clang_getDiagnosticNumRanges ??= _dylib.lookupFunction<
_c_clang_getDiagnosticNumRanges,
_dart_clang_getDiagnosticNumRanges>('clang_getDiagnosticNumRanges'))(
arg0,
);
}
_dart_clang_getDiagnosticNumRanges? _clang_getDiagnosticNumRanges;
/// Retrieve a source range associated with the diagnostic.
///
/// A diagnostic's source ranges highlight important elements in the source
/// code. On the command line, Clang displays source ranges by
/// underlining them with '~' characters.
///
/// \param Diagnostic the diagnostic whose range is being extracted.
///
/// \param Range the zero-based index specifying which range to
///
/// \returns the requested source range.
CXSourceRange clang_getDiagnosticRange(
ffi.Pointer<ffi.Void> Diagnostic,
int Range,
) {
return (_clang_getDiagnosticRange ??= _dylib.lookupFunction<
_c_clang_getDiagnosticRange,
_dart_clang_getDiagnosticRange>('clang_getDiagnosticRange'))(
Diagnostic,
Range,
);
}
_dart_clang_getDiagnosticRange? _clang_getDiagnosticRange;
/// Determine the number of fix-it hints associated with the
/// given diagnostic.
int clang_getDiagnosticNumFixIts(
ffi.Pointer<ffi.Void> Diagnostic,
) {
return (_clang_getDiagnosticNumFixIts ??= _dylib.lookupFunction<
_c_clang_getDiagnosticNumFixIts,
_dart_clang_getDiagnosticNumFixIts>('clang_getDiagnosticNumFixIts'))(
Diagnostic,
);
}
_dart_clang_getDiagnosticNumFixIts? _clang_getDiagnosticNumFixIts;
/// Retrieve the replacement information for a given fix-it.
///
/// Fix-its are described in terms of a source range whose contents
/// should be replaced by a string. This approach generalizes over
/// three kinds of operations: removal of source code (the range covers
/// the code to be removed and the replacement string is empty),
/// replacement of source code (the range covers the code to be
/// replaced and the replacement string provides the new code), and
/// insertion (both the start and end of the range point at the
/// insertion location, and the replacement string provides the text to
/// insert).
///
/// \param Diagnostic The diagnostic whose fix-its are being queried.
///
/// \param FixIt The zero-based index of the fix-it.
///
/// \param ReplacementRange The source range whose contents will be
/// replaced with the returned replacement string. Note that source
/// ranges are half-open ranges [a, b), so the source code should be
/// replaced from a and up to (but not including) b.
///
/// \returns A string containing text that should be replace the source
/// code indicated by the \c ReplacementRange.
CXString clang_getDiagnosticFixIt(
ffi.Pointer<ffi.Void> Diagnostic,
int FixIt,
ffi.Pointer<CXSourceRange> ReplacementRange,
) {
return (_clang_getDiagnosticFixIt ??= _dylib.lookupFunction<
_c_clang_getDiagnosticFixIt,
_dart_clang_getDiagnosticFixIt>('clang_getDiagnosticFixIt'))(
Diagnostic,
FixIt,
ReplacementRange,
);
}
_dart_clang_getDiagnosticFixIt? _clang_getDiagnosticFixIt;
/// Get the original translation unit source file name.
CXString clang_getTranslationUnitSpelling(
ffi.Pointer<CXTranslationUnitImpl> CTUnit,
) {
return (_clang_getTranslationUnitSpelling ??= _dylib.lookupFunction<
_c_clang_getTranslationUnitSpelling,
_dart_clang_getTranslationUnitSpelling>(
'clang_getTranslationUnitSpelling'))(
CTUnit,
);
}
_dart_clang_getTranslationUnitSpelling? _clang_getTranslationUnitSpelling;
/// Return the CXTranslationUnit for a given source file and the provided
/// command line arguments one would pass to the compiler.
///
/// Note: The 'source_filename' argument is optional. If the caller provides a
/// NULL pointer, the name of the source file is expected to reside in the
/// specified command line arguments.
///
/// Note: When encountered in 'clang_command_line_args', the following options
/// are ignored:
///
/// '-c'
/// '-emit-ast'
/// '-fsyntax-only'
/// '-o \<output file>' (both '-o' and '\<output file>' are ignored)
///
/// \param CIdx The index object with which the translation unit will be
/// associated.
///
/// \param source_filename The name of the source file to load, or NULL if the
/// source file is included in \p clang_command_line_args.
///
/// \param num_clang_command_line_args The number of command-line arguments in
/// \p clang_command_line_args.
///
/// \param clang_command_line_args The command-line arguments that would be
/// passed to the \c clang executable if it were being invoked out-of-process.
/// These command-line options will be parsed and will affect how the translation
/// unit is parsed. Note that the following options are ignored: '-c',
/// '-emit-ast', '-fsyntax-only' (which is the default), and '-o \<output file>'.
///
/// \param num_unsaved_files the number of unsaved file entries in \p
/// unsaved_files.
///
/// \param unsaved_files the files that have not yet been saved to disk
/// but may be required for code completion, including the contents of
/// those files. The contents and name of these files (as specified by
/// CXUnsavedFile) are copied when necessary, so the client only needs to
/// guarantee their validity until the call to this function returns.
ffi.Pointer<CXTranslationUnitImpl> clang_createTranslationUnitFromSourceFile(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
int num_clang_command_line_args,
ffi.Pointer<ffi.Pointer<ffi.Int8>> clang_command_line_args,
int num_unsaved_files,
ffi.Pointer<CXUnsavedFile> unsaved_files,
) {
return (_clang_createTranslationUnitFromSourceFile ??=
_dylib.lookupFunction<_c_clang_createTranslationUnitFromSourceFile,
_dart_clang_createTranslationUnitFromSourceFile>(
'clang_createTranslationUnitFromSourceFile'))(
CIdx,
source_filename,
num_clang_command_line_args,
clang_command_line_args,
num_unsaved_files,
unsaved_files,
);
}
_dart_clang_createTranslationUnitFromSourceFile?
_clang_createTranslationUnitFromSourceFile;
/// Same as \c clang_createTranslationUnit2, but returns
/// the \c CXTranslationUnit instead of an error code. In case of an error this
/// routine returns a \c NULL \c CXTranslationUnit, without further detailed
/// error codes.
ffi.Pointer<CXTranslationUnitImpl> clang_createTranslationUnit(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> ast_filename,
) {
return (_clang_createTranslationUnit ??= _dylib.lookupFunction<
_c_clang_createTranslationUnit,
_dart_clang_createTranslationUnit>('clang_createTranslationUnit'))(
CIdx,
ast_filename,
);
}
_dart_clang_createTranslationUnit? _clang_createTranslationUnit;
/// Create a translation unit from an AST file (\c -emit-ast).
///
/// \param[out] out_TU A non-NULL pointer to store the created
/// \c CXTranslationUnit.
///
/// \returns Zero on success, otherwise returns an error code.
int clang_createTranslationUnit2(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> ast_filename,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
) {
return (_clang_createTranslationUnit2 ??= _dylib.lookupFunction<
_c_clang_createTranslationUnit2,
_dart_clang_createTranslationUnit2>('clang_createTranslationUnit2'))(
CIdx,
ast_filename,
out_TU,
);
}
_dart_clang_createTranslationUnit2? _clang_createTranslationUnit2;
/// Returns the set of flags that is suitable for parsing a translation
/// unit that is being edited.
///
/// The set of flags returned provide options for \c clang_parseTranslationUnit()
/// to indicate that the translation unit is likely to be reparsed many times,
/// either explicitly (via \c clang_reparseTranslationUnit()) or implicitly
/// (e.g., by code completion (\c clang_codeCompletionAt())). The returned flag
/// set contains an unspecified set of optimizations (e.g., the precompiled
/// preamble) geared toward improving the performance of these routines. The
/// set of optimizations enabled may change from one version to the next.
int clang_defaultEditingTranslationUnitOptions() {
return (_clang_defaultEditingTranslationUnitOptions ??=
_dylib.lookupFunction<_c_clang_defaultEditingTranslationUnitOptions,
_dart_clang_defaultEditingTranslationUnitOptions>(
'clang_defaultEditingTranslationUnitOptions'))();
}
_dart_clang_defaultEditingTranslationUnitOptions?
_clang_defaultEditingTranslationUnitOptions;
/// Same as \c clang_parseTranslationUnit2, but returns
/// the \c CXTranslationUnit instead of an error code. In case of an error this
/// routine returns a \c NULL \c CXTranslationUnit, without further detailed
/// error codes.
ffi.Pointer<CXTranslationUnitImpl> clang_parseTranslationUnit(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
int num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
int options,
) {
return (_clang_parseTranslationUnit ??= _dylib.lookupFunction<
_c_clang_parseTranslationUnit,
_dart_clang_parseTranslationUnit>('clang_parseTranslationUnit'))(
CIdx,
source_filename,
command_line_args,
num_command_line_args,
unsaved_files,
num_unsaved_files,
options,
);
}
_dart_clang_parseTranslationUnit? _clang_parseTranslationUnit;
/// Parse the given source file and the translation unit corresponding
/// to that file.
///
/// This routine is the main entry point for the Clang C API, providing the
/// ability to parse a source file into a translation unit that can then be
/// queried by other functions in the API. This routine accepts a set of
/// command-line arguments so that the compilation can be configured in the same
/// way that the compiler is configured on the command line.
///
/// \param CIdx The index object with which the translation unit will be
/// associated.
///
/// \param source_filename The name of the source file to load, or NULL if the
/// source file is included in \c command_line_args.
///
/// \param command_line_args The command-line arguments that would be
/// passed to the \c clang executable if it were being invoked out-of-process.
/// These command-line options will be parsed and will affect how the translation
/// unit is parsed. Note that the following options are ignored: '-c',
/// '-emit-ast', '-fsyntax-only' (which is the default), and '-o \<output file>'.
///
/// \param num_command_line_args The number of command-line arguments in
/// \c command_line_args.
///
/// \param unsaved_files the files that have not yet been saved to disk
/// but may be required for parsing, including the contents of
/// those files. The contents and name of these files (as specified by
/// CXUnsavedFile) are copied when necessary, so the client only needs to
/// guarantee their validity until the call to this function returns.
///
/// \param num_unsaved_files the number of unsaved file entries in \p
/// unsaved_files.
///
/// \param options A bitmask of options that affects how the translation unit
/// is managed but not its compilation. This should be a bitwise OR of the
/// CXTranslationUnit_XXX flags.
///
/// \param[out] out_TU A non-NULL pointer to store the created
/// \c CXTranslationUnit, describing the parsed code and containing any
/// diagnostics produced by the compiler.
///
/// \returns Zero on success, otherwise returns an error code.
int clang_parseTranslationUnit2(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
int num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
int options,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
) {
return (_clang_parseTranslationUnit2 ??= _dylib.lookupFunction<
_c_clang_parseTranslationUnit2,
_dart_clang_parseTranslationUnit2>('clang_parseTranslationUnit2'))(
CIdx,
source_filename,
command_line_args,
num_command_line_args,
unsaved_files,
num_unsaved_files,
options,
out_TU,
);
}
_dart_clang_parseTranslationUnit2? _clang_parseTranslationUnit2;
/// Same as clang_parseTranslationUnit2 but requires a full command line
/// for \c command_line_args including argv[0]. This is useful if the standard
/// library paths are relative to the binary.
int clang_parseTranslationUnit2FullArgv(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
int num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
int options,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
) {
return (_clang_parseTranslationUnit2FullArgv ??= _dylib.lookupFunction<
_c_clang_parseTranslationUnit2FullArgv,
_dart_clang_parseTranslationUnit2FullArgv>(
'clang_parseTranslationUnit2FullArgv'))(
CIdx,
source_filename,
command_line_args,
num_command_line_args,
unsaved_files,
num_unsaved_files,
options,
out_TU,
);
}
_dart_clang_parseTranslationUnit2FullArgv?
_clang_parseTranslationUnit2FullArgv;
/// Returns the set of flags that is suitable for saving a translation
/// unit.
///
/// The set of flags returned provide options for
/// \c clang_saveTranslationUnit() by default. The returned flag
/// set contains an unspecified set of options that save translation units with
/// the most commonly-requested data.
int clang_defaultSaveOptions(
ffi.Pointer<CXTranslationUnitImpl> TU,
) {
return (_clang_defaultSaveOptions ??= _dylib.lookupFunction<
_c_clang_defaultSaveOptions,
_dart_clang_defaultSaveOptions>('clang_defaultSaveOptions'))(
TU,
);
}
_dart_clang_defaultSaveOptions? _clang_defaultSaveOptions;
/// Saves a translation unit into a serialized representation of
/// that translation unit on disk.
///
/// Any translation unit that was parsed without error can be saved
/// into a file. The translation unit can then be deserialized into a
/// new \c CXTranslationUnit with \c clang_createTranslationUnit() or,
/// if it is an incomplete translation unit that corresponds to a
/// header, used as a precompiled header when parsing other translation
/// units.
///
/// \param TU The translation unit to save.
///
/// \param FileName The file to which the translation unit will be saved.
///
/// \param options A bitmask of options that affects how the translation unit
/// is saved. This should be a bitwise OR of the
/// CXSaveTranslationUnit_XXX flags.
///
/// \returns A value that will match one of the enumerators of the CXSaveError
/// enumeration. Zero (CXSaveError_None) indicates that the translation unit was
/// saved successfully, while a non-zero value indicates that a problem occurred.
int clang_saveTranslationUnit(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<ffi.Int8> FileName,
int options,
) {
return (_clang_saveTranslationUnit ??= _dylib.lookupFunction<
_c_clang_saveTranslationUnit,
_dart_clang_saveTranslationUnit>('clang_saveTranslationUnit'))(
TU,
FileName,
options,
);
}
_dart_clang_saveTranslationUnit? _clang_saveTranslationUnit;
/// Suspend a translation unit in order to free memory associated with it.
///
/// A suspended translation unit uses significantly less memory but on the other
/// side does not support any other calls than \c clang_reparseTranslationUnit
/// to resume it or \c clang_disposeTranslationUnit to dispose it completely.
int clang_suspendTranslationUnit(
ffi.Pointer<CXTranslationUnitImpl> arg0,
) {
return (_clang_suspendTranslationUnit ??= _dylib.lookupFunction<
_c_clang_suspendTranslationUnit,
_dart_clang_suspendTranslationUnit>('clang_suspendTranslationUnit'))(
arg0,
);
}
_dart_clang_suspendTranslationUnit? _clang_suspendTranslationUnit;
/// Destroy the specified CXTranslationUnit object.
void clang_disposeTranslationUnit(
ffi.Pointer<CXTranslationUnitImpl> arg0,
) {
return (_clang_disposeTranslationUnit ??= _dylib.lookupFunction<
_c_clang_disposeTranslationUnit,
_dart_clang_disposeTranslationUnit>('clang_disposeTranslationUnit'))(
arg0,
);
}
_dart_clang_disposeTranslationUnit? _clang_disposeTranslationUnit;
/// Returns the set of flags that is suitable for reparsing a translation
/// unit.
///
/// The set of flags returned provide options for
/// \c clang_reparseTranslationUnit() by default. The returned flag
/// set contains an unspecified set of optimizations geared toward common uses
/// of reparsing. The set of optimizations enabled may change from one version
/// to the next.
int clang_defaultReparseOptions(
ffi.Pointer<CXTranslationUnitImpl> TU,
) {
return (_clang_defaultReparseOptions ??= _dylib.lookupFunction<
_c_clang_defaultReparseOptions,
_dart_clang_defaultReparseOptions>('clang_defaultReparseOptions'))(
TU,
);
}
_dart_clang_defaultReparseOptions? _clang_defaultReparseOptions;
/// Reparse the source files that produced this translation unit.
///
/// This routine can be used to re-parse the source files that originally
/// created the given translation unit, for example because those source files
/// have changed (either on disk or as passed via \p unsaved_files). The
/// source code will be reparsed with the same command-line options as it
/// was originally parsed.
///
/// Reparsing a translation unit invalidates all cursors and source locations
/// that refer into that translation unit. This makes reparsing a translation
/// unit semantically equivalent to destroying the translation unit and then
/// creating a new translation unit with the same command-line arguments.
/// However, it may be more efficient to reparse a translation
/// unit using this routine.
///
/// \param TU The translation unit whose contents will be re-parsed. The
/// translation unit must originally have been built with
/// \c clang_createTranslationUnitFromSourceFile().
///
/// \param num_unsaved_files The number of unsaved file entries in \p
/// unsaved_files.
///
/// \param unsaved_files The files that have not yet been saved to disk
/// but may be required for parsing, including the contents of
/// those files. The contents and name of these files (as specified by
/// CXUnsavedFile) are copied when necessary, so the client only needs to
/// guarantee their validity until the call to this function returns.
///
/// \param options A bitset of options composed of the flags in CXReparse_Flags.
/// The function \c clang_defaultReparseOptions() produces a default set of
/// options recommended for most uses, based on the translation unit.
///
/// \returns 0 if the sources could be reparsed. A non-zero error code will be
/// returned if reparsing was impossible, such that the translation unit is
/// invalid. In such cases, the only valid call for \c TU is
/// \c clang_disposeTranslationUnit(TU). The error codes returned by this
/// routine are described by the \c CXErrorCode enum.
int clang_reparseTranslationUnit(
ffi.Pointer<CXTranslationUnitImpl> TU,
int num_unsaved_files,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int options,
) {
return (_clang_reparseTranslationUnit ??= _dylib.lookupFunction<
_c_clang_reparseTranslationUnit,
_dart_clang_reparseTranslationUnit>('clang_reparseTranslationUnit'))(
TU,
num_unsaved_files,
unsaved_files,
options,
);
}
_dart_clang_reparseTranslationUnit? _clang_reparseTranslationUnit;
/// Returns the human-readable null-terminated C string that represents
/// the name of the memory category. This string should never be freed.
ffi.Pointer<ffi.Int8> clang_getTUResourceUsageName(
int kind,
) {
return (_clang_getTUResourceUsageName ??= _dylib.lookupFunction<
_c_clang_getTUResourceUsageName,
_dart_clang_getTUResourceUsageName>('clang_getTUResourceUsageName'))(
kind,
);
}
_dart_clang_getTUResourceUsageName? _clang_getTUResourceUsageName;
/// Return the memory usage of a translation unit. This object
/// should be released with clang_disposeCXTUResourceUsage().
CXTUResourceUsage clang_getCXTUResourceUsage(
ffi.Pointer<CXTranslationUnitImpl> TU,
) {
return (_clang_getCXTUResourceUsage ??= _dylib.lookupFunction<
_c_clang_getCXTUResourceUsage,
_dart_clang_getCXTUResourceUsage>('clang_getCXTUResourceUsage'))(
TU,
);
}
_dart_clang_getCXTUResourceUsage? _clang_getCXTUResourceUsage;
void clang_disposeCXTUResourceUsage(
CXTUResourceUsage usage,
) {
return (_clang_disposeCXTUResourceUsage ??= _dylib.lookupFunction<
_c_clang_disposeCXTUResourceUsage,
_dart_clang_disposeCXTUResourceUsage>(
'clang_disposeCXTUResourceUsage'))(
usage,
);
}
_dart_clang_disposeCXTUResourceUsage? _clang_disposeCXTUResourceUsage;
/// Get target information for this translation unit.
///
/// The CXTargetInfo object cannot outlive the CXTranslationUnit object.
ffi.Pointer<CXTargetInfoImpl> clang_getTranslationUnitTargetInfo(
ffi.Pointer<CXTranslationUnitImpl> CTUnit,
) {
return (_clang_getTranslationUnitTargetInfo ??= _dylib.lookupFunction<
_c_clang_getTranslationUnitTargetInfo,
_dart_clang_getTranslationUnitTargetInfo>(
'clang_getTranslationUnitTargetInfo'))(
CTUnit,
);
}
_dart_clang_getTranslationUnitTargetInfo? _clang_getTranslationUnitTargetInfo;
/// Destroy the CXTargetInfo object.
void clang_TargetInfo_dispose(
ffi.Pointer<CXTargetInfoImpl> Info,
) {
return (_clang_TargetInfo_dispose ??= _dylib.lookupFunction<
_c_clang_TargetInfo_dispose,
_dart_clang_TargetInfo_dispose>('clang_TargetInfo_dispose'))(
Info,
);
}
_dart_clang_TargetInfo_dispose? _clang_TargetInfo_dispose;
/// Get the normalized target triple as a string.
///
/// Returns the empty string in case of any error.
CXString clang_TargetInfo_getTriple(
ffi.Pointer<CXTargetInfoImpl> Info,
) {
return (_clang_TargetInfo_getTriple ??= _dylib.lookupFunction<
_c_clang_TargetInfo_getTriple,
_dart_clang_TargetInfo_getTriple>('clang_TargetInfo_getTriple'))(
Info,
);
}
_dart_clang_TargetInfo_getTriple? _clang_TargetInfo_getTriple;
/// Get the pointer width of the target in bits.
///
/// Returns -1 in case of error.
int clang_TargetInfo_getPointerWidth(
ffi.Pointer<CXTargetInfoImpl> Info,
) {
return (_clang_TargetInfo_getPointerWidth ??= _dylib.lookupFunction<
_c_clang_TargetInfo_getPointerWidth,
_dart_clang_TargetInfo_getPointerWidth>(
'clang_TargetInfo_getPointerWidth'))(
Info,
);
}
_dart_clang_TargetInfo_getPointerWidth? _clang_TargetInfo_getPointerWidth;
/// Retrieve the NULL cursor, which represents no entity.
CXCursor clang_getNullCursor() {
return (_clang_getNullCursor ??= _dylib.lookupFunction<
_c_clang_getNullCursor,
_dart_clang_getNullCursor>('clang_getNullCursor'))();
}
_dart_clang_getNullCursor? _clang_getNullCursor;
/// Retrieve the cursor that represents the given translation unit.
///
/// The translation unit cursor can be used to start traversing the
/// various declarations within the given translation unit.
CXCursor clang_getTranslationUnitCursor(
ffi.Pointer<CXTranslationUnitImpl> arg0,
) {
return (_clang_getTranslationUnitCursor ??= _dylib.lookupFunction<
_c_clang_getTranslationUnitCursor,
_dart_clang_getTranslationUnitCursor>(
'clang_getTranslationUnitCursor'))(
arg0,
);
}
_dart_clang_getTranslationUnitCursor? _clang_getTranslationUnitCursor;
/// Determine whether two cursors are equivalent.
int clang_equalCursors(
CXCursor arg0,
CXCursor arg1,
) {
return (_clang_equalCursors ??=
_dylib.lookupFunction<_c_clang_equalCursors, _dart_clang_equalCursors>(
'clang_equalCursors'))(
arg0,
arg1,
);
}
_dart_clang_equalCursors? _clang_equalCursors;
/// Returns non-zero if \p cursor is null.
int clang_Cursor_isNull(
CXCursor cursor,
) {
return (_clang_Cursor_isNull ??= _dylib.lookupFunction<
_c_clang_Cursor_isNull,
_dart_clang_Cursor_isNull>('clang_Cursor_isNull'))(
cursor,
);
}
_dart_clang_Cursor_isNull? _clang_Cursor_isNull;
/// Compute a hash value for the given cursor.
int clang_hashCursor(
CXCursor arg0,
) {
return (_clang_hashCursor ??=
_dylib.lookupFunction<_c_clang_hashCursor, _dart_clang_hashCursor>(
'clang_hashCursor'))(
arg0,
);
}
_dart_clang_hashCursor? _clang_hashCursor;
/// Retrieve the kind of the given cursor.
int clang_getCursorKind(
CXCursor arg0,
) {
return (_clang_getCursorKind ??= _dylib.lookupFunction<
_c_clang_getCursorKind,
_dart_clang_getCursorKind>('clang_getCursorKind'))(
arg0,
);
}
_dart_clang_getCursorKind? _clang_getCursorKind;
/// Determine whether the given cursor kind represents a declaration.
int clang_isDeclaration(
int arg0,
) {
return (_clang_isDeclaration ??= _dylib.lookupFunction<
_c_clang_isDeclaration,
_dart_clang_isDeclaration>('clang_isDeclaration'))(
arg0,
);
}
_dart_clang_isDeclaration? _clang_isDeclaration;
/// Determine whether the given declaration is invalid.
///
/// A declaration is invalid if it could not be parsed successfully.
///
/// \returns non-zero if the cursor represents a declaration and it is
/// invalid, otherwise NULL.
int clang_isInvalidDeclaration(
CXCursor arg0,
) {
return (_clang_isInvalidDeclaration ??= _dylib.lookupFunction<
_c_clang_isInvalidDeclaration,
_dart_clang_isInvalidDeclaration>('clang_isInvalidDeclaration'))(
arg0,
);
}
_dart_clang_isInvalidDeclaration? _clang_isInvalidDeclaration;
/// Determine whether the given cursor kind represents a simple
/// reference.
///
/// Note that other kinds of cursors (such as expressions) can also refer to
/// other cursors. Use clang_getCursorReferenced() to determine whether a
/// particular cursor refers to another entity.
int clang_isReference(
int arg0,
) {
return (_clang_isReference ??=
_dylib.lookupFunction<_c_clang_isReference, _dart_clang_isReference>(
'clang_isReference'))(
arg0,
);
}
_dart_clang_isReference? _clang_isReference;
/// Determine whether the given cursor kind represents an expression.
int clang_isExpression(
int arg0,
) {
return (_clang_isExpression ??=
_dylib.lookupFunction<_c_clang_isExpression, _dart_clang_isExpression>(
'clang_isExpression'))(
arg0,
);
}
_dart_clang_isExpression? _clang_isExpression;
/// Determine whether the given cursor kind represents a statement.
int clang_isStatement(
int arg0,
) {
return (_clang_isStatement ??=
_dylib.lookupFunction<_c_clang_isStatement, _dart_clang_isStatement>(
'clang_isStatement'))(
arg0,
);
}
_dart_clang_isStatement? _clang_isStatement;
/// Determine whether the given cursor kind represents an attribute.
int clang_isAttribute(
int arg0,
) {
return (_clang_isAttribute ??=
_dylib.lookupFunction<_c_clang_isAttribute, _dart_clang_isAttribute>(
'clang_isAttribute'))(
arg0,
);
}
_dart_clang_isAttribute? _clang_isAttribute;
/// Determine whether the given cursor has any attributes.
int clang_Cursor_hasAttrs(
CXCursor C,
) {
return (_clang_Cursor_hasAttrs ??= _dylib.lookupFunction<
_c_clang_Cursor_hasAttrs,
_dart_clang_Cursor_hasAttrs>('clang_Cursor_hasAttrs'))(
C,
);
}
_dart_clang_Cursor_hasAttrs? _clang_Cursor_hasAttrs;
/// Determine whether the given cursor kind represents an invalid
/// cursor.
int clang_isInvalid(
int arg0,
) {
return (_clang_isInvalid ??=
_dylib.lookupFunction<_c_clang_isInvalid, _dart_clang_isInvalid>(
'clang_isInvalid'))(
arg0,
);
}
_dart_clang_isInvalid? _clang_isInvalid;
/// Determine whether the given cursor kind represents a translation
/// unit.
int clang_isTranslationUnit(
int arg0,
) {
return (_clang_isTranslationUnit ??= _dylib.lookupFunction<
_c_clang_isTranslationUnit,
_dart_clang_isTranslationUnit>('clang_isTranslationUnit'))(
arg0,
);
}
_dart_clang_isTranslationUnit? _clang_isTranslationUnit;
/// Determine whether the given cursor represents a preprocessing
/// element, such as a preprocessor directive or macro instantiation.
int clang_isPreprocessing(
int arg0,
) {
return (_clang_isPreprocessing ??= _dylib.lookupFunction<
_c_clang_isPreprocessing,
_dart_clang_isPreprocessing>('clang_isPreprocessing'))(
arg0,
);
}
_dart_clang_isPreprocessing? _clang_isPreprocessing;
/// Determine whether the given cursor represents a currently
/// unexposed piece of the AST (e.g., CXCursor_UnexposedStmt).
int clang_isUnexposed(
int arg0,
) {
return (_clang_isUnexposed ??=
_dylib.lookupFunction<_c_clang_isUnexposed, _dart_clang_isUnexposed>(
'clang_isUnexposed'))(
arg0,
);
}
_dart_clang_isUnexposed? _clang_isUnexposed;
/// Determine the linkage of the entity referred to by a given cursor.
int clang_getCursorLinkage(
CXCursor cursor,
) {
return (_clang_getCursorLinkage ??= _dylib.lookupFunction<
_c_clang_getCursorLinkage,
_dart_clang_getCursorLinkage>('clang_getCursorLinkage'))(
cursor,
);
}
_dart_clang_getCursorLinkage? _clang_getCursorLinkage;
/// Describe the visibility of the entity referred to by a cursor.
///
/// This returns the default visibility if not explicitly specified by
/// a visibility attribute. The default visibility may be changed by
/// commandline arguments.
///
/// \param cursor The cursor to query.
///
/// \returns The visibility of the cursor.
int clang_getCursorVisibility(
CXCursor cursor,
) {
return (_clang_getCursorVisibility ??= _dylib.lookupFunction<
_c_clang_getCursorVisibility,
_dart_clang_getCursorVisibility>('clang_getCursorVisibility'))(
cursor,
);
}
_dart_clang_getCursorVisibility? _clang_getCursorVisibility;
/// Determine the availability of the entity that this cursor refers to,
/// taking the current target platform into account.
///
/// \param cursor The cursor to query.
///
/// \returns The availability of the cursor.
int clang_getCursorAvailability(
CXCursor cursor,
) {
return (_clang_getCursorAvailability ??= _dylib.lookupFunction<
_c_clang_getCursorAvailability,
_dart_clang_getCursorAvailability>('clang_getCursorAvailability'))(
cursor,
);
}
_dart_clang_getCursorAvailability? _clang_getCursorAvailability;
/// Determine the availability of the entity that this cursor refers to
/// on any platforms for which availability information is known.
///
/// \param cursor The cursor to query.
///
/// \param always_deprecated If non-NULL, will be set to indicate whether the
/// entity is deprecated on all platforms.
///
/// \param deprecated_message If non-NULL, will be set to the message text
/// provided along with the unconditional deprecation of this entity. The client
/// is responsible for deallocating this string.
///
/// \param always_unavailable If non-NULL, will be set to indicate whether the
/// entity is unavailable on all platforms.
///
/// \param unavailable_message If non-NULL, will be set to the message text
/// provided along with the unconditional unavailability of this entity. The
/// client is responsible for deallocating this string.
///
/// \param availability If non-NULL, an array of CXPlatformAvailability instances
/// that will be populated with platform availability information, up to either
/// the number of platforms for which availability information is available (as
/// returned by this function) or \c availability_size, whichever is smaller.
///
/// \param availability_size The number of elements available in the
/// \c availability array.
///
/// \returns The number of platforms (N) for which availability information is
/// available (which is unrelated to \c availability_size).
///
/// Note that the client is responsible for calling
/// \c clang_disposeCXPlatformAvailability to free each of the
/// platform-availability structures returned. There are
/// \c min(N, availability_size) such structures.
int clang_getCursorPlatformAvailability(
CXCursor cursor,
ffi.Pointer<ffi.Int32> always_deprecated,
ffi.Pointer<CXString> deprecated_message,
ffi.Pointer<ffi.Int32> always_unavailable,
ffi.Pointer<CXString> unavailable_message,
ffi.Pointer<CXPlatformAvailability> availability,
int availability_size,
) {
return (_clang_getCursorPlatformAvailability ??= _dylib.lookupFunction<
_c_clang_getCursorPlatformAvailability,
_dart_clang_getCursorPlatformAvailability>(
'clang_getCursorPlatformAvailability'))(
cursor,
always_deprecated,
deprecated_message,
always_unavailable,
unavailable_message,
availability,
availability_size,
);
}
_dart_clang_getCursorPlatformAvailability?
_clang_getCursorPlatformAvailability;
/// Free the memory associated with a \c CXPlatformAvailability structure.
void clang_disposeCXPlatformAvailability(
ffi.Pointer<CXPlatformAvailability> availability,
) {
return (_clang_disposeCXPlatformAvailability ??= _dylib.lookupFunction<
_c_clang_disposeCXPlatformAvailability,
_dart_clang_disposeCXPlatformAvailability>(
'clang_disposeCXPlatformAvailability'))(
availability,
);
}
_dart_clang_disposeCXPlatformAvailability?
_clang_disposeCXPlatformAvailability;
/// Determine the "language" of the entity referred to by a given cursor.
int clang_getCursorLanguage(
CXCursor cursor,
) {
return (_clang_getCursorLanguage ??= _dylib.lookupFunction<
_c_clang_getCursorLanguage,
_dart_clang_getCursorLanguage>('clang_getCursorLanguage'))(
cursor,
);
}
_dart_clang_getCursorLanguage? _clang_getCursorLanguage;
/// Determine the "thread-local storage (TLS) kind" of the declaration
/// referred to by a cursor.
int clang_getCursorTLSKind(
CXCursor cursor,
) {
return (_clang_getCursorTLSKind ??= _dylib.lookupFunction<
_c_clang_getCursorTLSKind,
_dart_clang_getCursorTLSKind>('clang_getCursorTLSKind'))(
cursor,
);
}
_dart_clang_getCursorTLSKind? _clang_getCursorTLSKind;
/// Returns the translation unit that a cursor originated from.
ffi.Pointer<CXTranslationUnitImpl> clang_Cursor_getTranslationUnit(
CXCursor arg0,
) {
return (_clang_Cursor_getTranslationUnit ??= _dylib.lookupFunction<
_c_clang_Cursor_getTranslationUnit,
_dart_clang_Cursor_getTranslationUnit>(
'clang_Cursor_getTranslationUnit'))(
arg0,
);
}
_dart_clang_Cursor_getTranslationUnit? _clang_Cursor_getTranslationUnit;
/// Creates an empty CXCursorSet.
ffi.Pointer<CXCursorSetImpl> clang_createCXCursorSet() {
return (_clang_createCXCursorSet ??= _dylib.lookupFunction<
_c_clang_createCXCursorSet,
_dart_clang_createCXCursorSet>('clang_createCXCursorSet'))();
}
_dart_clang_createCXCursorSet? _clang_createCXCursorSet;
/// Disposes a CXCursorSet and releases its associated memory.
void clang_disposeCXCursorSet(
ffi.Pointer<CXCursorSetImpl> cset,
) {
return (_clang_disposeCXCursorSet ??= _dylib.lookupFunction<
_c_clang_disposeCXCursorSet,
_dart_clang_disposeCXCursorSet>('clang_disposeCXCursorSet'))(
cset,
);
}
_dart_clang_disposeCXCursorSet? _clang_disposeCXCursorSet;
/// Queries a CXCursorSet to see if it contains a specific CXCursor.
///
/// \returns non-zero if the set contains the specified cursor.
int clang_CXCursorSet_contains(
ffi.Pointer<CXCursorSetImpl> cset,
CXCursor cursor,
) {
return (_clang_CXCursorSet_contains ??= _dylib.lookupFunction<
_c_clang_CXCursorSet_contains,
_dart_clang_CXCursorSet_contains>('clang_CXCursorSet_contains'))(
cset,
cursor,
);
}
_dart_clang_CXCursorSet_contains? _clang_CXCursorSet_contains;
/// Inserts a CXCursor into a CXCursorSet.
///
/// \returns zero if the CXCursor was already in the set, and non-zero otherwise.
int clang_CXCursorSet_insert(
ffi.Pointer<CXCursorSetImpl> cset,
CXCursor cursor,
) {
return (_clang_CXCursorSet_insert ??= _dylib.lookupFunction<
_c_clang_CXCursorSet_insert,
_dart_clang_CXCursorSet_insert>('clang_CXCursorSet_insert'))(
cset,
cursor,
);
}
_dart_clang_CXCursorSet_insert? _clang_CXCursorSet_insert;
/// Determine the semantic parent of the given cursor.
///
/// The semantic parent of a cursor is the cursor that semantically contains
/// the given \p cursor. For many declarations, the lexical and semantic parents
/// are equivalent (the lexical parent is returned by
/// \c clang_getCursorLexicalParent()). They diverge when declarations or
/// definitions are provided out-of-line. For example:
///
/// \code
/// class C {
/// void f();
/// };
///
/// void C::f() { }
/// \endcode
///
/// In the out-of-line definition of \c C::f, the semantic parent is
/// the class \c C, of which this function is a member. The lexical parent is
/// the place where the declaration actually occurs in the source code; in this
/// case, the definition occurs in the translation unit. In general, the
/// lexical parent for a given entity can change without affecting the semantics
/// of the program, and the lexical parent of different declarations of the
/// same entity may be different. Changing the semantic parent of a declaration,
/// on the other hand, can have a major impact on semantics, and redeclarations
/// of a particular entity should all have the same semantic context.
///
/// In the example above, both declarations of \c C::f have \c C as their
/// semantic context, while the lexical context of the first \c C::f is \c C
/// and the lexical context of the second \c C::f is the translation unit.
///
/// For global declarations, the semantic parent is the translation unit.
CXCursor clang_getCursorSemanticParent(
CXCursor cursor,
) {
return (_clang_getCursorSemanticParent ??= _dylib.lookupFunction<
_c_clang_getCursorSemanticParent,
_dart_clang_getCursorSemanticParent>('clang_getCursorSemanticParent'))(
cursor,
);
}
_dart_clang_getCursorSemanticParent? _clang_getCursorSemanticParent;
/// Determine the lexical parent of the given cursor.
///
/// The lexical parent of a cursor is the cursor in which the given \p cursor
/// was actually written. For many declarations, the lexical and semantic parents
/// are equivalent (the semantic parent is returned by
/// \c clang_getCursorSemanticParent()). They diverge when declarations or
/// definitions are provided out-of-line. For example:
///
/// \code
/// class C {
/// void f();
/// };
///
/// void C::f() { }
/// \endcode
///
/// In the out-of-line definition of \c C::f, the semantic parent is
/// the class \c C, of which this function is a member. The lexical parent is
/// the place where the declaration actually occurs in the source code; in this
/// case, the definition occurs in the translation unit. In general, the
/// lexical parent for a given entity can change without affecting the semantics
/// of the program, and the lexical parent of different declarations of the
/// same entity may be different. Changing the semantic parent of a declaration,
/// on the other hand, can have a major impact on semantics, and redeclarations
/// of a particular entity should all have the same semantic context.
///
/// In the example above, both declarations of \c C::f have \c C as their
/// semantic context, while the lexical context of the first \c C::f is \c C
/// and the lexical context of the second \c C::f is the translation unit.
///
/// For declarations written in the global scope, the lexical parent is
/// the translation unit.
CXCursor clang_getCursorLexicalParent(
CXCursor cursor,
) {
return (_clang_getCursorLexicalParent ??= _dylib.lookupFunction<
_c_clang_getCursorLexicalParent,
_dart_clang_getCursorLexicalParent>('clang_getCursorLexicalParent'))(
cursor,
);
}
_dart_clang_getCursorLexicalParent? _clang_getCursorLexicalParent;
/// Determine the set of methods that are overridden by the given
/// method.
///
/// In both Objective-C and C++, a method (aka virtual member function,
/// in C++) can override a virtual method in a base class. For
/// Objective-C, a method is said to override any method in the class's
/// base class, its protocols, or its categories' protocols, that has the same
/// selector and is of the same kind (class or instance).
/// If no such method exists, the search continues to the class's superclass,
/// its protocols, and its categories, and so on. A method from an Objective-C
/// implementation is considered to override the same methods as its
/// corresponding method in the interface.
///
/// For C++, a virtual member function overrides any virtual member
/// function with the same signature that occurs in its base
/// classes. With multiple inheritance, a virtual member function can
/// override several virtual member functions coming from different
/// base classes.
///
/// In all cases, this function determines the immediate overridden
/// method, rather than all of the overridden methods. For example, if
/// a method is originally declared in a class A, then overridden in B
/// (which in inherits from A) and also in C (which inherited from B),
/// then the only overridden method returned from this function when
/// invoked on C's method will be B's method. The client may then
/// invoke this function again, given the previously-found overridden
/// methods, to map out the complete method-override set.
///
/// \param cursor A cursor representing an Objective-C or C++
/// method. This routine will compute the set of methods that this
/// method overrides.
///
/// \param overridden A pointer whose pointee will be replaced with a
/// pointer to an array of cursors, representing the set of overridden
/// methods. If there are no overridden methods, the pointee will be
/// set to NULL. The pointee must be freed via a call to
/// \c clang_disposeOverriddenCursors().
///
/// \param num_overridden A pointer to the number of overridden
/// functions, will be set to the number of overridden functions in the
/// array pointed to by \p overridden.
void clang_getOverriddenCursors(
CXCursor cursor,
ffi.Pointer<ffi.Pointer<CXCursor>> overridden,
ffi.Pointer<ffi.Uint32> num_overridden,
) {
return (_clang_getOverriddenCursors ??= _dylib.lookupFunction<
_c_clang_getOverriddenCursors,
_dart_clang_getOverriddenCursors>('clang_getOverriddenCursors'))(
cursor,
overridden,
num_overridden,
);
}
_dart_clang_getOverriddenCursors? _clang_getOverriddenCursors;
/// Free the set of overridden cursors returned by \c
/// clang_getOverriddenCursors().
void clang_disposeOverriddenCursors(
ffi.Pointer<CXCursor> overridden,
) {
return (_clang_disposeOverriddenCursors ??= _dylib.lookupFunction<
_c_clang_disposeOverriddenCursors,
_dart_clang_disposeOverriddenCursors>(
'clang_disposeOverriddenCursors'))(
overridden,
);
}
_dart_clang_disposeOverriddenCursors? _clang_disposeOverriddenCursors;
/// Retrieve the file that is included by the given inclusion directive
/// cursor.
ffi.Pointer<ffi.Void> clang_getIncludedFile(
CXCursor cursor,
) {
return (_clang_getIncludedFile ??= _dylib.lookupFunction<
_c_clang_getIncludedFile,
_dart_clang_getIncludedFile>('clang_getIncludedFile'))(
cursor,
);
}
_dart_clang_getIncludedFile? _clang_getIncludedFile;
/// Map a source location to the cursor that describes the entity at that
/// location in the source code.
///
/// clang_getCursor() maps an arbitrary source location within a translation
/// unit down to the most specific cursor that describes the entity at that
/// location. For example, given an expression \c x + y, invoking
/// clang_getCursor() with a source location pointing to "x" will return the
/// cursor for "x"; similarly for "y". If the cursor points anywhere between
/// "x" or "y" (e.g., on the + or the whitespace around it), clang_getCursor()
/// will return a cursor referring to the "+" expression.
///
/// \returns a cursor representing the entity at the given source location, or
/// a NULL cursor if no such entity can be found.
CXCursor clang_getCursor(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXSourceLocation arg1,
) {
return (_clang_getCursor ??=
_dylib.lookupFunction<_c_clang_getCursor, _dart_clang_getCursor>(
'clang_getCursor'))(
arg0,
arg1,
);
}
_dart_clang_getCursor? _clang_getCursor;
/// Retrieve the physical location of the source constructor referenced
/// by the given cursor.
///
/// The location of a declaration is typically the location of the name of that
/// declaration, where the name of that declaration would occur if it is
/// unnamed, or some keyword that introduces that particular declaration.
/// The location of a reference is where that reference occurs within the
/// source code.
CXSourceLocation clang_getCursorLocation(
CXCursor arg0,
) {
return (_clang_getCursorLocation ??= _dylib.lookupFunction<
_c_clang_getCursorLocation,
_dart_clang_getCursorLocation>('clang_getCursorLocation'))(
arg0,
);
}
_dart_clang_getCursorLocation? _clang_getCursorLocation;
/// Retrieve the physical extent of the source construct referenced by
/// the given cursor.
///
/// The extent of a cursor starts with the file/line/column pointing at the
/// first character within the source construct that the cursor refers to and
/// ends with the last character within that source construct. For a
/// declaration, the extent covers the declaration itself. For a reference,
/// the extent covers the location of the reference (e.g., where the referenced
/// entity was actually used).
CXSourceRange clang_getCursorExtent(
CXCursor arg0,
) {
return (_clang_getCursorExtent ??= _dylib.lookupFunction<
_c_clang_getCursorExtent,
_dart_clang_getCursorExtent>('clang_getCursorExtent'))(
arg0,
);
}
_dart_clang_getCursorExtent? _clang_getCursorExtent;
/// Retrieve the type of a CXCursor (if any).
CXType clang_getCursorType(
CXCursor C,
) {
return (_clang_getCursorType ??= _dylib.lookupFunction<
_c_clang_getCursorType,
_dart_clang_getCursorType>('clang_getCursorType'))(
C,
);
}
_dart_clang_getCursorType? _clang_getCursorType;
/// Pretty-print the underlying type using the rules of the
/// language of the translation unit from which it came.
///
/// If the type is invalid, an empty string is returned.
CXString clang_getTypeSpelling(
CXType CT,
) {
return (_clang_getTypeSpelling ??= _dylib.lookupFunction<
_c_clang_getTypeSpelling,
_dart_clang_getTypeSpelling>('clang_getTypeSpelling'))(
CT,
);
}
_dart_clang_getTypeSpelling? _clang_getTypeSpelling;
/// Retrieve the underlying type of a typedef declaration.
///
/// If the cursor does not reference a typedef declaration, an invalid type is
/// returned.
CXType clang_getTypedefDeclUnderlyingType(
CXCursor C,
) {
return (_clang_getTypedefDeclUnderlyingType ??= _dylib.lookupFunction<
_c_clang_getTypedefDeclUnderlyingType,
_dart_clang_getTypedefDeclUnderlyingType>(
'clang_getTypedefDeclUnderlyingType'))(
C,
);
}
_dart_clang_getTypedefDeclUnderlyingType? _clang_getTypedefDeclUnderlyingType;
/// Retrieve the integer type of an enum declaration.
///
/// If the cursor does not reference an enum declaration, an invalid type is
/// returned.
CXType clang_getEnumDeclIntegerType(
CXCursor C,
) {
return (_clang_getEnumDeclIntegerType ??= _dylib.lookupFunction<
_c_clang_getEnumDeclIntegerType,
_dart_clang_getEnumDeclIntegerType>('clang_getEnumDeclIntegerType'))(
C,
);
}
_dart_clang_getEnumDeclIntegerType? _clang_getEnumDeclIntegerType;
/// Retrieve the integer value of an enum constant declaration as a signed
/// long long.
///
/// If the cursor does not reference an enum constant declaration, LLONG_MIN is returned.
/// Since this is also potentially a valid constant value, the kind of the cursor
/// must be verified before calling this function.
int clang_getEnumConstantDeclValue(
CXCursor C,
) {
return (_clang_getEnumConstantDeclValue ??= _dylib.lookupFunction<
_c_clang_getEnumConstantDeclValue,
_dart_clang_getEnumConstantDeclValue>(
'clang_getEnumConstantDeclValue'))(
C,
);
}
_dart_clang_getEnumConstantDeclValue? _clang_getEnumConstantDeclValue;
/// Retrieve the integer value of an enum constant declaration as an unsigned
/// long long.
///
/// If the cursor does not reference an enum constant declaration, ULLONG_MAX is returned.
/// Since this is also potentially a valid constant value, the kind of the cursor
/// must be verified before calling this function.
int clang_getEnumConstantDeclUnsignedValue(
CXCursor C,
) {
return (_clang_getEnumConstantDeclUnsignedValue ??= _dylib.lookupFunction<
_c_clang_getEnumConstantDeclUnsignedValue,
_dart_clang_getEnumConstantDeclUnsignedValue>(
'clang_getEnumConstantDeclUnsignedValue'))(
C,
);
}
_dart_clang_getEnumConstantDeclUnsignedValue?
_clang_getEnumConstantDeclUnsignedValue;
/// Retrieve the bit width of a bit field declaration as an integer.
///
/// If a cursor that is not a bit field declaration is passed in, -1 is returned.
int clang_getFieldDeclBitWidth(
CXCursor C,
) {
return (_clang_getFieldDeclBitWidth ??= _dylib.lookupFunction<
_c_clang_getFieldDeclBitWidth,
_dart_clang_getFieldDeclBitWidth>('clang_getFieldDeclBitWidth'))(
C,
);
}
_dart_clang_getFieldDeclBitWidth? _clang_getFieldDeclBitWidth;
/// Retrieve the number of non-variadic arguments associated with a given
/// cursor.
///
/// The number of arguments can be determined for calls as well as for
/// declarations of functions or methods. For other cursors -1 is returned.
int clang_Cursor_getNumArguments(
CXCursor C,
) {
return (_clang_Cursor_getNumArguments ??= _dylib.lookupFunction<
_c_clang_Cursor_getNumArguments,
_dart_clang_Cursor_getNumArguments>('clang_Cursor_getNumArguments'))(
C,
);
}
_dart_clang_Cursor_getNumArguments? _clang_Cursor_getNumArguments;
/// Retrieve the argument cursor of a function or method.
///
/// The argument cursor can be determined for calls as well as for declarations
/// of functions or methods. For other cursors and for invalid indices, an
/// invalid cursor is returned.
CXCursor clang_Cursor_getArgument(
CXCursor C,
int i,
) {
return (_clang_Cursor_getArgument ??= _dylib.lookupFunction<
_c_clang_Cursor_getArgument,
_dart_clang_Cursor_getArgument>('clang_Cursor_getArgument'))(
C,
i,
);
}
_dart_clang_Cursor_getArgument? _clang_Cursor_getArgument;
/// Returns the number of template args of a function decl representing a
/// template specialization.
///
/// If the argument cursor cannot be converted into a template function
/// declaration, -1 is returned.
///
/// For example, for the following declaration and specialization:
/// template <typename T, int kInt, bool kBool>
/// void foo() { ... }
///
/// template <>
/// void foo<float, -7, true>();
///
/// The value 3 would be returned from this call.
int clang_Cursor_getNumTemplateArguments(
CXCursor C,
) {
return (_clang_Cursor_getNumTemplateArguments ??= _dylib.lookupFunction<
_c_clang_Cursor_getNumTemplateArguments,
_dart_clang_Cursor_getNumTemplateArguments>(
'clang_Cursor_getNumTemplateArguments'))(
C,
);
}
_dart_clang_Cursor_getNumTemplateArguments?
_clang_Cursor_getNumTemplateArguments;
/// Retrieve the kind of the I'th template argument of the CXCursor C.
///
/// If the argument CXCursor does not represent a FunctionDecl, an invalid
/// template argument kind is returned.
///
/// For example, for the following declaration and specialization:
/// template <typename T, int kInt, bool kBool>
/// void foo() { ... }
///
/// template <>
/// void foo<float, -7, true>();
///
/// For I = 0, 1, and 2, Type, Integral, and Integral will be returned,
/// respectively.
int clang_Cursor_getTemplateArgumentKind(
CXCursor C,
int I,
) {
return (_clang_Cursor_getTemplateArgumentKind ??= _dylib.lookupFunction<
_c_clang_Cursor_getTemplateArgumentKind,
_dart_clang_Cursor_getTemplateArgumentKind>(
'clang_Cursor_getTemplateArgumentKind'))(
C,
I,
);
}
_dart_clang_Cursor_getTemplateArgumentKind?
_clang_Cursor_getTemplateArgumentKind;
/// Retrieve a CXType representing the type of a TemplateArgument of a
/// function decl representing a template specialization.
///
/// If the argument CXCursor does not represent a FunctionDecl whose I'th
/// template argument has a kind of CXTemplateArgKind_Integral, an invalid type
/// is returned.
///
/// For example, for the following declaration and specialization:
/// template <typename T, int kInt, bool kBool>
/// void foo() { ... }
///
/// template <>
/// void foo<float, -7, true>();
///
/// If called with I = 0, "float", will be returned.
/// Invalid types will be returned for I == 1 or 2.
CXType clang_Cursor_getTemplateArgumentType(
CXCursor C,
int I,
) {
return (_clang_Cursor_getTemplateArgumentType ??= _dylib.lookupFunction<
_c_clang_Cursor_getTemplateArgumentType,
_dart_clang_Cursor_getTemplateArgumentType>(
'clang_Cursor_getTemplateArgumentType'))(
C,
I,
);
}
_dart_clang_Cursor_getTemplateArgumentType?
_clang_Cursor_getTemplateArgumentType;
/// Retrieve the value of an Integral TemplateArgument (of a function
/// decl representing a template specialization) as a signed long long.
///
/// It is undefined to call this function on a CXCursor that does not represent a
/// FunctionDecl or whose I'th template argument is not an integral value.
///
/// For example, for the following declaration and specialization:
/// template <typename T, int kInt, bool kBool>
/// void foo() { ... }
///
/// template <>
/// void foo<float, -7, true>();
///
/// If called with I = 1 or 2, -7 or true will be returned, respectively.
/// For I == 0, this function's behavior is undefined.
int clang_Cursor_getTemplateArgumentValue(
CXCursor C,
int I,
) {
return (_clang_Cursor_getTemplateArgumentValue ??= _dylib.lookupFunction<
_c_clang_Cursor_getTemplateArgumentValue,
_dart_clang_Cursor_getTemplateArgumentValue>(
'clang_Cursor_getTemplateArgumentValue'))(
C,
I,
);
}
_dart_clang_Cursor_getTemplateArgumentValue?
_clang_Cursor_getTemplateArgumentValue;
/// Retrieve the value of an Integral TemplateArgument (of a function
/// decl representing a template specialization) as an unsigned long long.
///
/// It is undefined to call this function on a CXCursor that does not represent a
/// FunctionDecl or whose I'th template argument is not an integral value.
///
/// For example, for the following declaration and specialization:
/// template <typename T, int kInt, bool kBool>
/// void foo() { ... }
///
/// template <>
/// void foo<float, 2147483649, true>();
///
/// If called with I = 1 or 2, 2147483649 or true will be returned, respectively.
/// For I == 0, this function's behavior is undefined.
int clang_Cursor_getTemplateArgumentUnsignedValue(
CXCursor C,
int I,
) {
return (_clang_Cursor_getTemplateArgumentUnsignedValue ??=
_dylib.lookupFunction<_c_clang_Cursor_getTemplateArgumentUnsignedValue,
_dart_clang_Cursor_getTemplateArgumentUnsignedValue>(
'clang_Cursor_getTemplateArgumentUnsignedValue'))(
C,
I,
);
}
_dart_clang_Cursor_getTemplateArgumentUnsignedValue?
_clang_Cursor_getTemplateArgumentUnsignedValue;
/// Determine whether two CXTypes represent the same type.
///
/// \returns non-zero if the CXTypes represent the same type and
/// zero otherwise.
int clang_equalTypes(
CXType A,
CXType B,
) {
return (_clang_equalTypes ??=
_dylib.lookupFunction<_c_clang_equalTypes, _dart_clang_equalTypes>(
'clang_equalTypes'))(
A,
B,
);
}
_dart_clang_equalTypes? _clang_equalTypes;
/// Return the canonical type for a CXType.
///
/// Clang's type system explicitly models typedefs and all the ways
/// a specific type can be represented. The canonical type is the underlying
/// type with all the "sugar" removed. For example, if 'T' is a typedef
/// for 'int', the canonical type for 'T' would be 'int'.
CXType clang_getCanonicalType(
CXType T,
) {
return (_clang_getCanonicalType ??= _dylib.lookupFunction<
_c_clang_getCanonicalType,
_dart_clang_getCanonicalType>('clang_getCanonicalType'))(
T,
);
}
_dart_clang_getCanonicalType? _clang_getCanonicalType;
/// Determine whether a CXType has the "const" qualifier set,
/// without looking through typedefs that may have added "const" at a
/// different level.
int clang_isConstQualifiedType(
CXType T,
) {
return (_clang_isConstQualifiedType ??= _dylib.lookupFunction<
_c_clang_isConstQualifiedType,
_dart_clang_isConstQualifiedType>('clang_isConstQualifiedType'))(
T,
);
}
_dart_clang_isConstQualifiedType? _clang_isConstQualifiedType;
/// Determine whether a CXCursor that is a macro, is
/// function like.
int clang_Cursor_isMacroFunctionLike(
CXCursor C,
) {
return (_clang_Cursor_isMacroFunctionLike ??= _dylib.lookupFunction<
_c_clang_Cursor_isMacroFunctionLike,
_dart_clang_Cursor_isMacroFunctionLike>(
'clang_Cursor_isMacroFunctionLike'))(
C,
);
}
_dart_clang_Cursor_isMacroFunctionLike? _clang_Cursor_isMacroFunctionLike;
/// Determine whether a CXCursor that is a macro, is a
/// builtin one.
int clang_Cursor_isMacroBuiltin(
CXCursor C,
) {
return (_clang_Cursor_isMacroBuiltin ??= _dylib.lookupFunction<
_c_clang_Cursor_isMacroBuiltin,
_dart_clang_Cursor_isMacroBuiltin>('clang_Cursor_isMacroBuiltin'))(
C,
);
}
_dart_clang_Cursor_isMacroBuiltin? _clang_Cursor_isMacroBuiltin;
/// Determine whether a CXCursor that is a function declaration, is an
/// inline declaration.
int clang_Cursor_isFunctionInlined(
CXCursor C,
) {
return (_clang_Cursor_isFunctionInlined ??= _dylib.lookupFunction<
_c_clang_Cursor_isFunctionInlined,
_dart_clang_Cursor_isFunctionInlined>(
'clang_Cursor_isFunctionInlined'))(
C,
);
}
_dart_clang_Cursor_isFunctionInlined? _clang_Cursor_isFunctionInlined;
/// Determine whether a CXType has the "volatile" qualifier set,
/// without looking through typedefs that may have added "volatile" at
/// a different level.
int clang_isVolatileQualifiedType(
CXType T,
) {
return (_clang_isVolatileQualifiedType ??= _dylib.lookupFunction<
_c_clang_isVolatileQualifiedType,
_dart_clang_isVolatileQualifiedType>('clang_isVolatileQualifiedType'))(
T,
);
}
_dart_clang_isVolatileQualifiedType? _clang_isVolatileQualifiedType;
/// Determine whether a CXType has the "restrict" qualifier set,
/// without looking through typedefs that may have added "restrict" at a
/// different level.
int clang_isRestrictQualifiedType(
CXType T,
) {
return (_clang_isRestrictQualifiedType ??= _dylib.lookupFunction<
_c_clang_isRestrictQualifiedType,
_dart_clang_isRestrictQualifiedType>('clang_isRestrictQualifiedType'))(
T,
);
}
_dart_clang_isRestrictQualifiedType? _clang_isRestrictQualifiedType;
/// Returns the address space of the given type.
int clang_getAddressSpace(
CXType T,
) {
return (_clang_getAddressSpace ??= _dylib.lookupFunction<
_c_clang_getAddressSpace,
_dart_clang_getAddressSpace>('clang_getAddressSpace'))(
T,
);
}
_dart_clang_getAddressSpace? _clang_getAddressSpace;
/// Returns the typedef name of the given type.
CXString clang_getTypedefName(
CXType CT,
) {
return (_clang_getTypedefName ??= _dylib.lookupFunction<
_c_clang_getTypedefName,
_dart_clang_getTypedefName>('clang_getTypedefName'))(
CT,
);
}
_dart_clang_getTypedefName? _clang_getTypedefName;
/// For pointer types, returns the type of the pointee.
CXType clang_getPointeeType(
CXType T,
) {
return (_clang_getPointeeType ??= _dylib.lookupFunction<
_c_clang_getPointeeType,
_dart_clang_getPointeeType>('clang_getPointeeType'))(
T,
);
}
_dart_clang_getPointeeType? _clang_getPointeeType;
/// Return the cursor for the declaration of the given type.
CXCursor clang_getTypeDeclaration(
CXType T,
) {
return (_clang_getTypeDeclaration ??= _dylib.lookupFunction<
_c_clang_getTypeDeclaration,
_dart_clang_getTypeDeclaration>('clang_getTypeDeclaration'))(
T,
);
}
_dart_clang_getTypeDeclaration? _clang_getTypeDeclaration;
/// Returns the Objective-C type encoding for the specified declaration.
CXString clang_getDeclObjCTypeEncoding(
CXCursor C,
) {
return (_clang_getDeclObjCTypeEncoding ??= _dylib.lookupFunction<
_c_clang_getDeclObjCTypeEncoding,
_dart_clang_getDeclObjCTypeEncoding>('clang_getDeclObjCTypeEncoding'))(
C,
);
}
_dart_clang_getDeclObjCTypeEncoding? _clang_getDeclObjCTypeEncoding;
/// Returns the Objective-C type encoding for the specified CXType.
CXString clang_Type_getObjCEncoding(
CXType type,
) {
return (_clang_Type_getObjCEncoding ??= _dylib.lookupFunction<
_c_clang_Type_getObjCEncoding,
_dart_clang_Type_getObjCEncoding>('clang_Type_getObjCEncoding'))(
type,
);
}
_dart_clang_Type_getObjCEncoding? _clang_Type_getObjCEncoding;
/// Retrieve the spelling of a given CXTypeKind.
CXString clang_getTypeKindSpelling(
int K,
) {
return (_clang_getTypeKindSpelling ??= _dylib.lookupFunction<
_c_clang_getTypeKindSpelling,
_dart_clang_getTypeKindSpelling>('clang_getTypeKindSpelling'))(
K,
);
}
_dart_clang_getTypeKindSpelling? _clang_getTypeKindSpelling;
/// Retrieve the calling convention associated with a function type.
///
/// If a non-function type is passed in, CXCallingConv_Invalid is returned.
int clang_getFunctionTypeCallingConv(
CXType T,
) {
return (_clang_getFunctionTypeCallingConv ??= _dylib.lookupFunction<
_c_clang_getFunctionTypeCallingConv,
_dart_clang_getFunctionTypeCallingConv>(
'clang_getFunctionTypeCallingConv'))(
T,
);
}
_dart_clang_getFunctionTypeCallingConv? _clang_getFunctionTypeCallingConv;
/// Retrieve the return type associated with a function type.
///
/// If a non-function type is passed in, an invalid type is returned.
CXType clang_getResultType(
CXType T,
) {
return (_clang_getResultType ??= _dylib.lookupFunction<
_c_clang_getResultType,
_dart_clang_getResultType>('clang_getResultType'))(
T,
);
}
_dart_clang_getResultType? _clang_getResultType;
/// Retrieve the exception specification type associated with a function type.
/// This is a value of type CXCursor_ExceptionSpecificationKind.
///
/// If a non-function type is passed in, an error code of -1 is returned.
int clang_getExceptionSpecificationType(
CXType T,
) {
return (_clang_getExceptionSpecificationType ??= _dylib.lookupFunction<
_c_clang_getExceptionSpecificationType,
_dart_clang_getExceptionSpecificationType>(
'clang_getExceptionSpecificationType'))(
T,
);
}
_dart_clang_getExceptionSpecificationType?
_clang_getExceptionSpecificationType;
/// Retrieve the number of non-variadic parameters associated with a
/// function type.
///
/// If a non-function type is passed in, -1 is returned.
int clang_getNumArgTypes(
CXType T,
) {
return (_clang_getNumArgTypes ??= _dylib.lookupFunction<
_c_clang_getNumArgTypes,
_dart_clang_getNumArgTypes>('clang_getNumArgTypes'))(
T,
);
}
_dart_clang_getNumArgTypes? _clang_getNumArgTypes;
/// Retrieve the type of a parameter of a function type.
///
/// If a non-function type is passed in or the function does not have enough
/// parameters, an invalid type is returned.
CXType clang_getArgType(
CXType T,
int i,
) {
return (_clang_getArgType ??=
_dylib.lookupFunction<_c_clang_getArgType, _dart_clang_getArgType>(
'clang_getArgType'))(
T,
i,
);
}
_dart_clang_getArgType? _clang_getArgType;
/// Retrieves the base type of the ObjCObjectType.
///
/// If the type is not an ObjC object, an invalid type is returned.
CXType clang_Type_getObjCObjectBaseType(
CXType T,
) {
return (_clang_Type_getObjCObjectBaseType ??= _dylib.lookupFunction<
_c_clang_Type_getObjCObjectBaseType,
_dart_clang_Type_getObjCObjectBaseType>(
'clang_Type_getObjCObjectBaseType'))(
T,
);
}
_dart_clang_Type_getObjCObjectBaseType? _clang_Type_getObjCObjectBaseType;
/// Retrieve the number of protocol references associated with an ObjC object/id.
///
/// If the type is not an ObjC object, 0 is returned.
int clang_Type_getNumObjCProtocolRefs(
CXType T,
) {
return (_clang_Type_getNumObjCProtocolRefs ??= _dylib.lookupFunction<
_c_clang_Type_getNumObjCProtocolRefs,
_dart_clang_Type_getNumObjCProtocolRefs>(
'clang_Type_getNumObjCProtocolRefs'))(
T,
);
}
_dart_clang_Type_getNumObjCProtocolRefs? _clang_Type_getNumObjCProtocolRefs;
/// Retrieve the decl for a protocol reference for an ObjC object/id.
///
/// If the type is not an ObjC object or there are not enough protocol
/// references, an invalid cursor is returned.
CXCursor clang_Type_getObjCProtocolDecl(
CXType T,
int i,
) {
return (_clang_Type_getObjCProtocolDecl ??= _dylib.lookupFunction<
_c_clang_Type_getObjCProtocolDecl,
_dart_clang_Type_getObjCProtocolDecl>(
'clang_Type_getObjCProtocolDecl'))(
T,
i,
);
}
_dart_clang_Type_getObjCProtocolDecl? _clang_Type_getObjCProtocolDecl;
/// Retreive the number of type arguments associated with an ObjC object.
///
/// If the type is not an ObjC object, 0 is returned.
int clang_Type_getNumObjCTypeArgs(
CXType T,
) {
return (_clang_Type_getNumObjCTypeArgs ??= _dylib.lookupFunction<
_c_clang_Type_getNumObjCTypeArgs,
_dart_clang_Type_getNumObjCTypeArgs>('clang_Type_getNumObjCTypeArgs'))(
T,
);
}
_dart_clang_Type_getNumObjCTypeArgs? _clang_Type_getNumObjCTypeArgs;
/// Retrieve a type argument associated with an ObjC object.
///
/// If the type is not an ObjC or the index is not valid,
/// an invalid type is returned.
CXType clang_Type_getObjCTypeArg(
CXType T,
int i,
) {
return (_clang_Type_getObjCTypeArg ??= _dylib.lookupFunction<
_c_clang_Type_getObjCTypeArg,
_dart_clang_Type_getObjCTypeArg>('clang_Type_getObjCTypeArg'))(
T,
i,
);
}
_dart_clang_Type_getObjCTypeArg? _clang_Type_getObjCTypeArg;
/// Return 1 if the CXType is a variadic function type, and 0 otherwise.
int clang_isFunctionTypeVariadic(
CXType T,
) {
return (_clang_isFunctionTypeVariadic ??= _dylib.lookupFunction<
_c_clang_isFunctionTypeVariadic,
_dart_clang_isFunctionTypeVariadic>('clang_isFunctionTypeVariadic'))(
T,
);
}
_dart_clang_isFunctionTypeVariadic? _clang_isFunctionTypeVariadic;
/// Retrieve the return type associated with a given cursor.
///
/// This only returns a valid type if the cursor refers to a function or method.
CXType clang_getCursorResultType(
CXCursor C,
) {
return (_clang_getCursorResultType ??= _dylib.lookupFunction<
_c_clang_getCursorResultType,
_dart_clang_getCursorResultType>('clang_getCursorResultType'))(
C,
);
}
_dart_clang_getCursorResultType? _clang_getCursorResultType;
/// Retrieve the exception specification type associated with a given cursor.
/// This is a value of type CXCursor_ExceptionSpecificationKind.
///
/// This only returns a valid result if the cursor refers to a function or method.
int clang_getCursorExceptionSpecificationType(
CXCursor C,
) {
return (_clang_getCursorExceptionSpecificationType ??=
_dylib.lookupFunction<_c_clang_getCursorExceptionSpecificationType,
_dart_clang_getCursorExceptionSpecificationType>(
'clang_getCursorExceptionSpecificationType'))(
C,
);
}
_dart_clang_getCursorExceptionSpecificationType?
_clang_getCursorExceptionSpecificationType;
/// Return 1 if the CXType is a POD (plain old data) type, and 0
/// otherwise.
int clang_isPODType(
CXType T,
) {
return (_clang_isPODType ??=
_dylib.lookupFunction<_c_clang_isPODType, _dart_clang_isPODType>(
'clang_isPODType'))(
T,
);
}
_dart_clang_isPODType? _clang_isPODType;
/// Return the element type of an array, complex, or vector type.
///
/// If a type is passed in that is not an array, complex, or vector type,
/// an invalid type is returned.
CXType clang_getElementType(
CXType T,
) {
return (_clang_getElementType ??= _dylib.lookupFunction<
_c_clang_getElementType,
_dart_clang_getElementType>('clang_getElementType'))(
T,
);
}
_dart_clang_getElementType? _clang_getElementType;
/// Return the number of elements of an array or vector type.
///
/// If a type is passed in that is not an array or vector type,
/// -1 is returned.
int clang_getNumElements(
CXType T,
) {
return (_clang_getNumElements ??= _dylib.lookupFunction<
_c_clang_getNumElements,
_dart_clang_getNumElements>('clang_getNumElements'))(
T,
);
}
_dart_clang_getNumElements? _clang_getNumElements;
/// Return the element type of an array type.
///
/// If a non-array type is passed in, an invalid type is returned.
CXType clang_getArrayElementType(
CXType T,
) {
return (_clang_getArrayElementType ??= _dylib.lookupFunction<
_c_clang_getArrayElementType,
_dart_clang_getArrayElementType>('clang_getArrayElementType'))(
T,
);
}
_dart_clang_getArrayElementType? _clang_getArrayElementType;
/// Return the array size of a constant array.
///
/// If a non-array type is passed in, -1 is returned.
int clang_getArraySize(
CXType T,
) {
return (_clang_getArraySize ??=
_dylib.lookupFunction<_c_clang_getArraySize, _dart_clang_getArraySize>(
'clang_getArraySize'))(
T,
);
}
_dart_clang_getArraySize? _clang_getArraySize;
/// Retrieve the type named by the qualified-id.
///
/// If a non-elaborated type is passed in, an invalid type is returned.
CXType clang_Type_getNamedType(
CXType T,
) {
return (_clang_Type_getNamedType ??= _dylib.lookupFunction<
_c_clang_Type_getNamedType,
_dart_clang_Type_getNamedType>('clang_Type_getNamedType'))(
T,
);
}
_dart_clang_Type_getNamedType? _clang_Type_getNamedType;
/// Determine if a typedef is 'transparent' tag.
///
/// A typedef is considered 'transparent' if it shares a name and spelling
/// location with its underlying tag type, as is the case with the NS_ENUM macro.
///
/// \returns non-zero if transparent and zero otherwise.
int clang_Type_isTransparentTagTypedef(
CXType T,
) {
return (_clang_Type_isTransparentTagTypedef ??= _dylib.lookupFunction<
_c_clang_Type_isTransparentTagTypedef,
_dart_clang_Type_isTransparentTagTypedef>(
'clang_Type_isTransparentTagTypedef'))(
T,
);
}
_dart_clang_Type_isTransparentTagTypedef? _clang_Type_isTransparentTagTypedef;
/// Retrieve the nullability kind of a pointer type.
int clang_Type_getNullability(
CXType T,
) {
return (_clang_Type_getNullability ??= _dylib.lookupFunction<
_c_clang_Type_getNullability,
_dart_clang_Type_getNullability>('clang_Type_getNullability'))(
T,
);
}
_dart_clang_Type_getNullability? _clang_Type_getNullability;
/// Return the alignment of a type in bytes as per C++[expr.alignof]
/// standard.
///
/// If the type declaration is invalid, CXTypeLayoutError_Invalid is returned.
/// If the type declaration is an incomplete type, CXTypeLayoutError_Incomplete
/// is returned.
/// If the type declaration is a dependent type, CXTypeLayoutError_Dependent is
/// returned.
/// If the type declaration is not a constant size type,
/// CXTypeLayoutError_NotConstantSize is returned.
int clang_Type_getAlignOf(
CXType T,
) {
return (_clang_Type_getAlignOf ??= _dylib.lookupFunction<
_c_clang_Type_getAlignOf,
_dart_clang_Type_getAlignOf>('clang_Type_getAlignOf'))(
T,
);
}
_dart_clang_Type_getAlignOf? _clang_Type_getAlignOf;
/// Return the class type of an member pointer type.
///
/// If a non-member-pointer type is passed in, an invalid type is returned.
CXType clang_Type_getClassType(
CXType T,
) {
return (_clang_Type_getClassType ??= _dylib.lookupFunction<
_c_clang_Type_getClassType,
_dart_clang_Type_getClassType>('clang_Type_getClassType'))(
T,
);
}
_dart_clang_Type_getClassType? _clang_Type_getClassType;
/// Return the size of a type in bytes as per C++[expr.sizeof] standard.
///
/// If the type declaration is invalid, CXTypeLayoutError_Invalid is returned.
/// If the type declaration is an incomplete type, CXTypeLayoutError_Incomplete
/// is returned.
/// If the type declaration is a dependent type, CXTypeLayoutError_Dependent is
/// returned.
int clang_Type_getSizeOf(
CXType T,
) {
return (_clang_Type_getSizeOf ??= _dylib.lookupFunction<
_c_clang_Type_getSizeOf,
_dart_clang_Type_getSizeOf>('clang_Type_getSizeOf'))(
T,
);
}
_dart_clang_Type_getSizeOf? _clang_Type_getSizeOf;
/// Return the offset of a field named S in a record of type T in bits
/// as it would be returned by __offsetof__ as per C++11[18.2p4]
///
/// If the cursor is not a record field declaration, CXTypeLayoutError_Invalid
/// is returned.
/// If the field's type declaration is an incomplete type,
/// CXTypeLayoutError_Incomplete is returned.
/// If the field's type declaration is a dependent type,
/// CXTypeLayoutError_Dependent is returned.
/// If the field's name S is not found,
/// CXTypeLayoutError_InvalidFieldName is returned.
int clang_Type_getOffsetOf(
CXType T,
ffi.Pointer<ffi.Int8> S,
) {
return (_clang_Type_getOffsetOf ??= _dylib.lookupFunction<
_c_clang_Type_getOffsetOf,
_dart_clang_Type_getOffsetOf>('clang_Type_getOffsetOf'))(
T,
S,
);
}
_dart_clang_Type_getOffsetOf? _clang_Type_getOffsetOf;
/// Return the type that was modified by this attributed type.
///
/// If the type is not an attributed type, an invalid type is returned.
CXType clang_Type_getModifiedType(
CXType T,
) {
return (_clang_Type_getModifiedType ??= _dylib.lookupFunction<
_c_clang_Type_getModifiedType,
_dart_clang_Type_getModifiedType>('clang_Type_getModifiedType'))(
T,
);
}
_dart_clang_Type_getModifiedType? _clang_Type_getModifiedType;
/// Return the offset of the field represented by the Cursor.
///
/// If the cursor is not a field declaration, -1 is returned.
/// If the cursor semantic parent is not a record field declaration,
/// CXTypeLayoutError_Invalid is returned.
/// If the field's type declaration is an incomplete type,
/// CXTypeLayoutError_Incomplete is returned.
/// If the field's type declaration is a dependent type,
/// CXTypeLayoutError_Dependent is returned.
/// If the field's name S is not found,
/// CXTypeLayoutError_InvalidFieldName is returned.
int clang_Cursor_getOffsetOfField(
CXCursor C,
) {
return (_clang_Cursor_getOffsetOfField ??= _dylib.lookupFunction<
_c_clang_Cursor_getOffsetOfField,
_dart_clang_Cursor_getOffsetOfField>('clang_Cursor_getOffsetOfField'))(
C,
);
}
_dart_clang_Cursor_getOffsetOfField? _clang_Cursor_getOffsetOfField;
/// Determine whether the given cursor represents an anonymous
/// tag or namespace
int clang_Cursor_isAnonymous(
CXCursor C,
) {
return (_clang_Cursor_isAnonymous ??= _dylib.lookupFunction<
_c_clang_Cursor_isAnonymous,
_dart_clang_Cursor_isAnonymous>('clang_Cursor_isAnonymous'))(
C,
);
}
_dart_clang_Cursor_isAnonymous? _clang_Cursor_isAnonymous;
/// Determine whether the given cursor represents an anonymous record
/// declaration.
int clang_Cursor_isAnonymousRecordDecl(
CXCursor C,
) {
return (_clang_Cursor_isAnonymousRecordDecl ??= _dylib.lookupFunction<
_c_clang_Cursor_isAnonymousRecordDecl,
_dart_clang_Cursor_isAnonymousRecordDecl>(
'clang_Cursor_isAnonymousRecordDecl'))(
C,
);
}
_dart_clang_Cursor_isAnonymousRecordDecl? _clang_Cursor_isAnonymousRecordDecl;
/// Determine whether the given cursor represents an inline namespace
/// declaration.
int clang_Cursor_isInlineNamespace(
CXCursor C,
) {
return (_clang_Cursor_isInlineNamespace ??= _dylib.lookupFunction<
_c_clang_Cursor_isInlineNamespace,
_dart_clang_Cursor_isInlineNamespace>(
'clang_Cursor_isInlineNamespace'))(
C,
);
}
_dart_clang_Cursor_isInlineNamespace? _clang_Cursor_isInlineNamespace;
/// Returns the number of template arguments for given template
/// specialization, or -1 if type \c T is not a template specialization.
int clang_Type_getNumTemplateArguments(
CXType T,
) {
return (_clang_Type_getNumTemplateArguments ??= _dylib.lookupFunction<
_c_clang_Type_getNumTemplateArguments,
_dart_clang_Type_getNumTemplateArguments>(
'clang_Type_getNumTemplateArguments'))(
T,
);
}
_dart_clang_Type_getNumTemplateArguments? _clang_Type_getNumTemplateArguments;
/// Returns the type template argument of a template class specialization
/// at given index.
///
/// This function only returns template type arguments and does not handle
/// template template arguments or variadic packs.
CXType clang_Type_getTemplateArgumentAsType(
CXType T,
int i,
) {
return (_clang_Type_getTemplateArgumentAsType ??= _dylib.lookupFunction<
_c_clang_Type_getTemplateArgumentAsType,
_dart_clang_Type_getTemplateArgumentAsType>(
'clang_Type_getTemplateArgumentAsType'))(
T,
i,
);
}
_dart_clang_Type_getTemplateArgumentAsType?
_clang_Type_getTemplateArgumentAsType;
/// Retrieve the ref-qualifier kind of a function or method.
///
/// The ref-qualifier is returned for C++ functions or methods. For other types
/// or non-C++ declarations, CXRefQualifier_None is returned.
int clang_Type_getCXXRefQualifier(
CXType T,
) {
return (_clang_Type_getCXXRefQualifier ??= _dylib.lookupFunction<
_c_clang_Type_getCXXRefQualifier,
_dart_clang_Type_getCXXRefQualifier>('clang_Type_getCXXRefQualifier'))(
T,
);
}
_dart_clang_Type_getCXXRefQualifier? _clang_Type_getCXXRefQualifier;
/// Returns non-zero if the cursor specifies a Record member that is a
/// bitfield.
int clang_Cursor_isBitField(
CXCursor C,
) {
return (_clang_Cursor_isBitField ??= _dylib.lookupFunction<
_c_clang_Cursor_isBitField,
_dart_clang_Cursor_isBitField>('clang_Cursor_isBitField'))(
C,
);
}
_dart_clang_Cursor_isBitField? _clang_Cursor_isBitField;
/// Returns 1 if the base class specified by the cursor with kind
/// CX_CXXBaseSpecifier is virtual.
int clang_isVirtualBase(
CXCursor arg0,
) {
return (_clang_isVirtualBase ??= _dylib.lookupFunction<
_c_clang_isVirtualBase,
_dart_clang_isVirtualBase>('clang_isVirtualBase'))(
arg0,
);
}
_dart_clang_isVirtualBase? _clang_isVirtualBase;
/// Returns the access control level for the referenced object.
///
/// If the cursor refers to a C++ declaration, its access control level within its
/// parent scope is returned. Otherwise, if the cursor refers to a base specifier or
/// access specifier, the specifier itself is returned.
int clang_getCXXAccessSpecifier(
CXCursor arg0,
) {
return (_clang_getCXXAccessSpecifier ??= _dylib.lookupFunction<
_c_clang_getCXXAccessSpecifier,
_dart_clang_getCXXAccessSpecifier>('clang_getCXXAccessSpecifier'))(
arg0,
);
}
_dart_clang_getCXXAccessSpecifier? _clang_getCXXAccessSpecifier;
/// Returns the storage class for a function or variable declaration.
///
/// If the passed in Cursor is not a function or variable declaration,
/// CX_SC_Invalid is returned else the storage class.
int clang_Cursor_getStorageClass(
CXCursor arg0,
) {
return (_clang_Cursor_getStorageClass ??= _dylib.lookupFunction<
_c_clang_Cursor_getStorageClass,
_dart_clang_Cursor_getStorageClass>('clang_Cursor_getStorageClass'))(
arg0,
);
}
_dart_clang_Cursor_getStorageClass? _clang_Cursor_getStorageClass;
/// Determine the number of overloaded declarations referenced by a
/// \c CXCursor_OverloadedDeclRef cursor.
///
/// \param cursor The cursor whose overloaded declarations are being queried.
///
/// \returns The number of overloaded declarations referenced by \c cursor. If it
/// is not a \c CXCursor_OverloadedDeclRef cursor, returns 0.
int clang_getNumOverloadedDecls(
CXCursor cursor,
) {
return (_clang_getNumOverloadedDecls ??= _dylib.lookupFunction<
_c_clang_getNumOverloadedDecls,
_dart_clang_getNumOverloadedDecls>('clang_getNumOverloadedDecls'))(
cursor,
);
}
_dart_clang_getNumOverloadedDecls? _clang_getNumOverloadedDecls;
/// Retrieve a cursor for one of the overloaded declarations referenced
/// by a \c CXCursor_OverloadedDeclRef cursor.
///
/// \param cursor The cursor whose overloaded declarations are being queried.
///
/// \param index The zero-based index into the set of overloaded declarations in
/// the cursor.
///
/// \returns A cursor representing the declaration referenced by the given
/// \c cursor at the specified \c index. If the cursor does not have an
/// associated set of overloaded declarations, or if the index is out of bounds,
/// returns \c clang_getNullCursor();
CXCursor clang_getOverloadedDecl(
CXCursor cursor,
int index,
) {
return (_clang_getOverloadedDecl ??= _dylib.lookupFunction<
_c_clang_getOverloadedDecl,
_dart_clang_getOverloadedDecl>('clang_getOverloadedDecl'))(
cursor,
index,
);
}
_dart_clang_getOverloadedDecl? _clang_getOverloadedDecl;
/// For cursors representing an iboutletcollection attribute,
/// this function returns the collection element type.
CXType clang_getIBOutletCollectionType(
CXCursor arg0,
) {
return (_clang_getIBOutletCollectionType ??= _dylib.lookupFunction<
_c_clang_getIBOutletCollectionType,
_dart_clang_getIBOutletCollectionType>(
'clang_getIBOutletCollectionType'))(
arg0,
);
}
_dart_clang_getIBOutletCollectionType? _clang_getIBOutletCollectionType;
/// Visit the children of a particular cursor.
///
/// This function visits all the direct children of the given cursor,
/// invoking the given \p visitor function with the cursors of each
/// visited child. The traversal may be recursive, if the visitor returns
/// \c CXChildVisit_Recurse. The traversal may also be ended prematurely, if
/// the visitor returns \c CXChildVisit_Break.
///
/// \param parent the cursor whose child may be visited. All kinds of
/// cursors can be visited, including invalid cursors (which, by
/// definition, have no children).
///
/// \param visitor the visitor function that will be invoked for each
/// child of \p parent.
///
/// \param client_data pointer data supplied by the client, which will
/// be passed to the visitor each time it is invoked.
///
/// \returns a non-zero value if the traversal was terminated
/// prematurely by the visitor returning \c CXChildVisit_Break.
int clang_visitChildren(
CXCursor parent,
ffi.Pointer<ffi.NativeFunction<CXCursorVisitor>> visitor,
ffi.Pointer<ffi.Void> client_data,
) {
return (_clang_visitChildren ??= _dylib.lookupFunction<
_c_clang_visitChildren,
_dart_clang_visitChildren>('clang_visitChildren'))(
parent,
visitor,
client_data,
);
}
_dart_clang_visitChildren? _clang_visitChildren;
/// Retrieve a Unified Symbol Resolution (USR) for the entity referenced
/// by the given cursor.
///
/// A Unified Symbol Resolution (USR) is a string that identifies a particular
/// entity (function, class, variable, etc.) within a program. USRs can be
/// compared across translation units to determine, e.g., when references in
/// one translation refer to an entity defined in another translation unit.
CXString clang_getCursorUSR(
CXCursor arg0,
) {
return (_clang_getCursorUSR ??=
_dylib.lookupFunction<_c_clang_getCursorUSR, _dart_clang_getCursorUSR>(
'clang_getCursorUSR'))(
arg0,
);
}
_dart_clang_getCursorUSR? _clang_getCursorUSR;
/// Construct a USR for a specified Objective-C class.
CXString clang_constructUSR_ObjCClass(
ffi.Pointer<ffi.Int8> class_name,
) {
return (_clang_constructUSR_ObjCClass ??= _dylib.lookupFunction<
_c_clang_constructUSR_ObjCClass,
_dart_clang_constructUSR_ObjCClass>('clang_constructUSR_ObjCClass'))(
class_name,
);
}
_dart_clang_constructUSR_ObjCClass? _clang_constructUSR_ObjCClass;
/// Construct a USR for a specified Objective-C category.
CXString clang_constructUSR_ObjCCategory(
ffi.Pointer<ffi.Int8> class_name,
ffi.Pointer<ffi.Int8> category_name,
) {
return (_clang_constructUSR_ObjCCategory ??= _dylib.lookupFunction<
_c_clang_constructUSR_ObjCCategory,
_dart_clang_constructUSR_ObjCCategory>(
'clang_constructUSR_ObjCCategory'))(
class_name,
category_name,
);
}
_dart_clang_constructUSR_ObjCCategory? _clang_constructUSR_ObjCCategory;
/// Construct a USR for a specified Objective-C protocol.
CXString clang_constructUSR_ObjCProtocol(
ffi.Pointer<ffi.Int8> protocol_name,
) {
return (_clang_constructUSR_ObjCProtocol ??= _dylib.lookupFunction<
_c_clang_constructUSR_ObjCProtocol,
_dart_clang_constructUSR_ObjCProtocol>(
'clang_constructUSR_ObjCProtocol'))(
protocol_name,
);
}
_dart_clang_constructUSR_ObjCProtocol? _clang_constructUSR_ObjCProtocol;
/// Construct a USR for a specified Objective-C instance variable and
/// the USR for its containing class.
CXString clang_constructUSR_ObjCIvar(
ffi.Pointer<ffi.Int8> name,
CXString classUSR,
) {
return (_clang_constructUSR_ObjCIvar ??= _dylib.lookupFunction<
_c_clang_constructUSR_ObjCIvar,
_dart_clang_constructUSR_ObjCIvar>('clang_constructUSR_ObjCIvar'))(
name,
classUSR,
);
}
_dart_clang_constructUSR_ObjCIvar? _clang_constructUSR_ObjCIvar;
/// Construct a USR for a specified Objective-C method and
/// the USR for its containing class.
CXString clang_constructUSR_ObjCMethod(
ffi.Pointer<ffi.Int8> name,
int isInstanceMethod,
CXString classUSR,
) {
return (_clang_constructUSR_ObjCMethod ??= _dylib.lookupFunction<
_c_clang_constructUSR_ObjCMethod,
_dart_clang_constructUSR_ObjCMethod>('clang_constructUSR_ObjCMethod'))(
name,
isInstanceMethod,
classUSR,
);
}
_dart_clang_constructUSR_ObjCMethod? _clang_constructUSR_ObjCMethod;
/// Construct a USR for a specified Objective-C property and the USR
/// for its containing class.
CXString clang_constructUSR_ObjCProperty(
ffi.Pointer<ffi.Int8> property,
CXString classUSR,
) {
return (_clang_constructUSR_ObjCProperty ??= _dylib.lookupFunction<
_c_clang_constructUSR_ObjCProperty,
_dart_clang_constructUSR_ObjCProperty>(
'clang_constructUSR_ObjCProperty'))(
property,
classUSR,
);
}
_dart_clang_constructUSR_ObjCProperty? _clang_constructUSR_ObjCProperty;
/// Retrieve a name for the entity referenced by this cursor.
CXString clang_getCursorSpelling(
CXCursor arg0,
) {
return (_clang_getCursorSpelling ??= _dylib.lookupFunction<
_c_clang_getCursorSpelling,
_dart_clang_getCursorSpelling>('clang_getCursorSpelling'))(
arg0,
);
}
_dart_clang_getCursorSpelling? _clang_getCursorSpelling;
/// Retrieve a range for a piece that forms the cursors spelling name.
/// Most of the times there is only one range for the complete spelling but for
/// Objective-C methods and Objective-C message expressions, there are multiple
/// pieces for each selector identifier.
///
/// \param pieceIndex the index of the spelling name piece. If this is greater
/// than the actual number of pieces, it will return a NULL (invalid) range.
///
/// \param options Reserved.
CXSourceRange clang_Cursor_getSpellingNameRange(
CXCursor arg0,
int pieceIndex,
int options,
) {
return (_clang_Cursor_getSpellingNameRange ??= _dylib.lookupFunction<
_c_clang_Cursor_getSpellingNameRange,
_dart_clang_Cursor_getSpellingNameRange>(
'clang_Cursor_getSpellingNameRange'))(
arg0,
pieceIndex,
options,
);
}
_dart_clang_Cursor_getSpellingNameRange? _clang_Cursor_getSpellingNameRange;
/// Get a property value for the given printing policy.
int clang_PrintingPolicy_getProperty(
ffi.Pointer<ffi.Void> Policy,
int Property,
) {
return (_clang_PrintingPolicy_getProperty ??= _dylib.lookupFunction<
_c_clang_PrintingPolicy_getProperty,
_dart_clang_PrintingPolicy_getProperty>(
'clang_PrintingPolicy_getProperty'))(
Policy,
Property,
);
}
_dart_clang_PrintingPolicy_getProperty? _clang_PrintingPolicy_getProperty;
/// Set a property value for the given printing policy.
void clang_PrintingPolicy_setProperty(
ffi.Pointer<ffi.Void> Policy,
int Property,
int Value,
) {
return (_clang_PrintingPolicy_setProperty ??= _dylib.lookupFunction<
_c_clang_PrintingPolicy_setProperty,
_dart_clang_PrintingPolicy_setProperty>(
'clang_PrintingPolicy_setProperty'))(
Policy,
Property,
Value,
);
}
_dart_clang_PrintingPolicy_setProperty? _clang_PrintingPolicy_setProperty;
/// Retrieve the default policy for the cursor.
///
/// The policy should be released after use with \c
/// clang_PrintingPolicy_dispose.
ffi.Pointer<ffi.Void> clang_getCursorPrintingPolicy(
CXCursor arg0,
) {
return (_clang_getCursorPrintingPolicy ??= _dylib.lookupFunction<
_c_clang_getCursorPrintingPolicy,
_dart_clang_getCursorPrintingPolicy>('clang_getCursorPrintingPolicy'))(
arg0,
);
}
_dart_clang_getCursorPrintingPolicy? _clang_getCursorPrintingPolicy;
/// Release a printing policy.
void clang_PrintingPolicy_dispose(
ffi.Pointer<ffi.Void> Policy,
) {
return (_clang_PrintingPolicy_dispose ??= _dylib.lookupFunction<
_c_clang_PrintingPolicy_dispose,
_dart_clang_PrintingPolicy_dispose>('clang_PrintingPolicy_dispose'))(
Policy,
);
}
_dart_clang_PrintingPolicy_dispose? _clang_PrintingPolicy_dispose;
/// Pretty print declarations.
///
/// \param Cursor The cursor representing a declaration.
///
/// \param Policy The policy to control the entities being printed. If
/// NULL, a default policy is used.
///
/// \returns The pretty printed declaration or the empty string for
/// other cursors.
CXString clang_getCursorPrettyPrinted(
CXCursor Cursor,
ffi.Pointer<ffi.Void> Policy,
) {
return (_clang_getCursorPrettyPrinted ??= _dylib.lookupFunction<
_c_clang_getCursorPrettyPrinted,
_dart_clang_getCursorPrettyPrinted>('clang_getCursorPrettyPrinted'))(
Cursor,
Policy,
);
}
_dart_clang_getCursorPrettyPrinted? _clang_getCursorPrettyPrinted;
/// Retrieve the display name for the entity referenced by this cursor.
///
/// The display name contains extra information that helps identify the cursor,
/// such as the parameters of a function or template or the arguments of a
/// class template specialization.
CXString clang_getCursorDisplayName(
CXCursor arg0,
) {
return (_clang_getCursorDisplayName ??= _dylib.lookupFunction<
_c_clang_getCursorDisplayName,
_dart_clang_getCursorDisplayName>('clang_getCursorDisplayName'))(
arg0,
);
}
_dart_clang_getCursorDisplayName? _clang_getCursorDisplayName;
/// For a cursor that is a reference, retrieve a cursor representing the
/// entity that it references.
///
/// Reference cursors refer to other entities in the AST. For example, an
/// Objective-C superclass reference cursor refers to an Objective-C class.
/// This function produces the cursor for the Objective-C class from the
/// cursor for the superclass reference. If the input cursor is a declaration or
/// definition, it returns that declaration or definition unchanged.
/// Otherwise, returns the NULL cursor.
CXCursor clang_getCursorReferenced(
CXCursor arg0,
) {
return (_clang_getCursorReferenced ??= _dylib.lookupFunction<
_c_clang_getCursorReferenced,
_dart_clang_getCursorReferenced>('clang_getCursorReferenced'))(
arg0,
);
}
_dart_clang_getCursorReferenced? _clang_getCursorReferenced;
/// For a cursor that is either a reference to or a declaration
/// of some entity, retrieve a cursor that describes the definition of
/// that entity.
///
/// Some entities can be declared multiple times within a translation
/// unit, but only one of those declarations can also be a
/// definition. For example, given:
///
/// \code
/// int f(int, int);
/// int g(int x, int y) { return f(x, y); }
/// int f(int a, int b) { return a + b; }
/// int f(int, int);
/// \endcode
///
/// there are three declarations of the function "f", but only the
/// second one is a definition. The clang_getCursorDefinition()
/// function will take any cursor pointing to a declaration of "f"
/// (the first or fourth lines of the example) or a cursor referenced
/// that uses "f" (the call to "f' inside "g") and will return a
/// declaration cursor pointing to the definition (the second "f"
/// declaration).
///
/// If given a cursor for which there is no corresponding definition,
/// e.g., because there is no definition of that entity within this
/// translation unit, returns a NULL cursor.
CXCursor clang_getCursorDefinition(
CXCursor arg0,
) {
return (_clang_getCursorDefinition ??= _dylib.lookupFunction<
_c_clang_getCursorDefinition,
_dart_clang_getCursorDefinition>('clang_getCursorDefinition'))(
arg0,
);
}
_dart_clang_getCursorDefinition? _clang_getCursorDefinition;
/// Determine whether the declaration pointed to by this cursor
/// is also a definition of that entity.
int clang_isCursorDefinition(
CXCursor arg0,
) {
return (_clang_isCursorDefinition ??= _dylib.lookupFunction<
_c_clang_isCursorDefinition,
_dart_clang_isCursorDefinition>('clang_isCursorDefinition'))(
arg0,
);
}
_dart_clang_isCursorDefinition? _clang_isCursorDefinition;
/// Retrieve the canonical cursor corresponding to the given cursor.
///
/// In the C family of languages, many kinds of entities can be declared several
/// times within a single translation unit. For example, a structure type can
/// be forward-declared (possibly multiple times) and later defined:
///
/// \code
/// struct X;
/// struct X;
/// struct X {
/// int member;
/// };
/// \endcode
///
/// The declarations and the definition of \c X are represented by three
/// different cursors, all of which are declarations of the same underlying
/// entity. One of these cursor is considered the "canonical" cursor, which
/// is effectively the representative for the underlying entity. One can
/// determine if two cursors are declarations of the same underlying entity by
/// comparing their canonical cursors.
///
/// \returns The canonical cursor for the entity referred to by the given cursor.
CXCursor clang_getCanonicalCursor(
CXCursor arg0,
) {
return (_clang_getCanonicalCursor ??= _dylib.lookupFunction<
_c_clang_getCanonicalCursor,
_dart_clang_getCanonicalCursor>('clang_getCanonicalCursor'))(
arg0,
);
}
_dart_clang_getCanonicalCursor? _clang_getCanonicalCursor;
/// If the cursor points to a selector identifier in an Objective-C
/// method or message expression, this returns the selector index.
///
/// After getting a cursor with #clang_getCursor, this can be called to
/// determine if the location points to a selector identifier.
///
/// \returns The selector index if the cursor is an Objective-C method or message
/// expression and the cursor is pointing to a selector identifier, or -1
/// otherwise.
int clang_Cursor_getObjCSelectorIndex(
CXCursor arg0,
) {
return (_clang_Cursor_getObjCSelectorIndex ??= _dylib.lookupFunction<
_c_clang_Cursor_getObjCSelectorIndex,
_dart_clang_Cursor_getObjCSelectorIndex>(
'clang_Cursor_getObjCSelectorIndex'))(
arg0,
);
}
_dart_clang_Cursor_getObjCSelectorIndex? _clang_Cursor_getObjCSelectorIndex;
/// Given a cursor pointing to a C++ method call or an Objective-C
/// message, returns non-zero if the method/message is "dynamic", meaning:
///
/// For a C++ method: the call is virtual.
/// For an Objective-C message: the receiver is an object instance, not 'super'
/// or a specific class.
///
/// If the method/message is "static" or the cursor does not point to a
/// method/message, it will return zero.
int clang_Cursor_isDynamicCall(
CXCursor C,
) {
return (_clang_Cursor_isDynamicCall ??= _dylib.lookupFunction<
_c_clang_Cursor_isDynamicCall,
_dart_clang_Cursor_isDynamicCall>('clang_Cursor_isDynamicCall'))(
C,
);
}
_dart_clang_Cursor_isDynamicCall? _clang_Cursor_isDynamicCall;
/// Given a cursor pointing to an Objective-C message or property
/// reference, or C++ method call, returns the CXType of the receiver.
CXType clang_Cursor_getReceiverType(
CXCursor C,
) {
return (_clang_Cursor_getReceiverType ??= _dylib.lookupFunction<
_c_clang_Cursor_getReceiverType,
_dart_clang_Cursor_getReceiverType>('clang_Cursor_getReceiverType'))(
C,
);
}
_dart_clang_Cursor_getReceiverType? _clang_Cursor_getReceiverType;
/// Given a cursor that represents a property declaration, return the
/// associated property attributes. The bits are formed from
/// \c CXObjCPropertyAttrKind.
///
/// \param reserved Reserved for future use, pass 0.
int clang_Cursor_getObjCPropertyAttributes(
CXCursor C,
int reserved,
) {
return (_clang_Cursor_getObjCPropertyAttributes ??= _dylib.lookupFunction<
_c_clang_Cursor_getObjCPropertyAttributes,
_dart_clang_Cursor_getObjCPropertyAttributes>(
'clang_Cursor_getObjCPropertyAttributes'))(
C,
reserved,
);
}
_dart_clang_Cursor_getObjCPropertyAttributes?
_clang_Cursor_getObjCPropertyAttributes;
/// Given a cursor that represents a property declaration, return the
/// name of the method that implements the getter.
CXString clang_Cursor_getObjCPropertyGetterName(
CXCursor C,
) {
return (_clang_Cursor_getObjCPropertyGetterName ??= _dylib.lookupFunction<
_c_clang_Cursor_getObjCPropertyGetterName,
_dart_clang_Cursor_getObjCPropertyGetterName>(
'clang_Cursor_getObjCPropertyGetterName'))(
C,
);
}
_dart_clang_Cursor_getObjCPropertyGetterName?
_clang_Cursor_getObjCPropertyGetterName;
/// Given a cursor that represents a property declaration, return the
/// name of the method that implements the setter, if any.
CXString clang_Cursor_getObjCPropertySetterName(
CXCursor C,
) {
return (_clang_Cursor_getObjCPropertySetterName ??= _dylib.lookupFunction<
_c_clang_Cursor_getObjCPropertySetterName,
_dart_clang_Cursor_getObjCPropertySetterName>(
'clang_Cursor_getObjCPropertySetterName'))(
C,
);
}
_dart_clang_Cursor_getObjCPropertySetterName?
_clang_Cursor_getObjCPropertySetterName;
/// Given a cursor that represents an Objective-C method or parameter
/// declaration, return the associated Objective-C qualifiers for the return
/// type or the parameter respectively. The bits are formed from
/// CXObjCDeclQualifierKind.
int clang_Cursor_getObjCDeclQualifiers(
CXCursor C,
) {
return (_clang_Cursor_getObjCDeclQualifiers ??= _dylib.lookupFunction<
_c_clang_Cursor_getObjCDeclQualifiers,
_dart_clang_Cursor_getObjCDeclQualifiers>(
'clang_Cursor_getObjCDeclQualifiers'))(
C,
);
}
_dart_clang_Cursor_getObjCDeclQualifiers? _clang_Cursor_getObjCDeclQualifiers;
/// Given a cursor that represents an Objective-C method or property
/// declaration, return non-zero if the declaration was affected by "\@optional".
/// Returns zero if the cursor is not such a declaration or it is "\@required".
int clang_Cursor_isObjCOptional(
CXCursor C,
) {
return (_clang_Cursor_isObjCOptional ??= _dylib.lookupFunction<
_c_clang_Cursor_isObjCOptional,
_dart_clang_Cursor_isObjCOptional>('clang_Cursor_isObjCOptional'))(
C,
);
}
_dart_clang_Cursor_isObjCOptional? _clang_Cursor_isObjCOptional;
/// Returns non-zero if the given cursor is a variadic function or method.
int clang_Cursor_isVariadic(
CXCursor C,
) {
return (_clang_Cursor_isVariadic ??= _dylib.lookupFunction<
_c_clang_Cursor_isVariadic,
_dart_clang_Cursor_isVariadic>('clang_Cursor_isVariadic'))(
C,
);
}
_dart_clang_Cursor_isVariadic? _clang_Cursor_isVariadic;
/// Returns non-zero if the given cursor points to a symbol marked with
/// external_source_symbol attribute.
///
/// \param language If non-NULL, and the attribute is present, will be set to
/// the 'language' string from the attribute.
///
/// \param definedIn If non-NULL, and the attribute is present, will be set to
/// the 'definedIn' string from the attribute.
///
/// \param isGenerated If non-NULL, and the attribute is present, will be set to
/// non-zero if the 'generated_declaration' is set in the attribute.
int clang_Cursor_isExternalSymbol(
CXCursor C,
ffi.Pointer<CXString> language,
ffi.Pointer<CXString> definedIn,
ffi.Pointer<ffi.Uint32> isGenerated,
) {
return (_clang_Cursor_isExternalSymbol ??= _dylib.lookupFunction<
_c_clang_Cursor_isExternalSymbol,
_dart_clang_Cursor_isExternalSymbol>('clang_Cursor_isExternalSymbol'))(
C,
language,
definedIn,
isGenerated,
);
}
_dart_clang_Cursor_isExternalSymbol? _clang_Cursor_isExternalSymbol;
/// Given a cursor that represents a declaration, return the associated
/// comment's source range. The range may include multiple consecutive comments
/// with whitespace in between.
CXSourceRange clang_Cursor_getCommentRange(
CXCursor C,
) {
return (_clang_Cursor_getCommentRange ??= _dylib.lookupFunction<
_c_clang_Cursor_getCommentRange,
_dart_clang_Cursor_getCommentRange>('clang_Cursor_getCommentRange'))(
C,
);
}
_dart_clang_Cursor_getCommentRange? _clang_Cursor_getCommentRange;
/// Given a cursor that represents a declaration, return the associated
/// comment text, including comment markers.
CXString clang_Cursor_getRawCommentText(
CXCursor C,
) {
return (_clang_Cursor_getRawCommentText ??= _dylib.lookupFunction<
_c_clang_Cursor_getRawCommentText,
_dart_clang_Cursor_getRawCommentText>(
'clang_Cursor_getRawCommentText'))(
C,
);
}
_dart_clang_Cursor_getRawCommentText? _clang_Cursor_getRawCommentText;
/// Given a cursor that represents a documentable entity (e.g.,
/// declaration), return the associated \paragraph; otherwise return the
/// first paragraph.
CXString clang_Cursor_getBriefCommentText(
CXCursor C,
) {
return (_clang_Cursor_getBriefCommentText ??= _dylib.lookupFunction<
_c_clang_Cursor_getBriefCommentText,
_dart_clang_Cursor_getBriefCommentText>(
'clang_Cursor_getBriefCommentText'))(
C,
);
}
_dart_clang_Cursor_getBriefCommentText? _clang_Cursor_getBriefCommentText;
/// Retrieve the CXString representing the mangled name of the cursor.
CXString clang_Cursor_getMangling(
CXCursor arg0,
) {
return (_clang_Cursor_getMangling ??= _dylib.lookupFunction<
_c_clang_Cursor_getMangling,
_dart_clang_Cursor_getMangling>('clang_Cursor_getMangling'))(
arg0,
);
}
_dart_clang_Cursor_getMangling? _clang_Cursor_getMangling;
/// Retrieve the CXStrings representing the mangled symbols of the C++
/// constructor or destructor at the cursor.
ffi.Pointer<CXStringSet> clang_Cursor_getCXXManglings(
CXCursor arg0,
) {
return (_clang_Cursor_getCXXManglings ??= _dylib.lookupFunction<
_c_clang_Cursor_getCXXManglings,
_dart_clang_Cursor_getCXXManglings>('clang_Cursor_getCXXManglings'))(
arg0,
);
}
_dart_clang_Cursor_getCXXManglings? _clang_Cursor_getCXXManglings;
/// Retrieve the CXStrings representing the mangled symbols of the ObjC
/// class interface or implementation at the cursor.
ffi.Pointer<CXStringSet> clang_Cursor_getObjCManglings(
CXCursor arg0,
) {
return (_clang_Cursor_getObjCManglings ??= _dylib.lookupFunction<
_c_clang_Cursor_getObjCManglings,
_dart_clang_Cursor_getObjCManglings>('clang_Cursor_getObjCManglings'))(
arg0,
);
}
_dart_clang_Cursor_getObjCManglings? _clang_Cursor_getObjCManglings;
/// Given a CXCursor_ModuleImportDecl cursor, return the associated module.
ffi.Pointer<ffi.Void> clang_Cursor_getModule(
CXCursor C,
) {
return (_clang_Cursor_getModule ??= _dylib.lookupFunction<
_c_clang_Cursor_getModule,
_dart_clang_Cursor_getModule>('clang_Cursor_getModule'))(
C,
);
}
_dart_clang_Cursor_getModule? _clang_Cursor_getModule;
/// Given a CXFile header file, return the module that contains it, if one
/// exists.
ffi.Pointer<ffi.Void> clang_getModuleForFile(
ffi.Pointer<CXTranslationUnitImpl> arg0,
ffi.Pointer<ffi.Void> arg1,
) {
return (_clang_getModuleForFile ??= _dylib.lookupFunction<
_c_clang_getModuleForFile,
_dart_clang_getModuleForFile>('clang_getModuleForFile'))(
arg0,
arg1,
);
}
_dart_clang_getModuleForFile? _clang_getModuleForFile;
/// \param Module a module object.
///
/// \returns the module file where the provided module object came from.
ffi.Pointer<ffi.Void> clang_Module_getASTFile(
ffi.Pointer<ffi.Void> Module,
) {
return (_clang_Module_getASTFile ??= _dylib.lookupFunction<
_c_clang_Module_getASTFile,
_dart_clang_Module_getASTFile>('clang_Module_getASTFile'))(
Module,
);
}
_dart_clang_Module_getASTFile? _clang_Module_getASTFile;
/// \param Module a module object.
///
/// \returns the parent of a sub-module or NULL if the given module is top-level,
/// e.g. for 'std.vector' it will return the 'std' module.
ffi.Pointer<ffi.Void> clang_Module_getParent(
ffi.Pointer<ffi.Void> Module,
) {
return (_clang_Module_getParent ??= _dylib.lookupFunction<
_c_clang_Module_getParent,
_dart_clang_Module_getParent>('clang_Module_getParent'))(
Module,
);
}
_dart_clang_Module_getParent? _clang_Module_getParent;
/// \param Module a module object.
///
/// \returns the name of the module, e.g. for the 'std.vector' sub-module it
/// will return "vector".
CXString clang_Module_getName(
ffi.Pointer<ffi.Void> Module,
) {
return (_clang_Module_getName ??= _dylib.lookupFunction<
_c_clang_Module_getName,
_dart_clang_Module_getName>('clang_Module_getName'))(
Module,
);
}
_dart_clang_Module_getName? _clang_Module_getName;
/// \param Module a module object.
///
/// \returns the full name of the module, e.g. "std.vector".
CXString clang_Module_getFullName(
ffi.Pointer<ffi.Void> Module,
) {
return (_clang_Module_getFullName ??= _dylib.lookupFunction<
_c_clang_Module_getFullName,
_dart_clang_Module_getFullName>('clang_Module_getFullName'))(
Module,
);
}
_dart_clang_Module_getFullName? _clang_Module_getFullName;
/// \param Module a module object.
///
/// \returns non-zero if the module is a system one.
int clang_Module_isSystem(
ffi.Pointer<ffi.Void> Module,
) {
return (_clang_Module_isSystem ??= _dylib.lookupFunction<
_c_clang_Module_isSystem,
_dart_clang_Module_isSystem>('clang_Module_isSystem'))(
Module,
);
}
_dart_clang_Module_isSystem? _clang_Module_isSystem;
/// \param Module a module object.
///
/// \returns the number of top level headers associated with this module.
int clang_Module_getNumTopLevelHeaders(
ffi.Pointer<CXTranslationUnitImpl> arg0,
ffi.Pointer<ffi.Void> Module,
) {
return (_clang_Module_getNumTopLevelHeaders ??= _dylib.lookupFunction<
_c_clang_Module_getNumTopLevelHeaders,
_dart_clang_Module_getNumTopLevelHeaders>(
'clang_Module_getNumTopLevelHeaders'))(
arg0,
Module,
);
}
_dart_clang_Module_getNumTopLevelHeaders? _clang_Module_getNumTopLevelHeaders;
/// \param Module a module object.
///
/// \param Index top level header index (zero-based).
///
/// \returns the specified top level header associated with the module.
ffi.Pointer<ffi.Void> clang_Module_getTopLevelHeader(
ffi.Pointer<CXTranslationUnitImpl> arg0,
ffi.Pointer<ffi.Void> Module,
int Index,
) {
return (_clang_Module_getTopLevelHeader ??= _dylib.lookupFunction<
_c_clang_Module_getTopLevelHeader,
_dart_clang_Module_getTopLevelHeader>(
'clang_Module_getTopLevelHeader'))(
arg0,
Module,
Index,
);
}
_dart_clang_Module_getTopLevelHeader? _clang_Module_getTopLevelHeader;
/// Determine if a C++ constructor is a converting constructor.
int clang_CXXConstructor_isConvertingConstructor(
CXCursor C,
) {
return (_clang_CXXConstructor_isConvertingConstructor ??=
_dylib.lookupFunction<_c_clang_CXXConstructor_isConvertingConstructor,
_dart_clang_CXXConstructor_isConvertingConstructor>(
'clang_CXXConstructor_isConvertingConstructor'))(
C,
);
}
_dart_clang_CXXConstructor_isConvertingConstructor?
_clang_CXXConstructor_isConvertingConstructor;
/// Determine if a C++ constructor is a copy constructor.
int clang_CXXConstructor_isCopyConstructor(
CXCursor C,
) {
return (_clang_CXXConstructor_isCopyConstructor ??= _dylib.lookupFunction<
_c_clang_CXXConstructor_isCopyConstructor,
_dart_clang_CXXConstructor_isCopyConstructor>(
'clang_CXXConstructor_isCopyConstructor'))(
C,
);
}
_dart_clang_CXXConstructor_isCopyConstructor?
_clang_CXXConstructor_isCopyConstructor;
/// Determine if a C++ constructor is the default constructor.
int clang_CXXConstructor_isDefaultConstructor(
CXCursor C,
) {
return (_clang_CXXConstructor_isDefaultConstructor ??=
_dylib.lookupFunction<_c_clang_CXXConstructor_isDefaultConstructor,
_dart_clang_CXXConstructor_isDefaultConstructor>(
'clang_CXXConstructor_isDefaultConstructor'))(
C,
);
}
_dart_clang_CXXConstructor_isDefaultConstructor?
_clang_CXXConstructor_isDefaultConstructor;
/// Determine if a C++ constructor is a move constructor.
int clang_CXXConstructor_isMoveConstructor(
CXCursor C,
) {
return (_clang_CXXConstructor_isMoveConstructor ??= _dylib.lookupFunction<
_c_clang_CXXConstructor_isMoveConstructor,
_dart_clang_CXXConstructor_isMoveConstructor>(
'clang_CXXConstructor_isMoveConstructor'))(
C,
);
}
_dart_clang_CXXConstructor_isMoveConstructor?
_clang_CXXConstructor_isMoveConstructor;
/// Determine if a C++ field is declared 'mutable'.
int clang_CXXField_isMutable(
CXCursor C,
) {
return (_clang_CXXField_isMutable ??= _dylib.lookupFunction<
_c_clang_CXXField_isMutable,
_dart_clang_CXXField_isMutable>('clang_CXXField_isMutable'))(
C,
);
}
_dart_clang_CXXField_isMutable? _clang_CXXField_isMutable;
/// Determine if a C++ method is declared '= default'.
int clang_CXXMethod_isDefaulted(
CXCursor C,
) {
return (_clang_CXXMethod_isDefaulted ??= _dylib.lookupFunction<
_c_clang_CXXMethod_isDefaulted,
_dart_clang_CXXMethod_isDefaulted>('clang_CXXMethod_isDefaulted'))(
C,
);
}
_dart_clang_CXXMethod_isDefaulted? _clang_CXXMethod_isDefaulted;
/// Determine if a C++ member function or member function template is
/// pure virtual.
int clang_CXXMethod_isPureVirtual(
CXCursor C,
) {
return (_clang_CXXMethod_isPureVirtual ??= _dylib.lookupFunction<
_c_clang_CXXMethod_isPureVirtual,
_dart_clang_CXXMethod_isPureVirtual>('clang_CXXMethod_isPureVirtual'))(
C,
);
}
_dart_clang_CXXMethod_isPureVirtual? _clang_CXXMethod_isPureVirtual;
/// Determine if a C++ member function or member function template is
/// declared 'static'.
int clang_CXXMethod_isStatic(
CXCursor C,
) {
return (_clang_CXXMethod_isStatic ??= _dylib.lookupFunction<
_c_clang_CXXMethod_isStatic,
_dart_clang_CXXMethod_isStatic>('clang_CXXMethod_isStatic'))(
C,
);
}
_dart_clang_CXXMethod_isStatic? _clang_CXXMethod_isStatic;
/// Determine if a C++ member function or member function template is
/// explicitly declared 'virtual' or if it overrides a virtual method from
/// one of the base classes.
int clang_CXXMethod_isVirtual(
CXCursor C,
) {
return (_clang_CXXMethod_isVirtual ??= _dylib.lookupFunction<
_c_clang_CXXMethod_isVirtual,
_dart_clang_CXXMethod_isVirtual>('clang_CXXMethod_isVirtual'))(
C,
);
}
_dart_clang_CXXMethod_isVirtual? _clang_CXXMethod_isVirtual;
/// Determine if a C++ record is abstract, i.e. whether a class or struct
/// has a pure virtual member function.
int clang_CXXRecord_isAbstract(
CXCursor C,
) {
return (_clang_CXXRecord_isAbstract ??= _dylib.lookupFunction<
_c_clang_CXXRecord_isAbstract,
_dart_clang_CXXRecord_isAbstract>('clang_CXXRecord_isAbstract'))(
C,
);
}
_dart_clang_CXXRecord_isAbstract? _clang_CXXRecord_isAbstract;
/// Determine if an enum declaration refers to a scoped enum.
int clang_EnumDecl_isScoped(
CXCursor C,
) {
return (_clang_EnumDecl_isScoped ??= _dylib.lookupFunction<
_c_clang_EnumDecl_isScoped,
_dart_clang_EnumDecl_isScoped>('clang_EnumDecl_isScoped'))(
C,
);
}
_dart_clang_EnumDecl_isScoped? _clang_EnumDecl_isScoped;
/// Determine if a C++ member function or member function template is
/// declared 'const'.
int clang_CXXMethod_isConst(
CXCursor C,
) {
return (_clang_CXXMethod_isConst ??= _dylib.lookupFunction<
_c_clang_CXXMethod_isConst,
_dart_clang_CXXMethod_isConst>('clang_CXXMethod_isConst'))(
C,
);
}
_dart_clang_CXXMethod_isConst? _clang_CXXMethod_isConst;
/// Given a cursor that represents a template, determine
/// the cursor kind of the specializations would be generated by instantiating
/// the template.
///
/// This routine can be used to determine what flavor of function template,
/// class template, or class template partial specialization is stored in the
/// cursor. For example, it can describe whether a class template cursor is
/// declared with "struct", "class" or "union".
///
/// \param C The cursor to query. This cursor should represent a template
/// declaration.
///
/// \returns The cursor kind of the specializations that would be generated
/// by instantiating the template \p C. If \p C is not a template, returns
/// \c CXCursor_NoDeclFound.
int clang_getTemplateCursorKind(
CXCursor C,
) {
return (_clang_getTemplateCursorKind ??= _dylib.lookupFunction<
_c_clang_getTemplateCursorKind,
_dart_clang_getTemplateCursorKind>('clang_getTemplateCursorKind'))(
C,
);
}
_dart_clang_getTemplateCursorKind? _clang_getTemplateCursorKind;
/// Given a cursor that may represent a specialization or instantiation
/// of a template, retrieve the cursor that represents the template that it
/// specializes or from which it was instantiated.
///
/// This routine determines the template involved both for explicit
/// specializations of templates and for implicit instantiations of the template,
/// both of which are referred to as "specializations". For a class template
/// specialization (e.g., \c std::vector<bool>), this routine will return
/// either the primary template (\c std::vector) or, if the specialization was
/// instantiated from a class template partial specialization, the class template
/// partial specialization. For a class template partial specialization and a
/// function template specialization (including instantiations), this
/// this routine will return the specialized template.
///
/// For members of a class template (e.g., member functions, member classes, or
/// static data members), returns the specialized or instantiated member.
/// Although not strictly "templates" in the C++ language, members of class
/// templates have the same notions of specializations and instantiations that
/// templates do, so this routine treats them similarly.
///
/// \param C A cursor that may be a specialization of a template or a member
/// of a template.
///
/// \returns If the given cursor is a specialization or instantiation of a
/// template or a member thereof, the template or member that it specializes or
/// from which it was instantiated. Otherwise, returns a NULL cursor.
CXCursor clang_getSpecializedCursorTemplate(
CXCursor C,
) {
return (_clang_getSpecializedCursorTemplate ??= _dylib.lookupFunction<
_c_clang_getSpecializedCursorTemplate,
_dart_clang_getSpecializedCursorTemplate>(
'clang_getSpecializedCursorTemplate'))(
C,
);
}
_dart_clang_getSpecializedCursorTemplate? _clang_getSpecializedCursorTemplate;
/// Given a cursor that references something else, return the source range
/// covering that reference.
///
/// \param C A cursor pointing to a member reference, a declaration reference, or
/// an operator call.
/// \param NameFlags A bitset with three independent flags:
/// CXNameRange_WantQualifier, CXNameRange_WantTemplateArgs, and
/// CXNameRange_WantSinglePiece.
/// \param PieceIndex For contiguous names or when passing the flag
/// CXNameRange_WantSinglePiece, only one piece with index 0 is
/// available. When the CXNameRange_WantSinglePiece flag is not passed for a
/// non-contiguous names, this index can be used to retrieve the individual
/// pieces of the name. See also CXNameRange_WantSinglePiece.
///
/// \returns The piece of the name pointed to by the given cursor. If there is no
/// name, or if the PieceIndex is out-of-range, a null-cursor will be returned.
CXSourceRange clang_getCursorReferenceNameRange(
CXCursor C,
int NameFlags,
int PieceIndex,
) {
return (_clang_getCursorReferenceNameRange ??= _dylib.lookupFunction<
_c_clang_getCursorReferenceNameRange,
_dart_clang_getCursorReferenceNameRange>(
'clang_getCursorReferenceNameRange'))(
C,
NameFlags,
PieceIndex,
);
}
_dart_clang_getCursorReferenceNameRange? _clang_getCursorReferenceNameRange;
/// Get the raw lexical token starting with the given location.
///
/// \param TU the translation unit whose text is being tokenized.
///
/// \param Location the source location with which the token starts.
///
/// \returns The token starting with the given location or NULL if no such token
/// exist. The returned pointer must be freed with clang_disposeTokens before the
/// translation unit is destroyed.
ffi.Pointer<CXToken> clang_getToken(
ffi.Pointer<CXTranslationUnitImpl> TU,
CXSourceLocation Location,
) {
return (_clang_getToken ??=
_dylib.lookupFunction<_c_clang_getToken, _dart_clang_getToken>(
'clang_getToken'))(
TU,
Location,
);
}
_dart_clang_getToken? _clang_getToken;
/// Determine the kind of the given token.
int clang_getTokenKind(
CXToken arg0,
) {
return (_clang_getTokenKind ??=
_dylib.lookupFunction<_c_clang_getTokenKind, _dart_clang_getTokenKind>(
'clang_getTokenKind'))(
arg0,
);
}
_dart_clang_getTokenKind? _clang_getTokenKind;
/// Determine the spelling of the given token.
///
/// The spelling of a token is the textual representation of that token, e.g.,
/// the text of an identifier or keyword.
CXString clang_getTokenSpelling(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXToken arg1,
) {
return (_clang_getTokenSpelling ??= _dylib.lookupFunction<
_c_clang_getTokenSpelling,
_dart_clang_getTokenSpelling>('clang_getTokenSpelling'))(
arg0,
arg1,
);
}
_dart_clang_getTokenSpelling? _clang_getTokenSpelling;
/// Retrieve the source location of the given token.
CXSourceLocation clang_getTokenLocation(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXToken arg1,
) {
return (_clang_getTokenLocation ??= _dylib.lookupFunction<
_c_clang_getTokenLocation,
_dart_clang_getTokenLocation>('clang_getTokenLocation'))(
arg0,
arg1,
);
}
_dart_clang_getTokenLocation? _clang_getTokenLocation;
/// Retrieve a source range that covers the given token.
CXSourceRange clang_getTokenExtent(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXToken arg1,
) {
return (_clang_getTokenExtent ??= _dylib.lookupFunction<
_c_clang_getTokenExtent,
_dart_clang_getTokenExtent>('clang_getTokenExtent'))(
arg0,
arg1,
);
}
_dart_clang_getTokenExtent? _clang_getTokenExtent;
/// Tokenize the source code described by the given range into raw
/// lexical tokens.
///
/// \param TU the translation unit whose text is being tokenized.
///
/// \param Range the source range in which text should be tokenized. All of the
/// tokens produced by tokenization will fall within this source range,
///
/// \param Tokens this pointer will be set to point to the array of tokens
/// that occur within the given source range. The returned pointer must be
/// freed with clang_disposeTokens() before the translation unit is destroyed.
///
/// \param NumTokens will be set to the number of tokens in the \c *Tokens
/// array.
void clang_tokenize(
ffi.Pointer<CXTranslationUnitImpl> TU,
CXSourceRange Range,
ffi.Pointer<ffi.Pointer<CXToken>> Tokens,
ffi.Pointer<ffi.Uint32> NumTokens,
) {
return (_clang_tokenize ??=
_dylib.lookupFunction<_c_clang_tokenize, _dart_clang_tokenize>(
'clang_tokenize'))(
TU,
Range,
Tokens,
NumTokens,
);
}
_dart_clang_tokenize? _clang_tokenize;
/// Annotate the given set of tokens by providing cursors for each token
/// that can be mapped to a specific entity within the abstract syntax tree.
///
/// This token-annotation routine is equivalent to invoking
/// clang_getCursor() for the source locations of each of the
/// tokens. The cursors provided are filtered, so that only those
/// cursors that have a direct correspondence to the token are
/// accepted. For example, given a function call \c f(x),
/// clang_getCursor() would provide the following cursors:
///
/// * when the cursor is over the 'f', a DeclRefExpr cursor referring to 'f'.
/// * when the cursor is over the '(' or the ')', a CallExpr referring to 'f'.
/// * when the cursor is over the 'x', a DeclRefExpr cursor referring to 'x'.
///
/// Only the first and last of these cursors will occur within the
/// annotate, since the tokens "f" and "x' directly refer to a function
/// and a variable, respectively, but the parentheses are just a small
/// part of the full syntax of the function call expression, which is
/// not provided as an annotation.
///
/// \param TU the translation unit that owns the given tokens.
///
/// \param Tokens the set of tokens to annotate.
///
/// \param NumTokens the number of tokens in \p Tokens.
///
/// \param Cursors an array of \p NumTokens cursors, whose contents will be
/// replaced with the cursors corresponding to each token.
void clang_annotateTokens(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<CXToken> Tokens,
int NumTokens,
ffi.Pointer<CXCursor> Cursors,
) {
return (_clang_annotateTokens ??= _dylib.lookupFunction<
_c_clang_annotateTokens,
_dart_clang_annotateTokens>('clang_annotateTokens'))(
TU,
Tokens,
NumTokens,
Cursors,
);
}
_dart_clang_annotateTokens? _clang_annotateTokens;
/// Free the given set of tokens.
void clang_disposeTokens(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<CXToken> Tokens,
int NumTokens,
) {
return (_clang_disposeTokens ??= _dylib.lookupFunction<
_c_clang_disposeTokens,
_dart_clang_disposeTokens>('clang_disposeTokens'))(
TU,
Tokens,
NumTokens,
);
}
_dart_clang_disposeTokens? _clang_disposeTokens;
/// \defgroup CINDEX_DEBUG Debugging facilities
///
/// These routines are used for testing and debugging, only, and should not
/// be relied upon.
///
/// @{
CXString clang_getCursorKindSpelling(
int Kind,
) {
return (_clang_getCursorKindSpelling ??= _dylib.lookupFunction<
_c_clang_getCursorKindSpelling,
_dart_clang_getCursorKindSpelling>('clang_getCursorKindSpelling'))(
Kind,
);
}
_dart_clang_getCursorKindSpelling? _clang_getCursorKindSpelling;
void clang_getDefinitionSpellingAndExtent(
CXCursor arg0,
ffi.Pointer<ffi.Pointer<ffi.Int8>> startBuf,
ffi.Pointer<ffi.Pointer<ffi.Int8>> endBuf,
ffi.Pointer<ffi.Uint32> startLine,
ffi.Pointer<ffi.Uint32> startColumn,
ffi.Pointer<ffi.Uint32> endLine,
ffi.Pointer<ffi.Uint32> endColumn,
) {
return (_clang_getDefinitionSpellingAndExtent ??= _dylib.lookupFunction<
_c_clang_getDefinitionSpellingAndExtent,
_dart_clang_getDefinitionSpellingAndExtent>(
'clang_getDefinitionSpellingAndExtent'))(
arg0,
startBuf,
endBuf,
startLine,
startColumn,
endLine,
endColumn,
);
}
_dart_clang_getDefinitionSpellingAndExtent?
_clang_getDefinitionSpellingAndExtent;
void clang_enableStackTraces() {
return (_clang_enableStackTraces ??= _dylib.lookupFunction<
_c_clang_enableStackTraces,
_dart_clang_enableStackTraces>('clang_enableStackTraces'))();
}
_dart_clang_enableStackTraces? _clang_enableStackTraces;
void clang_executeOnThread(
ffi.Pointer<ffi.NativeFunction<_typedefC_1>> fn,
ffi.Pointer<ffi.Void> user_data,
int stack_size,
) {
return (_clang_executeOnThread ??= _dylib.lookupFunction<
_c_clang_executeOnThread,
_dart_clang_executeOnThread>('clang_executeOnThread'))(
fn,
user_data,
stack_size,
);
}
_dart_clang_executeOnThread? _clang_executeOnThread;
/// Determine the kind of a particular chunk within a completion string.
///
/// \param completion_string the completion string to query.
///
/// \param chunk_number the 0-based index of the chunk in the completion string.
///
/// \returns the kind of the chunk at the index \c chunk_number.
int clang_getCompletionChunkKind(
ffi.Pointer<ffi.Void> completion_string,
int chunk_number,
) {
return (_clang_getCompletionChunkKind ??= _dylib.lookupFunction<
_c_clang_getCompletionChunkKind,
_dart_clang_getCompletionChunkKind>('clang_getCompletionChunkKind'))(
completion_string,
chunk_number,
);
}
_dart_clang_getCompletionChunkKind? _clang_getCompletionChunkKind;
/// Retrieve the text associated with a particular chunk within a
/// completion string.
///
/// \param completion_string the completion string to query.
///
/// \param chunk_number the 0-based index of the chunk in the completion string.
///
/// \returns the text associated with the chunk at index \c chunk_number.
CXString clang_getCompletionChunkText(
ffi.Pointer<ffi.Void> completion_string,
int chunk_number,
) {
return (_clang_getCompletionChunkText ??= _dylib.lookupFunction<
_c_clang_getCompletionChunkText,
_dart_clang_getCompletionChunkText>('clang_getCompletionChunkText'))(
completion_string,
chunk_number,
);
}
_dart_clang_getCompletionChunkText? _clang_getCompletionChunkText;
/// Retrieve the completion string associated with a particular chunk
/// within a completion string.
///
/// \param completion_string the completion string to query.
///
/// \param chunk_number the 0-based index of the chunk in the completion string.
///
/// \returns the completion string associated with the chunk at index
/// \c chunk_number.
ffi.Pointer<ffi.Void> clang_getCompletionChunkCompletionString(
ffi.Pointer<ffi.Void> completion_string,
int chunk_number,
) {
return (_clang_getCompletionChunkCompletionString ??= _dylib.lookupFunction<
_c_clang_getCompletionChunkCompletionString,
_dart_clang_getCompletionChunkCompletionString>(
'clang_getCompletionChunkCompletionString'))(
completion_string,
chunk_number,
);
}
_dart_clang_getCompletionChunkCompletionString?
_clang_getCompletionChunkCompletionString;
/// Retrieve the number of chunks in the given code-completion string.
int clang_getNumCompletionChunks(
ffi.Pointer<ffi.Void> completion_string,
) {
return (_clang_getNumCompletionChunks ??= _dylib.lookupFunction<
_c_clang_getNumCompletionChunks,
_dart_clang_getNumCompletionChunks>('clang_getNumCompletionChunks'))(
completion_string,
);
}
_dart_clang_getNumCompletionChunks? _clang_getNumCompletionChunks;
/// Determine the priority of this code completion.
///
/// The priority of a code completion indicates how likely it is that this
/// particular completion is the completion that the user will select. The
/// priority is selected by various internal heuristics.
///
/// \param completion_string The completion string to query.
///
/// \returns The priority of this completion string. Smaller values indicate
/// higher-priority (more likely) completions.
int clang_getCompletionPriority(
ffi.Pointer<ffi.Void> completion_string,
) {
return (_clang_getCompletionPriority ??= _dylib.lookupFunction<
_c_clang_getCompletionPriority,
_dart_clang_getCompletionPriority>('clang_getCompletionPriority'))(
completion_string,
);
}
_dart_clang_getCompletionPriority? _clang_getCompletionPriority;
/// Determine the availability of the entity that this code-completion
/// string refers to.
///
/// \param completion_string The completion string to query.
///
/// \returns The availability of the completion string.
int clang_getCompletionAvailability(
ffi.Pointer<ffi.Void> completion_string,
) {
return (_clang_getCompletionAvailability ??= _dylib.lookupFunction<
_c_clang_getCompletionAvailability,
_dart_clang_getCompletionAvailability>(
'clang_getCompletionAvailability'))(
completion_string,
);
}
_dart_clang_getCompletionAvailability? _clang_getCompletionAvailability;
/// Retrieve the number of annotations associated with the given
/// completion string.
///
/// \param completion_string the completion string to query.
///
/// \returns the number of annotations associated with the given completion
/// string.
int clang_getCompletionNumAnnotations(
ffi.Pointer<ffi.Void> completion_string,
) {
return (_clang_getCompletionNumAnnotations ??= _dylib.lookupFunction<
_c_clang_getCompletionNumAnnotations,
_dart_clang_getCompletionNumAnnotations>(
'clang_getCompletionNumAnnotations'))(
completion_string,
);
}
_dart_clang_getCompletionNumAnnotations? _clang_getCompletionNumAnnotations;
/// Retrieve the annotation associated with the given completion string.
///
/// \param completion_string the completion string to query.
///
/// \param annotation_number the 0-based index of the annotation of the
/// completion string.
///
/// \returns annotation string associated with the completion at index
/// \c annotation_number, or a NULL string if that annotation is not available.
CXString clang_getCompletionAnnotation(
ffi.Pointer<ffi.Void> completion_string,
int annotation_number,
) {
return (_clang_getCompletionAnnotation ??= _dylib.lookupFunction<
_c_clang_getCompletionAnnotation,
_dart_clang_getCompletionAnnotation>('clang_getCompletionAnnotation'))(
completion_string,
annotation_number,
);
}
_dart_clang_getCompletionAnnotation? _clang_getCompletionAnnotation;
/// Retrieve the parent context of the given completion string.
///
/// The parent context of a completion string is the semantic parent of
/// the declaration (if any) that the code completion represents. For example,
/// a code completion for an Objective-C method would have the method's class
/// or protocol as its context.
///
/// \param completion_string The code completion string whose parent is
/// being queried.
///
/// \param kind DEPRECATED: always set to CXCursor_NotImplemented if non-NULL.
///
/// \returns The name of the completion parent, e.g., "NSObject" if
/// the completion string represents a method in the NSObject class.
CXString clang_getCompletionParent(
ffi.Pointer<ffi.Void> completion_string,
ffi.Pointer<ffi.Int32> kind,
) {
return (_clang_getCompletionParent ??= _dylib.lookupFunction<
_c_clang_getCompletionParent,
_dart_clang_getCompletionParent>('clang_getCompletionParent'))(
completion_string,
kind,
);
}
_dart_clang_getCompletionParent? _clang_getCompletionParent;
/// Retrieve the brief documentation comment attached to the declaration
/// that corresponds to the given completion string.
CXString clang_getCompletionBriefComment(
ffi.Pointer<ffi.Void> completion_string,
) {
return (_clang_getCompletionBriefComment ??= _dylib.lookupFunction<
_c_clang_getCompletionBriefComment,
_dart_clang_getCompletionBriefComment>(
'clang_getCompletionBriefComment'))(
completion_string,
);
}
_dart_clang_getCompletionBriefComment? _clang_getCompletionBriefComment;
/// Retrieve a completion string for an arbitrary declaration or macro
/// definition cursor.
///
/// \param cursor The cursor to query.
///
/// \returns A non-context-sensitive completion string for declaration and macro
/// definition cursors, or NULL for other kinds of cursors.
ffi.Pointer<ffi.Void> clang_getCursorCompletionString(
CXCursor cursor,
) {
return (_clang_getCursorCompletionString ??= _dylib.lookupFunction<
_c_clang_getCursorCompletionString,
_dart_clang_getCursorCompletionString>(
'clang_getCursorCompletionString'))(
cursor,
);
}
_dart_clang_getCursorCompletionString? _clang_getCursorCompletionString;
/// Retrieve the number of fix-its for the given completion index.
///
/// Calling this makes sense only if CXCodeComplete_IncludeCompletionsWithFixIts
/// option was set.
///
/// \param results The structure keeping all completion results
///
/// \param completion_index The index of the completion
///
/// \return The number of fix-its which must be applied before the completion at
/// completion_index can be applied
int clang_getCompletionNumFixIts(
ffi.Pointer<CXCodeCompleteResults> results,
int completion_index,
) {
return (_clang_getCompletionNumFixIts ??= _dylib.lookupFunction<
_c_clang_getCompletionNumFixIts,
_dart_clang_getCompletionNumFixIts>('clang_getCompletionNumFixIts'))(
results,
completion_index,
);
}
_dart_clang_getCompletionNumFixIts? _clang_getCompletionNumFixIts;
/// Fix-its that *must* be applied before inserting the text for the
/// corresponding completion.
///
/// By default, clang_codeCompleteAt() only returns completions with empty
/// fix-its. Extra completions with non-empty fix-its should be explicitly
/// requested by setting CXCodeComplete_IncludeCompletionsWithFixIts.
///
/// For the clients to be able to compute position of the cursor after applying
/// fix-its, the following conditions are guaranteed to hold for
/// replacement_range of the stored fix-its:
/// - Ranges in the fix-its are guaranteed to never contain the completion
/// point (or identifier under completion point, if any) inside them, except
/// at the start or at the end of the range.
/// - If a fix-it range starts or ends with completion point (or starts or
/// ends after the identifier under completion point), it will contain at
/// least one character. It allows to unambiguously recompute completion
/// point after applying the fix-it.
///
/// The intuition is that provided fix-its change code around the identifier we
/// complete, but are not allowed to touch the identifier itself or the
/// completion point. One example of completions with corrections are the ones
/// replacing '.' with '->' and vice versa:
///
/// std::unique_ptr<std::vector<int>> vec_ptr;
/// In 'vec_ptr.^', one of the completions is 'push_back', it requires
/// replacing '.' with '->'.
/// In 'vec_ptr->^', one of the completions is 'release', it requires
/// replacing '->' with '.'.
///
/// \param results The structure keeping all completion results
///
/// \param completion_index The index of the completion
///
/// \param fixit_index The index of the fix-it for the completion at
/// completion_index
///
/// \param replacement_range The fix-it range that must be replaced before the
/// completion at completion_index can be applied
///
/// \returns The fix-it string that must replace the code at replacement_range
/// before the completion at completion_index can be applied
CXString clang_getCompletionFixIt(
ffi.Pointer<CXCodeCompleteResults> results,
int completion_index,
int fixit_index,
ffi.Pointer<CXSourceRange> replacement_range,
) {
return (_clang_getCompletionFixIt ??= _dylib.lookupFunction<
_c_clang_getCompletionFixIt,
_dart_clang_getCompletionFixIt>('clang_getCompletionFixIt'))(
results,
completion_index,
fixit_index,
replacement_range,
);
}
_dart_clang_getCompletionFixIt? _clang_getCompletionFixIt;
/// Returns a default set of code-completion options that can be
/// passed to\c clang_codeCompleteAt().
int clang_defaultCodeCompleteOptions() {
return (_clang_defaultCodeCompleteOptions ??= _dylib.lookupFunction<
_c_clang_defaultCodeCompleteOptions,
_dart_clang_defaultCodeCompleteOptions>(
'clang_defaultCodeCompleteOptions'))();
}
_dart_clang_defaultCodeCompleteOptions? _clang_defaultCodeCompleteOptions;
/// Perform code completion at a given location in a translation unit.
///
/// This function performs code completion at a particular file, line, and
/// column within source code, providing results that suggest potential
/// code snippets based on the context of the completion. The basic model
/// for code completion is that Clang will parse a complete source file,
/// performing syntax checking up to the location where code-completion has
/// been requested. At that point, a special code-completion token is passed
/// to the parser, which recognizes this token and determines, based on the
/// current location in the C/Objective-C/C++ grammar and the state of
/// semantic analysis, what completions to provide. These completions are
/// returned via a new \c CXCodeCompleteResults structure.
///
/// Code completion itself is meant to be triggered by the client when the
/// user types punctuation characters or whitespace, at which point the
/// code-completion location will coincide with the cursor. For example, if \c p
/// is a pointer, code-completion might be triggered after the "-" and then
/// after the ">" in \c p->. When the code-completion location is after the ">",
/// the completion results will provide, e.g., the members of the struct that
/// "p" points to. The client is responsible for placing the cursor at the
/// beginning of the token currently being typed, then filtering the results
/// based on the contents of the token. For example, when code-completing for
/// the expression \c p->get, the client should provide the location just after
/// the ">" (e.g., pointing at the "g") to this code-completion hook. Then, the
/// client can filter the results based on the current token text ("get"), only
/// showing those results that start with "get". The intent of this interface
/// is to separate the relatively high-latency acquisition of code-completion
/// results from the filtering of results on a per-character basis, which must
/// have a lower latency.
///
/// \param TU The translation unit in which code-completion should
/// occur. The source files for this translation unit need not be
/// completely up-to-date (and the contents of those source files may
/// be overridden via \p unsaved_files). Cursors referring into the
/// translation unit may be invalidated by this invocation.
///
/// \param complete_filename The name of the source file where code
/// completion should be performed. This filename may be any file
/// included in the translation unit.
///
/// \param complete_line The line at which code-completion should occur.
///
/// \param complete_column The column at which code-completion should occur.
/// Note that the column should point just after the syntactic construct that
/// initiated code completion, and not in the middle of a lexical token.
///
/// \param unsaved_files the Files that have not yet been saved to disk
/// but may be required for parsing or code completion, including the
/// contents of those files. The contents and name of these files (as
/// specified by CXUnsavedFile) are copied when necessary, so the
/// client only needs to guarantee their validity until the call to
/// this function returns.
///
/// \param num_unsaved_files The number of unsaved file entries in \p
/// unsaved_files.
///
/// \param options Extra options that control the behavior of code
/// completion, expressed as a bitwise OR of the enumerators of the
/// CXCodeComplete_Flags enumeration. The
/// \c clang_defaultCodeCompleteOptions() function returns a default set
/// of code-completion options.
///
/// \returns If successful, a new \c CXCodeCompleteResults structure
/// containing code-completion results, which should eventually be
/// freed with \c clang_disposeCodeCompleteResults(). If code
/// completion fails, returns NULL.
ffi.Pointer<CXCodeCompleteResults> clang_codeCompleteAt(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<ffi.Int8> complete_filename,
int complete_line,
int complete_column,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
int options,
) {
return (_clang_codeCompleteAt ??= _dylib.lookupFunction<
_c_clang_codeCompleteAt,
_dart_clang_codeCompleteAt>('clang_codeCompleteAt'))(
TU,
complete_filename,
complete_line,
complete_column,
unsaved_files,
num_unsaved_files,
options,
);
}
_dart_clang_codeCompleteAt? _clang_codeCompleteAt;
/// Sort the code-completion results in case-insensitive alphabetical
/// order.
///
/// \param Results The set of results to sort.
/// \param NumResults The number of results in \p Results.
void clang_sortCodeCompletionResults(
ffi.Pointer<CXCompletionResult> Results,
int NumResults,
) {
return (_clang_sortCodeCompletionResults ??= _dylib.lookupFunction<
_c_clang_sortCodeCompletionResults,
_dart_clang_sortCodeCompletionResults>(
'clang_sortCodeCompletionResults'))(
Results,
NumResults,
);
}
_dart_clang_sortCodeCompletionResults? _clang_sortCodeCompletionResults;
/// Free the given set of code-completion results.
void clang_disposeCodeCompleteResults(
ffi.Pointer<CXCodeCompleteResults> Results,
) {
return (_clang_disposeCodeCompleteResults ??= _dylib.lookupFunction<
_c_clang_disposeCodeCompleteResults,
_dart_clang_disposeCodeCompleteResults>(
'clang_disposeCodeCompleteResults'))(
Results,
);
}
_dart_clang_disposeCodeCompleteResults? _clang_disposeCodeCompleteResults;
/// Determine the number of diagnostics produced prior to the
/// location where code completion was performed.
int clang_codeCompleteGetNumDiagnostics(
ffi.Pointer<CXCodeCompleteResults> Results,
) {
return (_clang_codeCompleteGetNumDiagnostics ??= _dylib.lookupFunction<
_c_clang_codeCompleteGetNumDiagnostics,
_dart_clang_codeCompleteGetNumDiagnostics>(
'clang_codeCompleteGetNumDiagnostics'))(
Results,
);
}
_dart_clang_codeCompleteGetNumDiagnostics?
_clang_codeCompleteGetNumDiagnostics;
/// Retrieve a diagnostic associated with the given code completion.
///
/// \param Results the code completion results to query.
/// \param Index the zero-based diagnostic number to retrieve.
///
/// \returns the requested diagnostic. This diagnostic must be freed
/// via a call to \c clang_disposeDiagnostic().
ffi.Pointer<ffi.Void> clang_codeCompleteGetDiagnostic(
ffi.Pointer<CXCodeCompleteResults> Results,
int Index,
) {
return (_clang_codeCompleteGetDiagnostic ??= _dylib.lookupFunction<
_c_clang_codeCompleteGetDiagnostic,
_dart_clang_codeCompleteGetDiagnostic>(
'clang_codeCompleteGetDiagnostic'))(
Results,
Index,
);
}
_dart_clang_codeCompleteGetDiagnostic? _clang_codeCompleteGetDiagnostic;
/// Determines what completions are appropriate for the context
/// the given code completion.
///
/// \param Results the code completion results to query
///
/// \returns the kinds of completions that are appropriate for use
/// along with the given code completion results.
int clang_codeCompleteGetContexts(
ffi.Pointer<CXCodeCompleteResults> Results,
) {
return (_clang_codeCompleteGetContexts ??= _dylib.lookupFunction<
_c_clang_codeCompleteGetContexts,
_dart_clang_codeCompleteGetContexts>('clang_codeCompleteGetContexts'))(
Results,
);
}
_dart_clang_codeCompleteGetContexts? _clang_codeCompleteGetContexts;
/// Returns the cursor kind for the container for the current code
/// completion context. The container is only guaranteed to be set for
/// contexts where a container exists (i.e. member accesses or Objective-C
/// message sends); if there is not a container, this function will return
/// CXCursor_InvalidCode.
///
/// \param Results the code completion results to query
///
/// \param IsIncomplete on return, this value will be false if Clang has complete
/// information about the container. If Clang does not have complete
/// information, this value will be true.
///
/// \returns the container kind, or CXCursor_InvalidCode if there is not a
/// container
int clang_codeCompleteGetContainerKind(
ffi.Pointer<CXCodeCompleteResults> Results,
ffi.Pointer<ffi.Uint32> IsIncomplete,
) {
return (_clang_codeCompleteGetContainerKind ??= _dylib.lookupFunction<
_c_clang_codeCompleteGetContainerKind,
_dart_clang_codeCompleteGetContainerKind>(
'clang_codeCompleteGetContainerKind'))(
Results,
IsIncomplete,
);
}
_dart_clang_codeCompleteGetContainerKind? _clang_codeCompleteGetContainerKind;
/// Returns the USR for the container for the current code completion
/// context. If there is not a container for the current context, this
/// function will return the empty string.
///
/// \param Results the code completion results to query
///
/// \returns the USR for the container
CXString clang_codeCompleteGetContainerUSR(
ffi.Pointer<CXCodeCompleteResults> Results,
) {
return (_clang_codeCompleteGetContainerUSR ??= _dylib.lookupFunction<
_c_clang_codeCompleteGetContainerUSR,
_dart_clang_codeCompleteGetContainerUSR>(
'clang_codeCompleteGetContainerUSR'))(
Results,
);
}
_dart_clang_codeCompleteGetContainerUSR? _clang_codeCompleteGetContainerUSR;
/// Returns the currently-entered selector for an Objective-C message
/// send, formatted like "initWithFoo:bar:". Only guaranteed to return a
/// non-empty string for CXCompletionContext_ObjCInstanceMessage and
/// CXCompletionContext_ObjCClassMessage.
///
/// \param Results the code completion results to query
///
/// \returns the selector (or partial selector) that has been entered thus far
/// for an Objective-C message send.
CXString clang_codeCompleteGetObjCSelector(
ffi.Pointer<CXCodeCompleteResults> Results,
) {
return (_clang_codeCompleteGetObjCSelector ??= _dylib.lookupFunction<
_c_clang_codeCompleteGetObjCSelector,
_dart_clang_codeCompleteGetObjCSelector>(
'clang_codeCompleteGetObjCSelector'))(
Results,
);
}
_dart_clang_codeCompleteGetObjCSelector? _clang_codeCompleteGetObjCSelector;
/// Return a version string, suitable for showing to a user, but not
/// intended to be parsed (the format is not guaranteed to be stable).
CXString clang_getClangVersion() {
return (_clang_getClangVersion ??= _dylib.lookupFunction<
_c_clang_getClangVersion,
_dart_clang_getClangVersion>('clang_getClangVersion'))();
}
_dart_clang_getClangVersion? _clang_getClangVersion;
/// Enable/disable crash recovery.
///
/// \param isEnabled Flag to indicate if crash recovery is enabled. A non-zero
/// value enables crash recovery, while 0 disables it.
void clang_toggleCrashRecovery(
int isEnabled,
) {
return (_clang_toggleCrashRecovery ??= _dylib.lookupFunction<
_c_clang_toggleCrashRecovery,
_dart_clang_toggleCrashRecovery>('clang_toggleCrashRecovery'))(
isEnabled,
);
}
_dart_clang_toggleCrashRecovery? _clang_toggleCrashRecovery;
/// Visit the set of preprocessor inclusions in a translation unit.
/// The visitor function is called with the provided data for every included
/// file. This does not include headers included by the PCH file (unless one
/// is inspecting the inclusions in the PCH file itself).
void clang_getInclusions(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.NativeFunction<CXInclusionVisitor>> visitor,
ffi.Pointer<ffi.Void> client_data,
) {
return (_clang_getInclusions ??= _dylib.lookupFunction<
_c_clang_getInclusions,
_dart_clang_getInclusions>('clang_getInclusions'))(
tu,
visitor,
client_data,
);
}
_dart_clang_getInclusions? _clang_getInclusions;
/// If cursor is a statement declaration tries to evaluate the
/// statement and if its variable, tries to evaluate its initializer,
/// into its corresponding type.
ffi.Pointer<ffi.Void> clang_Cursor_Evaluate(
CXCursor C,
) {
return (_clang_Cursor_Evaluate ??= _dylib.lookupFunction<
_c_clang_Cursor_Evaluate,
_dart_clang_Cursor_Evaluate>('clang_Cursor_Evaluate'))(
C,
);
}
_dart_clang_Cursor_Evaluate? _clang_Cursor_Evaluate;
/// Returns the kind of the evaluated result.
int clang_EvalResult_getKind(
ffi.Pointer<ffi.Void> E,
) {
return (_clang_EvalResult_getKind ??= _dylib.lookupFunction<
_c_clang_EvalResult_getKind,
_dart_clang_EvalResult_getKind>('clang_EvalResult_getKind'))(
E,
);
}
_dart_clang_EvalResult_getKind? _clang_EvalResult_getKind;
/// Returns the evaluation result as integer if the
/// kind is Int.
int clang_EvalResult_getAsInt(
ffi.Pointer<ffi.Void> E,
) {
return (_clang_EvalResult_getAsInt ??= _dylib.lookupFunction<
_c_clang_EvalResult_getAsInt,
_dart_clang_EvalResult_getAsInt>('clang_EvalResult_getAsInt'))(
E,
);
}
_dart_clang_EvalResult_getAsInt? _clang_EvalResult_getAsInt;
/// Returns the evaluation result as a long long integer if the
/// kind is Int. This prevents overflows that may happen if the result is
/// returned with clang_EvalResult_getAsInt.
int clang_EvalResult_getAsLongLong(
ffi.Pointer<ffi.Void> E,
) {
return (_clang_EvalResult_getAsLongLong ??= _dylib.lookupFunction<
_c_clang_EvalResult_getAsLongLong,
_dart_clang_EvalResult_getAsLongLong>(
'clang_EvalResult_getAsLongLong'))(
E,
);
}
_dart_clang_EvalResult_getAsLongLong? _clang_EvalResult_getAsLongLong;
/// Returns a non-zero value if the kind is Int and the evaluation
/// result resulted in an unsigned integer.
int clang_EvalResult_isUnsignedInt(
ffi.Pointer<ffi.Void> E,
) {
return (_clang_EvalResult_isUnsignedInt ??= _dylib.lookupFunction<
_c_clang_EvalResult_isUnsignedInt,
_dart_clang_EvalResult_isUnsignedInt>(
'clang_EvalResult_isUnsignedInt'))(
E,
);
}
_dart_clang_EvalResult_isUnsignedInt? _clang_EvalResult_isUnsignedInt;
/// Returns the evaluation result as an unsigned integer if
/// the kind is Int and clang_EvalResult_isUnsignedInt is non-zero.
int clang_EvalResult_getAsUnsigned(
ffi.Pointer<ffi.Void> E,
) {
return (_clang_EvalResult_getAsUnsigned ??= _dylib.lookupFunction<
_c_clang_EvalResult_getAsUnsigned,
_dart_clang_EvalResult_getAsUnsigned>(
'clang_EvalResult_getAsUnsigned'))(
E,
);
}
_dart_clang_EvalResult_getAsUnsigned? _clang_EvalResult_getAsUnsigned;
/// Returns the evaluation result as double if the
/// kind is double.
double clang_EvalResult_getAsDouble(
ffi.Pointer<ffi.Void> E,
) {
return (_clang_EvalResult_getAsDouble ??= _dylib.lookupFunction<
_c_clang_EvalResult_getAsDouble,
_dart_clang_EvalResult_getAsDouble>('clang_EvalResult_getAsDouble'))(
E,
);
}
_dart_clang_EvalResult_getAsDouble? _clang_EvalResult_getAsDouble;
/// Returns the evaluation result as a constant string if the
/// kind is other than Int or float. User must not free this pointer,
/// instead call clang_EvalResult_dispose on the CXEvalResult returned
/// by clang_Cursor_Evaluate.
ffi.Pointer<ffi.Int8> clang_EvalResult_getAsStr(
ffi.Pointer<ffi.Void> E,
) {
return (_clang_EvalResult_getAsStr ??= _dylib.lookupFunction<
_c_clang_EvalResult_getAsStr,
_dart_clang_EvalResult_getAsStr>('clang_EvalResult_getAsStr'))(
E,
);
}
_dart_clang_EvalResult_getAsStr? _clang_EvalResult_getAsStr;
/// Disposes the created Eval memory.
void clang_EvalResult_dispose(
ffi.Pointer<ffi.Void> E,
) {
return (_clang_EvalResult_dispose ??= _dylib.lookupFunction<
_c_clang_EvalResult_dispose,
_dart_clang_EvalResult_dispose>('clang_EvalResult_dispose'))(
E,
);
}
_dart_clang_EvalResult_dispose? _clang_EvalResult_dispose;
/// Retrieve a remapping.
///
/// \param path the path that contains metadata about remappings.
///
/// \returns the requested remapping. This remapping must be freed
/// via a call to \c clang_remap_dispose(). Can return NULL if an error occurred.
ffi.Pointer<ffi.Void> clang_getRemappings(
ffi.Pointer<ffi.Int8> path,
) {
return (_clang_getRemappings ??= _dylib.lookupFunction<
_c_clang_getRemappings,
_dart_clang_getRemappings>('clang_getRemappings'))(
path,
);
}
_dart_clang_getRemappings? _clang_getRemappings;
/// Retrieve a remapping.
///
/// \param filePaths pointer to an array of file paths containing remapping info.
///
/// \param numFiles number of file paths.
///
/// \returns the requested remapping. This remapping must be freed
/// via a call to \c clang_remap_dispose(). Can return NULL if an error occurred.
ffi.Pointer<ffi.Void> clang_getRemappingsFromFileList(
ffi.Pointer<ffi.Pointer<ffi.Int8>> filePaths,
int numFiles,
) {
return (_clang_getRemappingsFromFileList ??= _dylib.lookupFunction<
_c_clang_getRemappingsFromFileList,
_dart_clang_getRemappingsFromFileList>(
'clang_getRemappingsFromFileList'))(
filePaths,
numFiles,
);
}
_dart_clang_getRemappingsFromFileList? _clang_getRemappingsFromFileList;
/// Determine the number of remappings.
int clang_remap_getNumFiles(
ffi.Pointer<ffi.Void> arg0,
) {
return (_clang_remap_getNumFiles ??= _dylib.lookupFunction<
_c_clang_remap_getNumFiles,
_dart_clang_remap_getNumFiles>('clang_remap_getNumFiles'))(
arg0,
);
}
_dart_clang_remap_getNumFiles? _clang_remap_getNumFiles;
/// Get the original and the associated filename from the remapping.
///
/// \param original If non-NULL, will be set to the original filename.
///
/// \param transformed If non-NULL, will be set to the filename that the original
/// is associated with.
void clang_remap_getFilenames(
ffi.Pointer<ffi.Void> arg0,
int index,
ffi.Pointer<CXString> original,
ffi.Pointer<CXString> transformed,
) {
return (_clang_remap_getFilenames ??= _dylib.lookupFunction<
_c_clang_remap_getFilenames,
_dart_clang_remap_getFilenames>('clang_remap_getFilenames'))(
arg0,
index,
original,
transformed,
);
}
_dart_clang_remap_getFilenames? _clang_remap_getFilenames;
/// Dispose the remapping.
void clang_remap_dispose(
ffi.Pointer<ffi.Void> arg0,
) {
return (_clang_remap_dispose ??= _dylib.lookupFunction<
_c_clang_remap_dispose,
_dart_clang_remap_dispose>('clang_remap_dispose'))(
arg0,
);
}
_dart_clang_remap_dispose? _clang_remap_dispose;
/// Find references of a declaration in a specific file.
///
/// \param cursor pointing to a declaration or a reference of one.
///
/// \param file to search for references.
///
/// \param visitor callback that will receive pairs of CXCursor/CXSourceRange for
/// each reference found.
/// The CXSourceRange will point inside the file; if the reference is inside
/// a macro (and not a macro argument) the CXSourceRange will be invalid.
///
/// \returns one of the CXResult enumerators.
int clang_findReferencesInFile(
CXCursor cursor,
ffi.Pointer<ffi.Void> file,
CXCursorAndRangeVisitor visitor,
) {
return (_clang_findReferencesInFile ??= _dylib.lookupFunction<
_c_clang_findReferencesInFile,
_dart_clang_findReferencesInFile>('clang_findReferencesInFile'))(
cursor,
file,
visitor,
);
}
_dart_clang_findReferencesInFile? _clang_findReferencesInFile;
/// Find #import/#include directives in a specific file.
///
/// \param TU translation unit containing the file to query.
///
/// \param file to search for #import/#include directives.
///
/// \param visitor callback that will receive pairs of CXCursor/CXSourceRange for
/// each directive found.
///
/// \returns one of the CXResult enumerators.
int clang_findIncludesInFile(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<ffi.Void> file,
CXCursorAndRangeVisitor visitor,
) {
return (_clang_findIncludesInFile ??= _dylib.lookupFunction<
_c_clang_findIncludesInFile,
_dart_clang_findIncludesInFile>('clang_findIncludesInFile'))(
TU,
file,
visitor,
);
}
_dart_clang_findIncludesInFile? _clang_findIncludesInFile;
int clang_index_isEntityObjCContainerKind(
int arg0,
) {
return (_clang_index_isEntityObjCContainerKind ??= _dylib.lookupFunction<
_c_clang_index_isEntityObjCContainerKind,
_dart_clang_index_isEntityObjCContainerKind>(
'clang_index_isEntityObjCContainerKind'))(
arg0,
);
}
_dart_clang_index_isEntityObjCContainerKind?
_clang_index_isEntityObjCContainerKind;
ffi.Pointer<CXIdxObjCContainerDeclInfo> clang_index_getObjCContainerDeclInfo(
ffi.Pointer<CXIdxDeclInfo> arg0,
) {
return (_clang_index_getObjCContainerDeclInfo ??= _dylib.lookupFunction<
_c_clang_index_getObjCContainerDeclInfo,
_dart_clang_index_getObjCContainerDeclInfo>(
'clang_index_getObjCContainerDeclInfo'))(
arg0,
);
}
_dart_clang_index_getObjCContainerDeclInfo?
_clang_index_getObjCContainerDeclInfo;
ffi.Pointer<CXIdxObjCInterfaceDeclInfo> clang_index_getObjCInterfaceDeclInfo(
ffi.Pointer<CXIdxDeclInfo> arg0,
) {
return (_clang_index_getObjCInterfaceDeclInfo ??= _dylib.lookupFunction<
_c_clang_index_getObjCInterfaceDeclInfo,
_dart_clang_index_getObjCInterfaceDeclInfo>(
'clang_index_getObjCInterfaceDeclInfo'))(
arg0,
);
}
_dart_clang_index_getObjCInterfaceDeclInfo?
_clang_index_getObjCInterfaceDeclInfo;
ffi.Pointer<CXIdxObjCCategoryDeclInfo> clang_index_getObjCCategoryDeclInfo(
ffi.Pointer<CXIdxDeclInfo> arg0,
) {
return (_clang_index_getObjCCategoryDeclInfo ??= _dylib.lookupFunction<
_c_clang_index_getObjCCategoryDeclInfo,
_dart_clang_index_getObjCCategoryDeclInfo>(
'clang_index_getObjCCategoryDeclInfo'))(
arg0,
);
}
_dart_clang_index_getObjCCategoryDeclInfo?
_clang_index_getObjCCategoryDeclInfo;
ffi.Pointer<CXIdxObjCProtocolRefListInfo>
clang_index_getObjCProtocolRefListInfo(
ffi.Pointer<CXIdxDeclInfo> arg0,
) {
return (_clang_index_getObjCProtocolRefListInfo ??= _dylib.lookupFunction<
_c_clang_index_getObjCProtocolRefListInfo,
_dart_clang_index_getObjCProtocolRefListInfo>(
'clang_index_getObjCProtocolRefListInfo'))(
arg0,
);
}
_dart_clang_index_getObjCProtocolRefListInfo?
_clang_index_getObjCProtocolRefListInfo;
ffi.Pointer<CXIdxObjCPropertyDeclInfo> clang_index_getObjCPropertyDeclInfo(
ffi.Pointer<CXIdxDeclInfo> arg0,
) {
return (_clang_index_getObjCPropertyDeclInfo ??= _dylib.lookupFunction<
_c_clang_index_getObjCPropertyDeclInfo,
_dart_clang_index_getObjCPropertyDeclInfo>(
'clang_index_getObjCPropertyDeclInfo'))(
arg0,
);
}
_dart_clang_index_getObjCPropertyDeclInfo?
_clang_index_getObjCPropertyDeclInfo;
ffi.Pointer<CXIdxIBOutletCollectionAttrInfo>
clang_index_getIBOutletCollectionAttrInfo(
ffi.Pointer<CXIdxAttrInfo> arg0,
) {
return (_clang_index_getIBOutletCollectionAttrInfo ??=
_dylib.lookupFunction<_c_clang_index_getIBOutletCollectionAttrInfo,
_dart_clang_index_getIBOutletCollectionAttrInfo>(
'clang_index_getIBOutletCollectionAttrInfo'))(
arg0,
);
}
_dart_clang_index_getIBOutletCollectionAttrInfo?
_clang_index_getIBOutletCollectionAttrInfo;
ffi.Pointer<CXIdxCXXClassDeclInfo> clang_index_getCXXClassDeclInfo(
ffi.Pointer<CXIdxDeclInfo> arg0,
) {
return (_clang_index_getCXXClassDeclInfo ??= _dylib.lookupFunction<
_c_clang_index_getCXXClassDeclInfo,
_dart_clang_index_getCXXClassDeclInfo>(
'clang_index_getCXXClassDeclInfo'))(
arg0,
);
}
_dart_clang_index_getCXXClassDeclInfo? _clang_index_getCXXClassDeclInfo;
/// For retrieving a custom CXIdxClientContainer attached to a
/// container.
ffi.Pointer<ffi.Void> clang_index_getClientContainer(
ffi.Pointer<CXIdxContainerInfo> arg0,
) {
return (_clang_index_getClientContainer ??= _dylib.lookupFunction<
_c_clang_index_getClientContainer,
_dart_clang_index_getClientContainer>(
'clang_index_getClientContainer'))(
arg0,
);
}
_dart_clang_index_getClientContainer? _clang_index_getClientContainer;
/// For setting a custom CXIdxClientContainer attached to a
/// container.
void clang_index_setClientContainer(
ffi.Pointer<CXIdxContainerInfo> arg0,
ffi.Pointer<ffi.Void> arg1,
) {
return (_clang_index_setClientContainer ??= _dylib.lookupFunction<
_c_clang_index_setClientContainer,
_dart_clang_index_setClientContainer>(
'clang_index_setClientContainer'))(
arg0,
arg1,
);
}
_dart_clang_index_setClientContainer? _clang_index_setClientContainer;
/// For retrieving a custom CXIdxClientEntity attached to an entity.
ffi.Pointer<ffi.Void> clang_index_getClientEntity(
ffi.Pointer<CXIdxEntityInfo> arg0,
) {
return (_clang_index_getClientEntity ??= _dylib.lookupFunction<
_c_clang_index_getClientEntity,
_dart_clang_index_getClientEntity>('clang_index_getClientEntity'))(
arg0,
);
}
_dart_clang_index_getClientEntity? _clang_index_getClientEntity;
/// For setting a custom CXIdxClientEntity attached to an entity.
void clang_index_setClientEntity(
ffi.Pointer<CXIdxEntityInfo> arg0,
ffi.Pointer<ffi.Void> arg1,
) {
return (_clang_index_setClientEntity ??= _dylib.lookupFunction<
_c_clang_index_setClientEntity,
_dart_clang_index_setClientEntity>('clang_index_setClientEntity'))(
arg0,
arg1,
);
}
_dart_clang_index_setClientEntity? _clang_index_setClientEntity;
/// An indexing action/session, to be applied to one or multiple
/// translation units.
///
/// \param CIdx The index object with which the index action will be associated.
ffi.Pointer<ffi.Void> clang_IndexAction_create(
ffi.Pointer<ffi.Void> CIdx,
) {
return (_clang_IndexAction_create ??= _dylib.lookupFunction<
_c_clang_IndexAction_create,
_dart_clang_IndexAction_create>('clang_IndexAction_create'))(
CIdx,
);
}
_dart_clang_IndexAction_create? _clang_IndexAction_create;
/// Destroy the given index action.
///
/// The index action must not be destroyed until all of the translation units
/// created within that index action have been destroyed.
void clang_IndexAction_dispose(
ffi.Pointer<ffi.Void> arg0,
) {
return (_clang_IndexAction_dispose ??= _dylib.lookupFunction<
_c_clang_IndexAction_dispose,
_dart_clang_IndexAction_dispose>('clang_IndexAction_dispose'))(
arg0,
);
}
_dart_clang_IndexAction_dispose? _clang_IndexAction_dispose;
/// Index the given source file and the translation unit corresponding
/// to that file via callbacks implemented through #IndexerCallbacks.
///
/// \param client_data pointer data supplied by the client, which will
/// be passed to the invoked callbacks.
///
/// \param index_callbacks Pointer to indexing callbacks that the client
/// implements.
///
/// \param index_callbacks_size Size of #IndexerCallbacks structure that gets
/// passed in index_callbacks.
///
/// \param index_options A bitmask of options that affects how indexing is
/// performed. This should be a bitwise OR of the CXIndexOpt_XXX flags.
///
/// \param[out] out_TU pointer to store a \c CXTranslationUnit that can be
/// reused after indexing is finished. Set to \c NULL if you do not require it.
///
/// \returns 0 on success or if there were errors from which the compiler could
/// recover. If there is a failure from which there is no recovery, returns
/// a non-zero \c CXErrorCode.
///
/// The rest of the parameters are the same as #clang_parseTranslationUnit.
int clang_indexSourceFile(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Void> client_data,
ffi.Pointer<IndexerCallbacks> index_callbacks,
int index_callbacks_size,
int index_options,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
int num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
int TU_options,
) {
return (_clang_indexSourceFile ??= _dylib.lookupFunction<
_c_clang_indexSourceFile,
_dart_clang_indexSourceFile>('clang_indexSourceFile'))(
arg0,
client_data,
index_callbacks,
index_callbacks_size,
index_options,
source_filename,
command_line_args,
num_command_line_args,
unsaved_files,
num_unsaved_files,
out_TU,
TU_options,
);
}
_dart_clang_indexSourceFile? _clang_indexSourceFile;
/// Same as clang_indexSourceFile but requires a full command line
/// for \c command_line_args including argv[0]. This is useful if the standard
/// library paths are relative to the binary.
int clang_indexSourceFileFullArgv(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Void> client_data,
ffi.Pointer<IndexerCallbacks> index_callbacks,
int index_callbacks_size,
int index_options,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
int num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
int TU_options,
) {
return (_clang_indexSourceFileFullArgv ??= _dylib.lookupFunction<
_c_clang_indexSourceFileFullArgv,
_dart_clang_indexSourceFileFullArgv>('clang_indexSourceFileFullArgv'))(
arg0,
client_data,
index_callbacks,
index_callbacks_size,
index_options,
source_filename,
command_line_args,
num_command_line_args,
unsaved_files,
num_unsaved_files,
out_TU,
TU_options,
);
}
_dart_clang_indexSourceFileFullArgv? _clang_indexSourceFileFullArgv;
/// Index the given translation unit via callbacks implemented through
/// #IndexerCallbacks.
///
/// The order of callback invocations is not guaranteed to be the same as
/// when indexing a source file. The high level order will be:
///
/// -Preprocessor callbacks invocations
/// -Declaration/reference callbacks invocations
/// -Diagnostic callback invocations
///
/// The parameters are the same as #clang_indexSourceFile.
///
/// \returns If there is a failure from which there is no recovery, returns
/// non-zero, otherwise returns 0.
int clang_indexTranslationUnit(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Void> client_data,
ffi.Pointer<IndexerCallbacks> index_callbacks,
int index_callbacks_size,
int index_options,
ffi.Pointer<CXTranslationUnitImpl> arg5,
) {
return (_clang_indexTranslationUnit ??= _dylib.lookupFunction<
_c_clang_indexTranslationUnit,
_dart_clang_indexTranslationUnit>('clang_indexTranslationUnit'))(
arg0,
client_data,
index_callbacks,
index_callbacks_size,
index_options,
arg5,
);
}
_dart_clang_indexTranslationUnit? _clang_indexTranslationUnit;
/// Retrieve the CXIdxFile, file, line, column, and offset represented by
/// the given CXIdxLoc.
///
/// If the location refers into a macro expansion, retrieves the
/// location of the macro expansion and if it refers into a macro argument
/// retrieves the location of the argument.
void clang_indexLoc_getFileLocation(
CXIdxLoc loc,
ffi.Pointer<ffi.Pointer<ffi.Void>> indexFile,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
) {
return (_clang_indexLoc_getFileLocation ??= _dylib.lookupFunction<
_c_clang_indexLoc_getFileLocation,
_dart_clang_indexLoc_getFileLocation>(
'clang_indexLoc_getFileLocation'))(
loc,
indexFile,
file,
line,
column,
offset,
);
}
_dart_clang_indexLoc_getFileLocation? _clang_indexLoc_getFileLocation;
/// Retrieve the CXSourceLocation represented by the given CXIdxLoc.
CXSourceLocation clang_indexLoc_getCXSourceLocation(
CXIdxLoc loc,
) {
return (_clang_indexLoc_getCXSourceLocation ??= _dylib.lookupFunction<
_c_clang_indexLoc_getCXSourceLocation,
_dart_clang_indexLoc_getCXSourceLocation>(
'clang_indexLoc_getCXSourceLocation'))(
loc,
);
}
_dart_clang_indexLoc_getCXSourceLocation? _clang_indexLoc_getCXSourceLocation;
/// Visit the fields of a particular type.
///
/// This function visits all the direct fields of the given cursor,
/// invoking the given \p visitor function with the cursors of each
/// visited field. The traversal may be ended prematurely, if
/// the visitor returns \c CXFieldVisit_Break.
///
/// \param T the record type whose field may be visited.
///
/// \param visitor the visitor function that will be invoked for each
/// field of \p T.
///
/// \param client_data pointer data supplied by the client, which will
/// be passed to the visitor each time it is invoked.
///
/// \returns a non-zero value if the traversal was terminated
/// prematurely by the visitor returning \c CXFieldVisit_Break.
int clang_Type_visitFields(
CXType T,
ffi.Pointer<ffi.NativeFunction<CXFieldVisitor>> visitor,
ffi.Pointer<ffi.Void> client_data,
) {
return (_clang_Type_visitFields ??= _dylib.lookupFunction<
_c_clang_Type_visitFields,
_dart_clang_Type_visitFields>('clang_Type_visitFields'))(
T,
visitor,
client_data,
);
}
_dart_clang_Type_visitFields? _clang_Type_visitFields;
}
/// A character string.
///
/// The \c CXString type is used to return strings from the interface when
/// the ownership of that string might differ from one call to the next.
/// Use \c clang_getCString() to retrieve the string data and, once finished
/// with the string data, call \c clang_disposeString() to free the string.
class CXString extends ffi.Struct {
external ffi.Pointer<ffi.Void> data;
@ffi.Uint32()
external int private_flags;
}
class CXStringSet extends ffi.Struct {
external ffi.Pointer<CXString> Strings;
@ffi.Uint32()
external int Count;
}
class CXTargetInfoImpl extends ffi.Struct {}
class CXTranslationUnitImpl extends ffi.Struct {}
/// Provides the contents of a file that has not yet been saved to disk.
///
/// Each CXUnsavedFile instance provides the name of a file on the
/// system along with the current contents of that file that have not
/// yet been saved to disk.
class CXUnsavedFile extends ffi.Struct {
/// The file whose contents have not yet been saved.
///
/// This file must already exist in the file system.
external ffi.Pointer<ffi.Int8> Filename;
/// A buffer containing the unsaved contents of this file.
external ffi.Pointer<ffi.Int8> Contents;
/// The length of the unsaved contents of this buffer.
@ffi.Uint64()
external int Length;
}
/// Describes a version number of the form major.minor.subminor.
class CXVersion extends ffi.Struct {
/// The major version number, e.g., the '10' in '10.7.3'. A negative
/// value indicates that there is no version number at all.
@ffi.Int32()
external int Major;
/// The minor version number, e.g., the '7' in '10.7.3'. This value
/// will be negative if no minor version number was provided, e.g., for
/// version '10'.
@ffi.Int32()
external int Minor;
/// The subminor version number, e.g., the '3' in '10.7.3'. This value
/// will be negative if no minor or subminor version number was provided,
/// e.g., in version '10' or '10.7'.
@ffi.Int32()
external int Subminor;
}
abstract class CXGlobalOptFlags {
/// Used to indicate that no special CXIndex options are needed.
static const int CXGlobalOpt_None = 0;
/// Used to indicate that threads that libclang creates for indexing
/// purposes should use background priority.
///
/// Affects #clang_indexSourceFile, #clang_indexTranslationUnit,
/// #clang_parseTranslationUnit, #clang_saveTranslationUnit.
static const int CXGlobalOpt_ThreadBackgroundPriorityForIndexing = 1;
/// Used to indicate that threads that libclang creates for editing
/// purposes should use background priority.
///
/// Affects #clang_reparseTranslationUnit, #clang_codeCompleteAt,
/// #clang_annotateTokens
static const int CXGlobalOpt_ThreadBackgroundPriorityForEditing = 2;
/// Used to indicate that all threads that libclang creates should use
/// background priority.
static const int CXGlobalOpt_ThreadBackgroundPriorityForAll = 3;
}
/// Uniquely identifies a CXFile, that refers to the same underlying file,
/// across an indexing session.
class CXFileUniqueID extends ffi.Struct {
@ffi.Uint64()
external int _unique_data_item_0;
@ffi.Uint64()
external int _unique_data_item_1;
@ffi.Uint64()
external int _unique_data_item_2;
/// Helper for array `data`.
ArrayHelper_CXFileUniqueID_data_level0 get data =>
ArrayHelper_CXFileUniqueID_data_level0(this, [3], 0, 0);
}
/// Helper for array `data` in struct `CXFileUniqueID`.
class ArrayHelper_CXFileUniqueID_data_level0 {
final CXFileUniqueID _struct;
final List<int> dimensions;
final int level;
final int _absoluteIndex;
int get length => dimensions[level];
ArrayHelper_CXFileUniqueID_data_level0(
this._struct, this.dimensions, this.level, this._absoluteIndex);
void _checkBounds(int index) {
if (index >= length || index < 0) {
throw RangeError(
'Dimension $level: index not in range 0..${length} exclusive.');
}
}
int operator [](int index) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
return _struct._unique_data_item_0;
case 1:
return _struct._unique_data_item_1;
case 2:
return _struct._unique_data_item_2;
default:
throw Exception('Invalid Array Helper generated.');
}
}
void operator []=(int index, int value) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
_struct._unique_data_item_0 = value;
break;
case 1:
_struct._unique_data_item_1 = value;
break;
case 2:
_struct._unique_data_item_2 = value;
break;
default:
throw Exception('Invalid Array Helper generated.');
}
}
}
/// Identifies a specific source location within a translation
/// unit.
///
/// Use clang_getExpansionLocation() or clang_getSpellingLocation()
/// to map a source location to a particular file, line, and column.
class CXSourceLocation extends ffi.Struct {
external ffi.Pointer<ffi.Void> _unique_ptr_data_item_0;
external ffi.Pointer<ffi.Void> _unique_ptr_data_item_1;
/// Helper for array `ptr_data`.
ArrayHelper_CXSourceLocation_ptr_data_level0 get ptr_data =>
ArrayHelper_CXSourceLocation_ptr_data_level0(this, [2], 0, 0);
@ffi.Uint32()
external int int_data;
}
/// Helper for array `ptr_data` in struct `CXSourceLocation`.
class ArrayHelper_CXSourceLocation_ptr_data_level0 {
final CXSourceLocation _struct;
final List<int> dimensions;
final int level;
final int _absoluteIndex;
int get length => dimensions[level];
ArrayHelper_CXSourceLocation_ptr_data_level0(
this._struct, this.dimensions, this.level, this._absoluteIndex);
void _checkBounds(int index) {
if (index >= length || index < 0) {
throw RangeError(
'Dimension $level: index not in range 0..${length} exclusive.');
}
}
ffi.Pointer<ffi.Void> operator [](int index) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
return _struct._unique_ptr_data_item_0;
case 1:
return _struct._unique_ptr_data_item_1;
default:
throw Exception('Invalid Array Helper generated.');
}
}
void operator []=(int index, ffi.Pointer<ffi.Void> value) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
_struct._unique_ptr_data_item_0 = value;
break;
case 1:
_struct._unique_ptr_data_item_1 = value;
break;
default:
throw Exception('Invalid Array Helper generated.');
}
}
}
/// Identifies a half-open character range in the source code.
///
/// Use clang_getRangeStart() and clang_getRangeEnd() to retrieve the
/// starting and end locations from a source range, respectively.
class CXSourceRange extends ffi.Struct {
external ffi.Pointer<ffi.Void> _unique_ptr_data_item_0;
external ffi.Pointer<ffi.Void> _unique_ptr_data_item_1;
/// Helper for array `ptr_data`.
ArrayHelper_CXSourceRange_ptr_data_level0 get ptr_data =>
ArrayHelper_CXSourceRange_ptr_data_level0(this, [2], 0, 0);
@ffi.Uint32()
external int begin_int_data;
@ffi.Uint32()
external int end_int_data;
}
/// Helper for array `ptr_data` in struct `CXSourceRange`.
class ArrayHelper_CXSourceRange_ptr_data_level0 {
final CXSourceRange _struct;
final List<int> dimensions;
final int level;
final int _absoluteIndex;
int get length => dimensions[level];
ArrayHelper_CXSourceRange_ptr_data_level0(
this._struct, this.dimensions, this.level, this._absoluteIndex);
void _checkBounds(int index) {
if (index >= length || index < 0) {
throw RangeError(
'Dimension $level: index not in range 0..${length} exclusive.');
}
}
ffi.Pointer<ffi.Void> operator [](int index) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
return _struct._unique_ptr_data_item_0;
case 1:
return _struct._unique_ptr_data_item_1;
default:
throw Exception('Invalid Array Helper generated.');
}
}
void operator []=(int index, ffi.Pointer<ffi.Void> value) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
_struct._unique_ptr_data_item_0 = value;
break;
case 1:
_struct._unique_ptr_data_item_1 = value;
break;
default:
throw Exception('Invalid Array Helper generated.');
}
}
}
/// Identifies an array of ranges.
class CXSourceRangeList extends ffi.Struct {
/// The number of ranges in the \c ranges array.
@ffi.Uint32()
external int count;
/// An array of \c CXSourceRanges.
external ffi.Pointer<CXSourceRange> ranges;
}
class CXTUResourceUsageEntry extends ffi.Struct {
@ffi.Int32()
external int kind;
@ffi.Uint64()
external int amount;
}
/// The memory usage of a CXTranslationUnit, broken into categories.
class CXTUResourceUsage extends ffi.Struct {
external ffi.Pointer<ffi.Void> data;
@ffi.Uint32()
external int numEntries;
external ffi.Pointer<CXTUResourceUsageEntry> entries;
}
/// A cursor representing some element in the abstract syntax tree for
/// a translation unit.
///
/// The cursor abstraction unifies the different kinds of entities in a
/// program--declaration, statements, expressions, references to declarations,
/// etc.--under a single "cursor" abstraction with a common set of operations.
/// Common operation for a cursor include: getting the physical location in
/// a source file where the cursor points, getting the name associated with a
/// cursor, and retrieving cursors for any child nodes of a particular cursor.
///
/// Cursors can be produced in two specific ways.
/// clang_getTranslationUnitCursor() produces a cursor for a translation unit,
/// from which one can use clang_visitChildren() to explore the rest of the
/// translation unit. clang_getCursor() maps from a physical source location
/// to the entity that resides at that location, allowing one to map from the
/// source code into the AST.
class CXCursor extends ffi.Struct {
@ffi.Int32()
external int kind;
@ffi.Int32()
external int xdata;
external ffi.Pointer<ffi.Void> _unique_data_item_0;
external ffi.Pointer<ffi.Void> _unique_data_item_1;
external ffi.Pointer<ffi.Void> _unique_data_item_2;
/// Helper for array `data`.
ArrayHelper_CXCursor_data_level0 get data =>
ArrayHelper_CXCursor_data_level0(this, [3], 0, 0);
}
/// Helper for array `data` in struct `CXCursor`.
class ArrayHelper_CXCursor_data_level0 {
final CXCursor _struct;
final List<int> dimensions;
final int level;
final int _absoluteIndex;
int get length => dimensions[level];
ArrayHelper_CXCursor_data_level0(
this._struct, this.dimensions, this.level, this._absoluteIndex);
void _checkBounds(int index) {
if (index >= length || index < 0) {
throw RangeError(
'Dimension $level: index not in range 0..${length} exclusive.');
}
}
ffi.Pointer<ffi.Void> operator [](int index) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
return _struct._unique_data_item_0;
case 1:
return _struct._unique_data_item_1;
case 2:
return _struct._unique_data_item_2;
default:
throw Exception('Invalid Array Helper generated.');
}
}
void operator []=(int index, ffi.Pointer<ffi.Void> value) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
_struct._unique_data_item_0 = value;
break;
case 1:
_struct._unique_data_item_1 = value;
break;
case 2:
_struct._unique_data_item_2 = value;
break;
default:
throw Exception('Invalid Array Helper generated.');
}
}
}
/// Describes the availability of a given entity on a particular platform, e.g.,
/// a particular class might only be available on Mac OS 10.7 or newer.
class CXPlatformAvailability extends ffi.Struct {
/// A string that describes the platform for which this structure
/// provides availability information.
///
/// Possible values are "ios" or "macos".
external CXString Platform;
/// The version number in which this entity was introduced.
external CXVersion Introduced;
/// The version number in which this entity was deprecated (but is
/// still available).
external CXVersion Deprecated;
/// The version number in which this entity was obsoleted, and therefore
/// is no longer available.
external CXVersion Obsoleted;
/// Whether the entity is unconditionally unavailable on this platform.
@ffi.Int32()
external int Unavailable;
/// An optional message to provide to a user of this API, e.g., to
/// suggest replacement APIs.
external CXString Message;
}
class CXCursorSetImpl extends ffi.Struct {}
/// Describes the kind of type
abstract class CXTypeKind {
/// Represents an invalid type (e.g., where no type is available).
static const int CXType_Invalid = 0;
/// A type whose specific kind is not exposed via this
/// interface.
static const int CXType_Unexposed = 1;
static const int CXType_Void = 2;
static const int CXType_Bool = 3;
static const int CXType_Char_U = 4;
static const int CXType_UChar = 5;
static const int CXType_Char16 = 6;
static const int CXType_Char32 = 7;
static const int CXType_UShort = 8;
static const int CXType_UInt = 9;
static const int CXType_ULong = 10;
static const int CXType_ULongLong = 11;
static const int CXType_UInt128 = 12;
static const int CXType_Char_S = 13;
static const int CXType_SChar = 14;
static const int CXType_WChar = 15;
static const int CXType_Short = 16;
static const int CXType_Int = 17;
static const int CXType_Long = 18;
static const int CXType_LongLong = 19;
static const int CXType_Int128 = 20;
static const int CXType_Float = 21;
static const int CXType_Double = 22;
static const int CXType_LongDouble = 23;
static const int CXType_NullPtr = 24;
static const int CXType_Overload = 25;
static const int CXType_Dependent = 26;
static const int CXType_ObjCId = 27;
static const int CXType_ObjCClass = 28;
static const int CXType_ObjCSel = 29;
static const int CXType_Float128 = 30;
static const int CXType_Half = 31;
static const int CXType_Float16 = 32;
static const int CXType_ShortAccum = 33;
static const int CXType_Accum = 34;
static const int CXType_LongAccum = 35;
static const int CXType_UShortAccum = 36;
static const int CXType_UAccum = 37;
static const int CXType_ULongAccum = 38;
static const int CXType_FirstBuiltin = 2;
static const int CXType_LastBuiltin = 38;
static const int CXType_Complex = 100;
static const int CXType_Pointer = 101;
static const int CXType_BlockPointer = 102;
static const int CXType_LValueReference = 103;
static const int CXType_RValueReference = 104;
static const int CXType_Record = 105;
static const int CXType_Enum = 106;
static const int CXType_Typedef = 107;
static const int CXType_ObjCInterface = 108;
static const int CXType_ObjCObjectPointer = 109;
static const int CXType_FunctionNoProto = 110;
static const int CXType_FunctionProto = 111;
static const int CXType_ConstantArray = 112;
static const int CXType_Vector = 113;
static const int CXType_IncompleteArray = 114;
static const int CXType_VariableArray = 115;
static const int CXType_DependentSizedArray = 116;
static const int CXType_MemberPointer = 117;
static const int CXType_Auto = 118;
/// Represents a type that was referred to using an elaborated type keyword.
///
/// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
static const int CXType_Elaborated = 119;
static const int CXType_Pipe = 120;
static const int CXType_OCLImage1dRO = 121;
static const int CXType_OCLImage1dArrayRO = 122;
static const int CXType_OCLImage1dBufferRO = 123;
static const int CXType_OCLImage2dRO = 124;
static const int CXType_OCLImage2dArrayRO = 125;
static const int CXType_OCLImage2dDepthRO = 126;
static const int CXType_OCLImage2dArrayDepthRO = 127;
static const int CXType_OCLImage2dMSAARO = 128;
static const int CXType_OCLImage2dArrayMSAARO = 129;
static const int CXType_OCLImage2dMSAADepthRO = 130;
static const int CXType_OCLImage2dArrayMSAADepthRO = 131;
static const int CXType_OCLImage3dRO = 132;
static const int CXType_OCLImage1dWO = 133;
static const int CXType_OCLImage1dArrayWO = 134;
static const int CXType_OCLImage1dBufferWO = 135;
static const int CXType_OCLImage2dWO = 136;
static const int CXType_OCLImage2dArrayWO = 137;
static const int CXType_OCLImage2dDepthWO = 138;
static const int CXType_OCLImage2dArrayDepthWO = 139;
static const int CXType_OCLImage2dMSAAWO = 140;
static const int CXType_OCLImage2dArrayMSAAWO = 141;
static const int CXType_OCLImage2dMSAADepthWO = 142;
static const int CXType_OCLImage2dArrayMSAADepthWO = 143;
static const int CXType_OCLImage3dWO = 144;
static const int CXType_OCLImage1dRW = 145;
static const int CXType_OCLImage1dArrayRW = 146;
static const int CXType_OCLImage1dBufferRW = 147;
static const int CXType_OCLImage2dRW = 148;
static const int CXType_OCLImage2dArrayRW = 149;
static const int CXType_OCLImage2dDepthRW = 150;
static const int CXType_OCLImage2dArrayDepthRW = 151;
static const int CXType_OCLImage2dMSAARW = 152;
static const int CXType_OCLImage2dArrayMSAARW = 153;
static const int CXType_OCLImage2dMSAADepthRW = 154;
static const int CXType_OCLImage2dArrayMSAADepthRW = 155;
static const int CXType_OCLImage3dRW = 156;
static const int CXType_OCLSampler = 157;
static const int CXType_OCLEvent = 158;
static const int CXType_OCLQueue = 159;
static const int CXType_OCLReserveID = 160;
static const int CXType_ObjCObject = 161;
static const int CXType_ObjCTypeParam = 162;
static const int CXType_Attributed = 163;
static const int CXType_OCLIntelSubgroupAVCMcePayload = 164;
static const int CXType_OCLIntelSubgroupAVCImePayload = 165;
static const int CXType_OCLIntelSubgroupAVCRefPayload = 166;
static const int CXType_OCLIntelSubgroupAVCSicPayload = 167;
static const int CXType_OCLIntelSubgroupAVCMceResult = 168;
static const int CXType_OCLIntelSubgroupAVCImeResult = 169;
static const int CXType_OCLIntelSubgroupAVCRefResult = 170;
static const int CXType_OCLIntelSubgroupAVCSicResult = 171;
static const int CXType_OCLIntelSubgroupAVCImeResultSingleRefStreamout = 172;
static const int CXType_OCLIntelSubgroupAVCImeResultDualRefStreamout = 173;
static const int CXType_OCLIntelSubgroupAVCImeSingleRefStreamin = 174;
static const int CXType_OCLIntelSubgroupAVCImeDualRefStreamin = 175;
static const int CXType_ExtVector = 176;
}
/// The type of an element in the abstract syntax tree.
class CXType extends ffi.Struct {
@ffi.Int32()
external int kind;
external ffi.Pointer<ffi.Void> _unique_data_item_0;
external ffi.Pointer<ffi.Void> _unique_data_item_1;
/// Helper for array `data`.
ArrayHelper_CXType_data_level0 get data =>
ArrayHelper_CXType_data_level0(this, [2], 0, 0);
}
/// Helper for array `data` in struct `CXType`.
class ArrayHelper_CXType_data_level0 {
final CXType _struct;
final List<int> dimensions;
final int level;
final int _absoluteIndex;
int get length => dimensions[level];
ArrayHelper_CXType_data_level0(
this._struct, this.dimensions, this.level, this._absoluteIndex);
void _checkBounds(int index) {
if (index >= length || index < 0) {
throw RangeError(
'Dimension $level: index not in range 0..${length} exclusive.');
}
}
ffi.Pointer<ffi.Void> operator [](int index) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
return _struct._unique_data_item_0;
case 1:
return _struct._unique_data_item_1;
default:
throw Exception('Invalid Array Helper generated.');
}
}
void operator []=(int index, ffi.Pointer<ffi.Void> value) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
_struct._unique_data_item_0 = value;
break;
case 1:
_struct._unique_data_item_1 = value;
break;
default:
throw Exception('Invalid Array Helper generated.');
}
}
}
/// Describes a single preprocessing token.
class CXToken extends ffi.Struct {
@ffi.Uint32()
external int _unique_int_data_item_0;
@ffi.Uint32()
external int _unique_int_data_item_1;
@ffi.Uint32()
external int _unique_int_data_item_2;
@ffi.Uint32()
external int _unique_int_data_item_3;
/// Helper for array `int_data`.
ArrayHelper_CXToken_int_data_level0 get int_data =>
ArrayHelper_CXToken_int_data_level0(this, [4], 0, 0);
external ffi.Pointer<ffi.Void> ptr_data;
}
/// Helper for array `int_data` in struct `CXToken`.
class ArrayHelper_CXToken_int_data_level0 {
final CXToken _struct;
final List<int> dimensions;
final int level;
final int _absoluteIndex;
int get length => dimensions[level];
ArrayHelper_CXToken_int_data_level0(
this._struct, this.dimensions, this.level, this._absoluteIndex);
void _checkBounds(int index) {
if (index >= length || index < 0) {
throw RangeError(
'Dimension $level: index not in range 0..${length} exclusive.');
}
}
int operator [](int index) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
return _struct._unique_int_data_item_0;
case 1:
return _struct._unique_int_data_item_1;
case 2:
return _struct._unique_int_data_item_2;
case 3:
return _struct._unique_int_data_item_3;
default:
throw Exception('Invalid Array Helper generated.');
}
}
void operator []=(int index, int value) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
_struct._unique_int_data_item_0 = value;
break;
case 1:
_struct._unique_int_data_item_1 = value;
break;
case 2:
_struct._unique_int_data_item_2 = value;
break;
case 3:
_struct._unique_int_data_item_3 = value;
break;
default:
throw Exception('Invalid Array Helper generated.');
}
}
}
/// A single result of code completion.
class CXCompletionResult extends ffi.Struct {
/// The kind of entity that this completion refers to.
///
/// The cursor kind will be a macro, keyword, or a declaration (one of the
/// *Decl cursor kinds), describing the entity that the completion is
/// referring to.
///
/// \todo In the future, we would like to provide a full cursor, to allow
/// the client to extract additional information from declaration.
@ffi.Int32()
external int CursorKind;
/// The code-completion string that describes how to insert this
/// code-completion result into the editing buffer.
external ffi.Pointer<ffi.Void> CompletionString;
}
/// Contains the results of code-completion.
///
/// This data structure contains the results of code completion, as
/// produced by \c clang_codeCompleteAt(). Its contents must be freed by
/// \c clang_disposeCodeCompleteResults.
class CXCodeCompleteResults extends ffi.Struct {
/// The code-completion results.
external ffi.Pointer<CXCompletionResult> Results;
/// The number of code-completion results stored in the
/// \c Results array.
@ffi.Uint32()
external int NumResults;
}
class CXCursorAndRangeVisitor extends ffi.Struct {
external ffi.Pointer<ffi.Void> context;
external ffi.Pointer<ffi.NativeFunction<_typedefC_2>> visit;
}
/// Source location passed to index callbacks.
class CXIdxLoc extends ffi.Struct {
external ffi.Pointer<ffi.Void> _unique_ptr_data_item_0;
external ffi.Pointer<ffi.Void> _unique_ptr_data_item_1;
/// Helper for array `ptr_data`.
ArrayHelper_CXIdxLoc_ptr_data_level0 get ptr_data =>
ArrayHelper_CXIdxLoc_ptr_data_level0(this, [2], 0, 0);
@ffi.Uint32()
external int int_data;
}
/// Helper for array `ptr_data` in struct `CXIdxLoc`.
class ArrayHelper_CXIdxLoc_ptr_data_level0 {
final CXIdxLoc _struct;
final List<int> dimensions;
final int level;
final int _absoluteIndex;
int get length => dimensions[level];
ArrayHelper_CXIdxLoc_ptr_data_level0(
this._struct, this.dimensions, this.level, this._absoluteIndex);
void _checkBounds(int index) {
if (index >= length || index < 0) {
throw RangeError(
'Dimension $level: index not in range 0..${length} exclusive.');
}
}
ffi.Pointer<ffi.Void> operator [](int index) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
return _struct._unique_ptr_data_item_0;
case 1:
return _struct._unique_ptr_data_item_1;
default:
throw Exception('Invalid Array Helper generated.');
}
}
void operator []=(int index, ffi.Pointer<ffi.Void> value) {
_checkBounds(index);
switch (_absoluteIndex + index) {
case 0:
_struct._unique_ptr_data_item_0 = value;
break;
case 1:
_struct._unique_ptr_data_item_1 = value;
break;
default:
throw Exception('Invalid Array Helper generated.');
}
}
}
/// Data for ppIncludedFile callback.
class CXIdxIncludedFileInfo extends ffi.Struct {
/// Location of '#' in the \#include/\#import directive.
external CXIdxLoc hashLoc;
/// Filename as written in the \#include/\#import directive.
external ffi.Pointer<ffi.Int8> filename;
/// The actual file that the \#include/\#import directive resolved to.
external ffi.Pointer<ffi.Void> file;
@ffi.Int32()
external int isImport;
@ffi.Int32()
external int isAngled;
/// Non-zero if the directive was automatically turned into a module
/// import.
@ffi.Int32()
external int isModuleImport;
}
/// Data for IndexerCallbacks#importedASTFile.
class CXIdxImportedASTFileInfo extends ffi.Struct {
/// Top level AST file containing the imported PCH, module or submodule.
external ffi.Pointer<ffi.Void> file;
/// The imported module or NULL if the AST file is a PCH.
external ffi.Pointer<ffi.Void> module;
/// Location where the file is imported. Applicable only for modules.
external CXIdxLoc loc;
/// Non-zero if an inclusion directive was automatically turned into
/// a module import. Applicable only for modules.
@ffi.Int32()
external int isImplicit;
}
class CXIdxAttrInfo extends ffi.Struct {
@ffi.Int32()
external int kind;
external CXCursor cursor;
external CXIdxLoc loc;
}
class CXIdxEntityInfo extends ffi.Struct {
@ffi.Int32()
external int kind;
@ffi.Int32()
external int templateKind;
@ffi.Int32()
external int lang;
external ffi.Pointer<ffi.Int8> name;
external ffi.Pointer<ffi.Int8> USR;
external CXCursor cursor;
external ffi.Pointer<ffi.Pointer<CXIdxAttrInfo>> attributes;
@ffi.Uint32()
external int numAttributes;
}
class CXIdxContainerInfo extends ffi.Struct {
external CXCursor cursor;
}
class CXIdxIBOutletCollectionAttrInfo extends ffi.Struct {
external ffi.Pointer<CXIdxAttrInfo> attrInfo;
external ffi.Pointer<CXIdxEntityInfo> objcClass;
external CXCursor classCursor;
external CXIdxLoc classLoc;
}
class CXIdxDeclInfo extends ffi.Struct {
external ffi.Pointer<CXIdxEntityInfo> entityInfo;
external CXCursor cursor;
external CXIdxLoc loc;
external ffi.Pointer<CXIdxContainerInfo> semanticContainer;
/// Generally same as #semanticContainer but can be different in
/// cases like out-of-line C++ member functions.
external ffi.Pointer<CXIdxContainerInfo> lexicalContainer;
@ffi.Int32()
external int isRedeclaration;
@ffi.Int32()
external int isDefinition;
@ffi.Int32()
external int isContainer;
external ffi.Pointer<CXIdxContainerInfo> declAsContainer;
/// Whether the declaration exists in code or was created implicitly
/// by the compiler, e.g. implicit Objective-C methods for properties.
@ffi.Int32()
external int isImplicit;
external ffi.Pointer<ffi.Pointer<CXIdxAttrInfo>> attributes;
@ffi.Uint32()
external int numAttributes;
@ffi.Uint32()
external int flags;
}
class CXIdxObjCContainerDeclInfo extends ffi.Struct {
external ffi.Pointer<CXIdxDeclInfo> declInfo;
@ffi.Int32()
external int kind;
}
class CXIdxBaseClassInfo extends ffi.Struct {
external ffi.Pointer<CXIdxEntityInfo> base;
external CXCursor cursor;
external CXIdxLoc loc;
}
class CXIdxObjCProtocolRefInfo extends ffi.Struct {
external ffi.Pointer<CXIdxEntityInfo> protocol;
external CXCursor cursor;
external CXIdxLoc loc;
}
class CXIdxObjCProtocolRefListInfo extends ffi.Struct {
external ffi.Pointer<ffi.Pointer<CXIdxObjCProtocolRefInfo>> protocols;
@ffi.Uint32()
external int numProtocols;
}
class CXIdxObjCInterfaceDeclInfo extends ffi.Struct {
external ffi.Pointer<CXIdxObjCContainerDeclInfo> containerInfo;
external ffi.Pointer<CXIdxBaseClassInfo> superInfo;
external ffi.Pointer<CXIdxObjCProtocolRefListInfo> protocols;
}
class CXIdxObjCCategoryDeclInfo extends ffi.Struct {
external ffi.Pointer<CXIdxObjCContainerDeclInfo> containerInfo;
external ffi.Pointer<CXIdxEntityInfo> objcClass;
external CXCursor classCursor;
external CXIdxLoc classLoc;
external ffi.Pointer<CXIdxObjCProtocolRefListInfo> protocols;
}
class CXIdxObjCPropertyDeclInfo extends ffi.Struct {
external ffi.Pointer<CXIdxDeclInfo> declInfo;
external ffi.Pointer<CXIdxEntityInfo> getter;
external ffi.Pointer<CXIdxEntityInfo> setter;
}
class CXIdxCXXClassDeclInfo extends ffi.Struct {
external ffi.Pointer<CXIdxDeclInfo> declInfo;
external ffi.Pointer<ffi.Pointer<CXIdxBaseClassInfo>> bases;
@ffi.Uint32()
external int numBases;
}
/// Data for IndexerCallbacks#indexEntityReference.
class CXIdxEntityRefInfo extends ffi.Struct {
@ffi.Int32()
external int kind;
/// Reference cursor.
external CXCursor cursor;
external CXIdxLoc loc;
/// The entity that gets referenced.
external ffi.Pointer<CXIdxEntityInfo> referencedEntity;
/// Immediate "parent" of the reference. For example:
///
/// \code
/// Foo *var;
/// \endcode
///
/// The parent of reference of type 'Foo' is the variable 'var'.
/// For references inside statement bodies of functions/methods,
/// the parentEntity will be the function/method.
external ffi.Pointer<CXIdxEntityInfo> parentEntity;
/// Lexical container context of the reference.
external ffi.Pointer<CXIdxContainerInfo> container;
/// Sets of symbol roles of the reference.
@ffi.Int32()
external int role;
}
/// A group of callbacks used by #clang_indexSourceFile and
/// #clang_indexTranslationUnit.
class IndexerCallbacks extends ffi.Struct {
/// Called periodically to check whether indexing should be aborted.
/// Should return 0 to continue, and non-zero to abort.
external ffi.Pointer<ffi.NativeFunction<_typedefC_3>> abortQuery;
/// Called at the end of indexing; passes the complete diagnostic set.
external ffi.Pointer<ffi.NativeFunction<_typedefC_4>> diagnostic;
external ffi.Pointer<ffi.NativeFunction<_typedefC_5>> enteredMainFile;
/// Called when a file gets \#included/\#imported.
external ffi.Pointer<ffi.NativeFunction<_typedefC_6>> ppIncludedFile;
/// Called when a AST file (PCH or module) gets imported.
///
/// AST files will not get indexed (there will not be callbacks to index all
/// the entities in an AST file). The recommended action is that, if the AST
/// file is not already indexed, to initiate a new indexing job specific to
/// the AST file.
external ffi.Pointer<ffi.NativeFunction<_typedefC_7>> importedASTFile;
/// Called at the beginning of indexing a translation unit.
external ffi.Pointer<ffi.NativeFunction<_typedefC_8>> startedTranslationUnit;
external ffi.Pointer<ffi.NativeFunction<_typedefC_9>> indexDeclaration;
/// Called to index a reference of an entity.
external ffi.Pointer<ffi.NativeFunction<_typedefC_10>> indexEntityReference;
}
const int CINDEX_VERSION_MAJOR = 0;
const int CINDEX_VERSION_MINOR = 59;
const int CINDEX_VERSION = 59;
const String CINDEX_VERSION_STRING = '0.59';
typedef _c_clang_getCString = ffi.Pointer<ffi.Int8> Function(
CXString string,
);
typedef _dart_clang_getCString = ffi.Pointer<ffi.Int8> Function(
CXString string,
);
typedef _c_clang_disposeString = ffi.Void Function(
CXString string,
);
typedef _dart_clang_disposeString = void Function(
CXString string,
);
typedef _c_clang_disposeStringSet = ffi.Void Function(
ffi.Pointer<CXStringSet> set_1,
);
typedef _dart_clang_disposeStringSet = void Function(
ffi.Pointer<CXStringSet> set_1,
);
typedef _c_clang_createIndex = ffi.Pointer<ffi.Void> Function(
ffi.Int32 excludeDeclarationsFromPCH,
ffi.Int32 displayDiagnostics,
);
typedef _dart_clang_createIndex = ffi.Pointer<ffi.Void> Function(
int excludeDeclarationsFromPCH,
int displayDiagnostics,
);
typedef _c_clang_disposeIndex = ffi.Void Function(
ffi.Pointer<ffi.Void> index,
);
typedef _dart_clang_disposeIndex = void Function(
ffi.Pointer<ffi.Void> index,
);
typedef _c_clang_CXIndex_setGlobalOptions = ffi.Void Function(
ffi.Pointer<ffi.Void> arg0,
ffi.Uint32 options,
);
typedef _dart_clang_CXIndex_setGlobalOptions = void Function(
ffi.Pointer<ffi.Void> arg0,
int options,
);
typedef _c_clang_CXIndex_getGlobalOptions = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _dart_clang_CXIndex_getGlobalOptions = int Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _c_clang_CXIndex_setInvocationEmissionPathOption = ffi.Void Function(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Int8> Path,
);
typedef _dart_clang_CXIndex_setInvocationEmissionPathOption = void Function(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Int8> Path,
);
typedef _c_clang_getFileName = CXString Function(
ffi.Pointer<ffi.Void> SFile,
);
typedef _dart_clang_getFileName = CXString Function(
ffi.Pointer<ffi.Void> SFile,
);
typedef _c_clang_getFileTime = ffi.Int64 Function(
ffi.Pointer<ffi.Void> SFile,
);
typedef _dart_clang_getFileTime = int Function(
ffi.Pointer<ffi.Void> SFile,
);
typedef _c_clang_getFileUniqueID = ffi.Int32 Function(
ffi.Pointer<ffi.Void> file,
ffi.Pointer<CXFileUniqueID> outID,
);
typedef _dart_clang_getFileUniqueID = int Function(
ffi.Pointer<ffi.Void> file,
ffi.Pointer<CXFileUniqueID> outID,
);
typedef _c_clang_isFileMultipleIncludeGuarded = ffi.Uint32 Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
);
typedef _dart_clang_isFileMultipleIncludeGuarded = int Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
);
typedef _c_clang_getFile = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Int8> file_name,
);
typedef _dart_clang_getFile = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Int8> file_name,
);
typedef _c_clang_getFileContents = ffi.Pointer<ffi.Int8> Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
ffi.Pointer<ffi.Uint64> size,
);
typedef _dart_clang_getFileContents = ffi.Pointer<ffi.Int8> Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
ffi.Pointer<ffi.Uint64> size,
);
typedef _c_clang_File_isEqual = ffi.Int32 Function(
ffi.Pointer<ffi.Void> file1,
ffi.Pointer<ffi.Void> file2,
);
typedef _dart_clang_File_isEqual = int Function(
ffi.Pointer<ffi.Void> file1,
ffi.Pointer<ffi.Void> file2,
);
typedef _c_clang_File_tryGetRealPathName = CXString Function(
ffi.Pointer<ffi.Void> file,
);
typedef _dart_clang_File_tryGetRealPathName = CXString Function(
ffi.Pointer<ffi.Void> file,
);
typedef _c_clang_getNullLocation = CXSourceLocation Function();
typedef _dart_clang_getNullLocation = CXSourceLocation Function();
typedef _c_clang_equalLocations = ffi.Uint32 Function(
CXSourceLocation loc1,
CXSourceLocation loc2,
);
typedef _dart_clang_equalLocations = int Function(
CXSourceLocation loc1,
CXSourceLocation loc2,
);
typedef _c_clang_getLocation = CXSourceLocation Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
ffi.Uint32 line,
ffi.Uint32 column,
);
typedef _dart_clang_getLocation = CXSourceLocation Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
int line,
int column,
);
typedef _c_clang_getLocationForOffset = CXSourceLocation Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
ffi.Uint32 offset,
);
typedef _dart_clang_getLocationForOffset = CXSourceLocation Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
int offset,
);
typedef _c_clang_Location_isInSystemHeader = ffi.Int32 Function(
CXSourceLocation location,
);
typedef _dart_clang_Location_isInSystemHeader = int Function(
CXSourceLocation location,
);
typedef _c_clang_Location_isFromMainFile = ffi.Int32 Function(
CXSourceLocation location,
);
typedef _dart_clang_Location_isFromMainFile = int Function(
CXSourceLocation location,
);
typedef _c_clang_getNullRange = CXSourceRange Function();
typedef _dart_clang_getNullRange = CXSourceRange Function();
typedef _c_clang_getRange = CXSourceRange Function(
CXSourceLocation begin,
CXSourceLocation end,
);
typedef _dart_clang_getRange = CXSourceRange Function(
CXSourceLocation begin,
CXSourceLocation end,
);
typedef _c_clang_equalRanges = ffi.Uint32 Function(
CXSourceRange range1,
CXSourceRange range2,
);
typedef _dart_clang_equalRanges = int Function(
CXSourceRange range1,
CXSourceRange range2,
);
typedef _c_clang_Range_isNull = ffi.Int32 Function(
CXSourceRange range,
);
typedef _dart_clang_Range_isNull = int Function(
CXSourceRange range,
);
typedef _c_clang_getExpansionLocation = ffi.Void Function(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
);
typedef _dart_clang_getExpansionLocation = void Function(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
);
typedef _c_clang_getPresumedLocation = ffi.Void Function(
CXSourceLocation location,
ffi.Pointer<CXString> filename,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
);
typedef _dart_clang_getPresumedLocation = void Function(
CXSourceLocation location,
ffi.Pointer<CXString> filename,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
);
typedef _c_clang_getInstantiationLocation = ffi.Void Function(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
);
typedef _dart_clang_getInstantiationLocation = void Function(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
);
typedef _c_clang_getSpellingLocation = ffi.Void Function(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
);
typedef _dart_clang_getSpellingLocation = void Function(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
);
typedef _c_clang_getFileLocation = ffi.Void Function(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
);
typedef _dart_clang_getFileLocation = void Function(
CXSourceLocation location,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
);
typedef _c_clang_getRangeStart = CXSourceLocation Function(
CXSourceRange range,
);
typedef _dart_clang_getRangeStart = CXSourceLocation Function(
CXSourceRange range,
);
typedef _c_clang_getRangeEnd = CXSourceLocation Function(
CXSourceRange range,
);
typedef _dart_clang_getRangeEnd = CXSourceLocation Function(
CXSourceRange range,
);
typedef _c_clang_getSkippedRanges = ffi.Pointer<CXSourceRangeList> Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
);
typedef _dart_clang_getSkippedRanges = ffi.Pointer<CXSourceRangeList> Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.Void> file,
);
typedef _c_clang_getAllSkippedRanges = ffi.Pointer<CXSourceRangeList> Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
);
typedef _dart_clang_getAllSkippedRanges = ffi.Pointer<CXSourceRangeList>
Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
);
typedef _c_clang_disposeSourceRangeList = ffi.Void Function(
ffi.Pointer<CXSourceRangeList> ranges,
);
typedef _dart_clang_disposeSourceRangeList = void Function(
ffi.Pointer<CXSourceRangeList> ranges,
);
typedef _c_clang_getNumDiagnosticsInSet = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> Diags,
);
typedef _dart_clang_getNumDiagnosticsInSet = int Function(
ffi.Pointer<ffi.Void> Diags,
);
typedef _c_clang_getDiagnosticInSet = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void> Diags,
ffi.Uint32 Index,
);
typedef _dart_clang_getDiagnosticInSet = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void> Diags,
int Index,
);
typedef _c_clang_loadDiagnostics = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Int8> file,
ffi.Pointer<ffi.Int32> error,
ffi.Pointer<CXString> errorString,
);
typedef _dart_clang_loadDiagnostics = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Int8> file,
ffi.Pointer<ffi.Int32> error,
ffi.Pointer<CXString> errorString,
);
typedef _c_clang_disposeDiagnosticSet = ffi.Void Function(
ffi.Pointer<ffi.Void> Diags,
);
typedef _dart_clang_disposeDiagnosticSet = void Function(
ffi.Pointer<ffi.Void> Diags,
);
typedef _c_clang_getChildDiagnostics = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void> D,
);
typedef _dart_clang_getChildDiagnostics = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void> D,
);
typedef _c_clang_getNumDiagnostics = ffi.Uint32 Function(
ffi.Pointer<CXTranslationUnitImpl> Unit,
);
typedef _dart_clang_getNumDiagnostics = int Function(
ffi.Pointer<CXTranslationUnitImpl> Unit,
);
typedef _c_clang_getDiagnostic = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXTranslationUnitImpl> Unit,
ffi.Uint32 Index,
);
typedef _dart_clang_getDiagnostic = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXTranslationUnitImpl> Unit,
int Index,
);
typedef _c_clang_getDiagnosticSetFromTU = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXTranslationUnitImpl> Unit,
);
typedef _dart_clang_getDiagnosticSetFromTU = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXTranslationUnitImpl> Unit,
);
typedef _c_clang_disposeDiagnostic = ffi.Void Function(
ffi.Pointer<ffi.Void> Diagnostic,
);
typedef _dart_clang_disposeDiagnostic = void Function(
ffi.Pointer<ffi.Void> Diagnostic,
);
typedef _c_clang_formatDiagnostic = CXString Function(
ffi.Pointer<ffi.Void> Diagnostic,
ffi.Uint32 Options,
);
typedef _dart_clang_formatDiagnostic = CXString Function(
ffi.Pointer<ffi.Void> Diagnostic,
int Options,
);
typedef _c_clang_defaultDiagnosticDisplayOptions = ffi.Uint32 Function();
typedef _dart_clang_defaultDiagnosticDisplayOptions = int Function();
typedef _c_clang_getDiagnosticSeverity = ffi.Int32 Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _dart_clang_getDiagnosticSeverity = int Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _c_clang_getDiagnosticLocation = CXSourceLocation Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _dart_clang_getDiagnosticLocation = CXSourceLocation Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _c_clang_getDiagnosticSpelling = CXString Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _dart_clang_getDiagnosticSpelling = CXString Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _c_clang_getDiagnosticOption = CXString Function(
ffi.Pointer<ffi.Void> Diag,
ffi.Pointer<CXString> Disable,
);
typedef _dart_clang_getDiagnosticOption = CXString Function(
ffi.Pointer<ffi.Void> Diag,
ffi.Pointer<CXString> Disable,
);
typedef _c_clang_getDiagnosticCategory = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _dart_clang_getDiagnosticCategory = int Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _c_clang_getDiagnosticCategoryName = CXString Function(
ffi.Uint32 Category,
);
typedef _dart_clang_getDiagnosticCategoryName = CXString Function(
int Category,
);
typedef _c_clang_getDiagnosticCategoryText = CXString Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _dart_clang_getDiagnosticCategoryText = CXString Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _c_clang_getDiagnosticNumRanges = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _dart_clang_getDiagnosticNumRanges = int Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _c_clang_getDiagnosticRange = CXSourceRange Function(
ffi.Pointer<ffi.Void> Diagnostic,
ffi.Uint32 Range,
);
typedef _dart_clang_getDiagnosticRange = CXSourceRange Function(
ffi.Pointer<ffi.Void> Diagnostic,
int Range,
);
typedef _c_clang_getDiagnosticNumFixIts = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> Diagnostic,
);
typedef _dart_clang_getDiagnosticNumFixIts = int Function(
ffi.Pointer<ffi.Void> Diagnostic,
);
typedef _c_clang_getDiagnosticFixIt = CXString Function(
ffi.Pointer<ffi.Void> Diagnostic,
ffi.Uint32 FixIt,
ffi.Pointer<CXSourceRange> ReplacementRange,
);
typedef _dart_clang_getDiagnosticFixIt = CXString Function(
ffi.Pointer<ffi.Void> Diagnostic,
int FixIt,
ffi.Pointer<CXSourceRange> ReplacementRange,
);
typedef _c_clang_getTranslationUnitSpelling = CXString Function(
ffi.Pointer<CXTranslationUnitImpl> CTUnit,
);
typedef _dart_clang_getTranslationUnitSpelling = CXString Function(
ffi.Pointer<CXTranslationUnitImpl> CTUnit,
);
typedef _c_clang_createTranslationUnitFromSourceFile
= ffi.Pointer<CXTranslationUnitImpl> Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Int32 num_clang_command_line_args,
ffi.Pointer<ffi.Pointer<ffi.Int8>> clang_command_line_args,
ffi.Uint32 num_unsaved_files,
ffi.Pointer<CXUnsavedFile> unsaved_files,
);
typedef _dart_clang_createTranslationUnitFromSourceFile
= ffi.Pointer<CXTranslationUnitImpl> Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
int num_clang_command_line_args,
ffi.Pointer<ffi.Pointer<ffi.Int8>> clang_command_line_args,
int num_unsaved_files,
ffi.Pointer<CXUnsavedFile> unsaved_files,
);
typedef _c_clang_createTranslationUnit = ffi.Pointer<CXTranslationUnitImpl>
Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> ast_filename,
);
typedef _dart_clang_createTranslationUnit = ffi.Pointer<CXTranslationUnitImpl>
Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> ast_filename,
);
typedef _c_clang_createTranslationUnit2 = ffi.Int32 Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> ast_filename,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
);
typedef _dart_clang_createTranslationUnit2 = int Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> ast_filename,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
);
typedef _c_clang_defaultEditingTranslationUnitOptions = ffi.Uint32 Function();
typedef _dart_clang_defaultEditingTranslationUnitOptions = int Function();
typedef _c_clang_parseTranslationUnit = ffi.Pointer<CXTranslationUnitImpl>
Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
ffi.Int32 num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
ffi.Uint32 num_unsaved_files,
ffi.Uint32 options,
);
typedef _dart_clang_parseTranslationUnit = ffi.Pointer<CXTranslationUnitImpl>
Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
int num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
int options,
);
typedef _c_clang_parseTranslationUnit2 = ffi.Int32 Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
ffi.Int32 num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
ffi.Uint32 num_unsaved_files,
ffi.Uint32 options,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
);
typedef _dart_clang_parseTranslationUnit2 = int Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
int num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
int options,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
);
typedef _c_clang_parseTranslationUnit2FullArgv = ffi.Int32 Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
ffi.Int32 num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
ffi.Uint32 num_unsaved_files,
ffi.Uint32 options,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
);
typedef _dart_clang_parseTranslationUnit2FullArgv = int Function(
ffi.Pointer<ffi.Void> CIdx,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
int num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
int options,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
);
typedef _c_clang_defaultSaveOptions = ffi.Uint32 Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
);
typedef _dart_clang_defaultSaveOptions = int Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
);
typedef _c_clang_saveTranslationUnit = ffi.Int32 Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<ffi.Int8> FileName,
ffi.Uint32 options,
);
typedef _dart_clang_saveTranslationUnit = int Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<ffi.Int8> FileName,
int options,
);
typedef _c_clang_suspendTranslationUnit = ffi.Uint32 Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
);
typedef _dart_clang_suspendTranslationUnit = int Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
);
typedef _c_clang_disposeTranslationUnit = ffi.Void Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
);
typedef _dart_clang_disposeTranslationUnit = void Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
);
typedef _c_clang_defaultReparseOptions = ffi.Uint32 Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
);
typedef _dart_clang_defaultReparseOptions = int Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
);
typedef _c_clang_reparseTranslationUnit = ffi.Int32 Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Uint32 num_unsaved_files,
ffi.Pointer<CXUnsavedFile> unsaved_files,
ffi.Uint32 options,
);
typedef _dart_clang_reparseTranslationUnit = int Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
int num_unsaved_files,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int options,
);
typedef _c_clang_getTUResourceUsageName = ffi.Pointer<ffi.Int8> Function(
ffi.Int32 kind,
);
typedef _dart_clang_getTUResourceUsageName = ffi.Pointer<ffi.Int8> Function(
int kind,
);
typedef _c_clang_getCXTUResourceUsage = CXTUResourceUsage Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
);
typedef _dart_clang_getCXTUResourceUsage = CXTUResourceUsage Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
);
typedef _c_clang_disposeCXTUResourceUsage = ffi.Void Function(
CXTUResourceUsage usage,
);
typedef _dart_clang_disposeCXTUResourceUsage = void Function(
CXTUResourceUsage usage,
);
typedef _c_clang_getTranslationUnitTargetInfo = ffi.Pointer<CXTargetInfoImpl>
Function(
ffi.Pointer<CXTranslationUnitImpl> CTUnit,
);
typedef _dart_clang_getTranslationUnitTargetInfo = ffi.Pointer<CXTargetInfoImpl>
Function(
ffi.Pointer<CXTranslationUnitImpl> CTUnit,
);
typedef _c_clang_TargetInfo_dispose = ffi.Void Function(
ffi.Pointer<CXTargetInfoImpl> Info,
);
typedef _dart_clang_TargetInfo_dispose = void Function(
ffi.Pointer<CXTargetInfoImpl> Info,
);
typedef _c_clang_TargetInfo_getTriple = CXString Function(
ffi.Pointer<CXTargetInfoImpl> Info,
);
typedef _dart_clang_TargetInfo_getTriple = CXString Function(
ffi.Pointer<CXTargetInfoImpl> Info,
);
typedef _c_clang_TargetInfo_getPointerWidth = ffi.Int32 Function(
ffi.Pointer<CXTargetInfoImpl> Info,
);
typedef _dart_clang_TargetInfo_getPointerWidth = int Function(
ffi.Pointer<CXTargetInfoImpl> Info,
);
typedef _c_clang_getNullCursor = CXCursor Function();
typedef _dart_clang_getNullCursor = CXCursor Function();
typedef _c_clang_getTranslationUnitCursor = CXCursor Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
);
typedef _dart_clang_getTranslationUnitCursor = CXCursor Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
);
typedef _c_clang_equalCursors = ffi.Uint32 Function(
CXCursor arg0,
CXCursor arg1,
);
typedef _dart_clang_equalCursors = int Function(
CXCursor arg0,
CXCursor arg1,
);
typedef _c_clang_Cursor_isNull = ffi.Int32 Function(
CXCursor cursor,
);
typedef _dart_clang_Cursor_isNull = int Function(
CXCursor cursor,
);
typedef _c_clang_hashCursor = ffi.Uint32 Function(
CXCursor arg0,
);
typedef _dart_clang_hashCursor = int Function(
CXCursor arg0,
);
typedef _c_clang_getCursorKind = ffi.Int32 Function(
CXCursor arg0,
);
typedef _dart_clang_getCursorKind = int Function(
CXCursor arg0,
);
typedef _c_clang_isDeclaration = ffi.Uint32 Function(
ffi.Int32 arg0,
);
typedef _dart_clang_isDeclaration = int Function(
int arg0,
);
typedef _c_clang_isInvalidDeclaration = ffi.Uint32 Function(
CXCursor arg0,
);
typedef _dart_clang_isInvalidDeclaration = int Function(
CXCursor arg0,
);
typedef _c_clang_isReference = ffi.Uint32 Function(
ffi.Int32 arg0,
);
typedef _dart_clang_isReference = int Function(
int arg0,
);
typedef _c_clang_isExpression = ffi.Uint32 Function(
ffi.Int32 arg0,
);
typedef _dart_clang_isExpression = int Function(
int arg0,
);
typedef _c_clang_isStatement = ffi.Uint32 Function(
ffi.Int32 arg0,
);
typedef _dart_clang_isStatement = int Function(
int arg0,
);
typedef _c_clang_isAttribute = ffi.Uint32 Function(
ffi.Int32 arg0,
);
typedef _dart_clang_isAttribute = int Function(
int arg0,
);
typedef _c_clang_Cursor_hasAttrs = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_hasAttrs = int Function(
CXCursor C,
);
typedef _c_clang_isInvalid = ffi.Uint32 Function(
ffi.Int32 arg0,
);
typedef _dart_clang_isInvalid = int Function(
int arg0,
);
typedef _c_clang_isTranslationUnit = ffi.Uint32 Function(
ffi.Int32 arg0,
);
typedef _dart_clang_isTranslationUnit = int Function(
int arg0,
);
typedef _c_clang_isPreprocessing = ffi.Uint32 Function(
ffi.Int32 arg0,
);
typedef _dart_clang_isPreprocessing = int Function(
int arg0,
);
typedef _c_clang_isUnexposed = ffi.Uint32 Function(
ffi.Int32 arg0,
);
typedef _dart_clang_isUnexposed = int Function(
int arg0,
);
typedef _c_clang_getCursorLinkage = ffi.Int32 Function(
CXCursor cursor,
);
typedef _dart_clang_getCursorLinkage = int Function(
CXCursor cursor,
);
typedef _c_clang_getCursorVisibility = ffi.Int32 Function(
CXCursor cursor,
);
typedef _dart_clang_getCursorVisibility = int Function(
CXCursor cursor,
);
typedef _c_clang_getCursorAvailability = ffi.Int32 Function(
CXCursor cursor,
);
typedef _dart_clang_getCursorAvailability = int Function(
CXCursor cursor,
);
typedef _c_clang_getCursorPlatformAvailability = ffi.Int32 Function(
CXCursor cursor,
ffi.Pointer<ffi.Int32> always_deprecated,
ffi.Pointer<CXString> deprecated_message,
ffi.Pointer<ffi.Int32> always_unavailable,
ffi.Pointer<CXString> unavailable_message,
ffi.Pointer<CXPlatformAvailability> availability,
ffi.Int32 availability_size,
);
typedef _dart_clang_getCursorPlatformAvailability = int Function(
CXCursor cursor,
ffi.Pointer<ffi.Int32> always_deprecated,
ffi.Pointer<CXString> deprecated_message,
ffi.Pointer<ffi.Int32> always_unavailable,
ffi.Pointer<CXString> unavailable_message,
ffi.Pointer<CXPlatformAvailability> availability,
int availability_size,
);
typedef _c_clang_disposeCXPlatformAvailability = ffi.Void Function(
ffi.Pointer<CXPlatformAvailability> availability,
);
typedef _dart_clang_disposeCXPlatformAvailability = void Function(
ffi.Pointer<CXPlatformAvailability> availability,
);
typedef _c_clang_getCursorLanguage = ffi.Int32 Function(
CXCursor cursor,
);
typedef _dart_clang_getCursorLanguage = int Function(
CXCursor cursor,
);
typedef _c_clang_getCursorTLSKind = ffi.Int32 Function(
CXCursor cursor,
);
typedef _dart_clang_getCursorTLSKind = int Function(
CXCursor cursor,
);
typedef _c_clang_Cursor_getTranslationUnit = ffi.Pointer<CXTranslationUnitImpl>
Function(
CXCursor arg0,
);
typedef _dart_clang_Cursor_getTranslationUnit
= ffi.Pointer<CXTranslationUnitImpl> Function(
CXCursor arg0,
);
typedef _c_clang_createCXCursorSet = ffi.Pointer<CXCursorSetImpl> Function();
typedef _dart_clang_createCXCursorSet = ffi.Pointer<CXCursorSetImpl> Function();
typedef _c_clang_disposeCXCursorSet = ffi.Void Function(
ffi.Pointer<CXCursorSetImpl> cset,
);
typedef _dart_clang_disposeCXCursorSet = void Function(
ffi.Pointer<CXCursorSetImpl> cset,
);
typedef _c_clang_CXCursorSet_contains = ffi.Uint32 Function(
ffi.Pointer<CXCursorSetImpl> cset,
CXCursor cursor,
);
typedef _dart_clang_CXCursorSet_contains = int Function(
ffi.Pointer<CXCursorSetImpl> cset,
CXCursor cursor,
);
typedef _c_clang_CXCursorSet_insert = ffi.Uint32 Function(
ffi.Pointer<CXCursorSetImpl> cset,
CXCursor cursor,
);
typedef _dart_clang_CXCursorSet_insert = int Function(
ffi.Pointer<CXCursorSetImpl> cset,
CXCursor cursor,
);
typedef _c_clang_getCursorSemanticParent = CXCursor Function(
CXCursor cursor,
);
typedef _dart_clang_getCursorSemanticParent = CXCursor Function(
CXCursor cursor,
);
typedef _c_clang_getCursorLexicalParent = CXCursor Function(
CXCursor cursor,
);
typedef _dart_clang_getCursorLexicalParent = CXCursor Function(
CXCursor cursor,
);
typedef _c_clang_getOverriddenCursors = ffi.Void Function(
CXCursor cursor,
ffi.Pointer<ffi.Pointer<CXCursor>> overridden,
ffi.Pointer<ffi.Uint32> num_overridden,
);
typedef _dart_clang_getOverriddenCursors = void Function(
CXCursor cursor,
ffi.Pointer<ffi.Pointer<CXCursor>> overridden,
ffi.Pointer<ffi.Uint32> num_overridden,
);
typedef _c_clang_disposeOverriddenCursors = ffi.Void Function(
ffi.Pointer<CXCursor> overridden,
);
typedef _dart_clang_disposeOverriddenCursors = void Function(
ffi.Pointer<CXCursor> overridden,
);
typedef _c_clang_getIncludedFile = ffi.Pointer<ffi.Void> Function(
CXCursor cursor,
);
typedef _dart_clang_getIncludedFile = ffi.Pointer<ffi.Void> Function(
CXCursor cursor,
);
typedef _c_clang_getCursor = CXCursor Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXSourceLocation arg1,
);
typedef _dart_clang_getCursor = CXCursor Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXSourceLocation arg1,
);
typedef _c_clang_getCursorLocation = CXSourceLocation Function(
CXCursor arg0,
);
typedef _dart_clang_getCursorLocation = CXSourceLocation Function(
CXCursor arg0,
);
typedef _c_clang_getCursorExtent = CXSourceRange Function(
CXCursor arg0,
);
typedef _dart_clang_getCursorExtent = CXSourceRange Function(
CXCursor arg0,
);
typedef _c_clang_getCursorType = CXType Function(
CXCursor C,
);
typedef _dart_clang_getCursorType = CXType Function(
CXCursor C,
);
typedef _c_clang_getTypeSpelling = CXString Function(
CXType CT,
);
typedef _dart_clang_getTypeSpelling = CXString Function(
CXType CT,
);
typedef _c_clang_getTypedefDeclUnderlyingType = CXType Function(
CXCursor C,
);
typedef _dart_clang_getTypedefDeclUnderlyingType = CXType Function(
CXCursor C,
);
typedef _c_clang_getEnumDeclIntegerType = CXType Function(
CXCursor C,
);
typedef _dart_clang_getEnumDeclIntegerType = CXType Function(
CXCursor C,
);
typedef _c_clang_getEnumConstantDeclValue = ffi.Int64 Function(
CXCursor C,
);
typedef _dart_clang_getEnumConstantDeclValue = int Function(
CXCursor C,
);
typedef _c_clang_getEnumConstantDeclUnsignedValue = ffi.Uint64 Function(
CXCursor C,
);
typedef _dart_clang_getEnumConstantDeclUnsignedValue = int Function(
CXCursor C,
);
typedef _c_clang_getFieldDeclBitWidth = ffi.Int32 Function(
CXCursor C,
);
typedef _dart_clang_getFieldDeclBitWidth = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_getNumArguments = ffi.Int32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getNumArguments = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_getArgument = CXCursor Function(
CXCursor C,
ffi.Uint32 i,
);
typedef _dart_clang_Cursor_getArgument = CXCursor Function(
CXCursor C,
int i,
);
typedef _c_clang_Cursor_getNumTemplateArguments = ffi.Int32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getNumTemplateArguments = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_getTemplateArgumentKind = ffi.Int32 Function(
CXCursor C,
ffi.Uint32 I,
);
typedef _dart_clang_Cursor_getTemplateArgumentKind = int Function(
CXCursor C,
int I,
);
typedef _c_clang_Cursor_getTemplateArgumentType = CXType Function(
CXCursor C,
ffi.Uint32 I,
);
typedef _dart_clang_Cursor_getTemplateArgumentType = CXType Function(
CXCursor C,
int I,
);
typedef _c_clang_Cursor_getTemplateArgumentValue = ffi.Int64 Function(
CXCursor C,
ffi.Uint32 I,
);
typedef _dart_clang_Cursor_getTemplateArgumentValue = int Function(
CXCursor C,
int I,
);
typedef _c_clang_Cursor_getTemplateArgumentUnsignedValue = ffi.Uint64 Function(
CXCursor C,
ffi.Uint32 I,
);
typedef _dart_clang_Cursor_getTemplateArgumentUnsignedValue = int Function(
CXCursor C,
int I,
);
typedef _c_clang_equalTypes = ffi.Uint32 Function(
CXType A,
CXType B,
);
typedef _dart_clang_equalTypes = int Function(
CXType A,
CXType B,
);
typedef _c_clang_getCanonicalType = CXType Function(
CXType T,
);
typedef _dart_clang_getCanonicalType = CXType Function(
CXType T,
);
typedef _c_clang_isConstQualifiedType = ffi.Uint32 Function(
CXType T,
);
typedef _dart_clang_isConstQualifiedType = int Function(
CXType T,
);
typedef _c_clang_Cursor_isMacroFunctionLike = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_isMacroFunctionLike = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_isMacroBuiltin = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_isMacroBuiltin = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_isFunctionInlined = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_isFunctionInlined = int Function(
CXCursor C,
);
typedef _c_clang_isVolatileQualifiedType = ffi.Uint32 Function(
CXType T,
);
typedef _dart_clang_isVolatileQualifiedType = int Function(
CXType T,
);
typedef _c_clang_isRestrictQualifiedType = ffi.Uint32 Function(
CXType T,
);
typedef _dart_clang_isRestrictQualifiedType = int Function(
CXType T,
);
typedef _c_clang_getAddressSpace = ffi.Uint32 Function(
CXType T,
);
typedef _dart_clang_getAddressSpace = int Function(
CXType T,
);
typedef _c_clang_getTypedefName = CXString Function(
CXType CT,
);
typedef _dart_clang_getTypedefName = CXString Function(
CXType CT,
);
typedef _c_clang_getPointeeType = CXType Function(
CXType T,
);
typedef _dart_clang_getPointeeType = CXType Function(
CXType T,
);
typedef _c_clang_getTypeDeclaration = CXCursor Function(
CXType T,
);
typedef _dart_clang_getTypeDeclaration = CXCursor Function(
CXType T,
);
typedef _c_clang_getDeclObjCTypeEncoding = CXString Function(
CXCursor C,
);
typedef _dart_clang_getDeclObjCTypeEncoding = CXString Function(
CXCursor C,
);
typedef _c_clang_Type_getObjCEncoding = CXString Function(
CXType type,
);
typedef _dart_clang_Type_getObjCEncoding = CXString Function(
CXType type,
);
typedef _c_clang_getTypeKindSpelling = CXString Function(
ffi.Int32 K,
);
typedef _dart_clang_getTypeKindSpelling = CXString Function(
int K,
);
typedef _c_clang_getFunctionTypeCallingConv = ffi.Int32 Function(
CXType T,
);
typedef _dart_clang_getFunctionTypeCallingConv = int Function(
CXType T,
);
typedef _c_clang_getResultType = CXType Function(
CXType T,
);
typedef _dart_clang_getResultType = CXType Function(
CXType T,
);
typedef _c_clang_getExceptionSpecificationType = ffi.Int32 Function(
CXType T,
);
typedef _dart_clang_getExceptionSpecificationType = int Function(
CXType T,
);
typedef _c_clang_getNumArgTypes = ffi.Int32 Function(
CXType T,
);
typedef _dart_clang_getNumArgTypes = int Function(
CXType T,
);
typedef _c_clang_getArgType = CXType Function(
CXType T,
ffi.Uint32 i,
);
typedef _dart_clang_getArgType = CXType Function(
CXType T,
int i,
);
typedef _c_clang_Type_getObjCObjectBaseType = CXType Function(
CXType T,
);
typedef _dart_clang_Type_getObjCObjectBaseType = CXType Function(
CXType T,
);
typedef _c_clang_Type_getNumObjCProtocolRefs = ffi.Uint32 Function(
CXType T,
);
typedef _dart_clang_Type_getNumObjCProtocolRefs = int Function(
CXType T,
);
typedef _c_clang_Type_getObjCProtocolDecl = CXCursor Function(
CXType T,
ffi.Uint32 i,
);
typedef _dart_clang_Type_getObjCProtocolDecl = CXCursor Function(
CXType T,
int i,
);
typedef _c_clang_Type_getNumObjCTypeArgs = ffi.Uint32 Function(
CXType T,
);
typedef _dart_clang_Type_getNumObjCTypeArgs = int Function(
CXType T,
);
typedef _c_clang_Type_getObjCTypeArg = CXType Function(
CXType T,
ffi.Uint32 i,
);
typedef _dart_clang_Type_getObjCTypeArg = CXType Function(
CXType T,
int i,
);
typedef _c_clang_isFunctionTypeVariadic = ffi.Uint32 Function(
CXType T,
);
typedef _dart_clang_isFunctionTypeVariadic = int Function(
CXType T,
);
typedef _c_clang_getCursorResultType = CXType Function(
CXCursor C,
);
typedef _dart_clang_getCursorResultType = CXType Function(
CXCursor C,
);
typedef _c_clang_getCursorExceptionSpecificationType = ffi.Int32 Function(
CXCursor C,
);
typedef _dart_clang_getCursorExceptionSpecificationType = int Function(
CXCursor C,
);
typedef _c_clang_isPODType = ffi.Uint32 Function(
CXType T,
);
typedef _dart_clang_isPODType = int Function(
CXType T,
);
typedef _c_clang_getElementType = CXType Function(
CXType T,
);
typedef _dart_clang_getElementType = CXType Function(
CXType T,
);
typedef _c_clang_getNumElements = ffi.Int64 Function(
CXType T,
);
typedef _dart_clang_getNumElements = int Function(
CXType T,
);
typedef _c_clang_getArrayElementType = CXType Function(
CXType T,
);
typedef _dart_clang_getArrayElementType = CXType Function(
CXType T,
);
typedef _c_clang_getArraySize = ffi.Int64 Function(
CXType T,
);
typedef _dart_clang_getArraySize = int Function(
CXType T,
);
typedef _c_clang_Type_getNamedType = CXType Function(
CXType T,
);
typedef _dart_clang_Type_getNamedType = CXType Function(
CXType T,
);
typedef _c_clang_Type_isTransparentTagTypedef = ffi.Uint32 Function(
CXType T,
);
typedef _dart_clang_Type_isTransparentTagTypedef = int Function(
CXType T,
);
typedef _c_clang_Type_getNullability = ffi.Int32 Function(
CXType T,
);
typedef _dart_clang_Type_getNullability = int Function(
CXType T,
);
typedef _c_clang_Type_getAlignOf = ffi.Int64 Function(
CXType T,
);
typedef _dart_clang_Type_getAlignOf = int Function(
CXType T,
);
typedef _c_clang_Type_getClassType = CXType Function(
CXType T,
);
typedef _dart_clang_Type_getClassType = CXType Function(
CXType T,
);
typedef _c_clang_Type_getSizeOf = ffi.Int64 Function(
CXType T,
);
typedef _dart_clang_Type_getSizeOf = int Function(
CXType T,
);
typedef _c_clang_Type_getOffsetOf = ffi.Int64 Function(
CXType T,
ffi.Pointer<ffi.Int8> S,
);
typedef _dart_clang_Type_getOffsetOf = int Function(
CXType T,
ffi.Pointer<ffi.Int8> S,
);
typedef _c_clang_Type_getModifiedType = CXType Function(
CXType T,
);
typedef _dart_clang_Type_getModifiedType = CXType Function(
CXType T,
);
typedef _c_clang_Cursor_getOffsetOfField = ffi.Int64 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getOffsetOfField = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_isAnonymous = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_isAnonymous = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_isAnonymousRecordDecl = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_isAnonymousRecordDecl = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_isInlineNamespace = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_isInlineNamespace = int Function(
CXCursor C,
);
typedef _c_clang_Type_getNumTemplateArguments = ffi.Int32 Function(
CXType T,
);
typedef _dart_clang_Type_getNumTemplateArguments = int Function(
CXType T,
);
typedef _c_clang_Type_getTemplateArgumentAsType = CXType Function(
CXType T,
ffi.Uint32 i,
);
typedef _dart_clang_Type_getTemplateArgumentAsType = CXType Function(
CXType T,
int i,
);
typedef _c_clang_Type_getCXXRefQualifier = ffi.Int32 Function(
CXType T,
);
typedef _dart_clang_Type_getCXXRefQualifier = int Function(
CXType T,
);
typedef _c_clang_Cursor_isBitField = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_isBitField = int Function(
CXCursor C,
);
typedef _c_clang_isVirtualBase = ffi.Uint32 Function(
CXCursor arg0,
);
typedef _dart_clang_isVirtualBase = int Function(
CXCursor arg0,
);
typedef _c_clang_getCXXAccessSpecifier = ffi.Int32 Function(
CXCursor arg0,
);
typedef _dart_clang_getCXXAccessSpecifier = int Function(
CXCursor arg0,
);
typedef _c_clang_Cursor_getStorageClass = ffi.Int32 Function(
CXCursor arg0,
);
typedef _dart_clang_Cursor_getStorageClass = int Function(
CXCursor arg0,
);
typedef _c_clang_getNumOverloadedDecls = ffi.Uint32 Function(
CXCursor cursor,
);
typedef _dart_clang_getNumOverloadedDecls = int Function(
CXCursor cursor,
);
typedef _c_clang_getOverloadedDecl = CXCursor Function(
CXCursor cursor,
ffi.Uint32 index,
);
typedef _dart_clang_getOverloadedDecl = CXCursor Function(
CXCursor cursor,
int index,
);
typedef _c_clang_getIBOutletCollectionType = CXType Function(
CXCursor arg0,
);
typedef _dart_clang_getIBOutletCollectionType = CXType Function(
CXCursor arg0,
);
typedef CXCursorVisitor = ffi.Int32 Function(
CXCursor,
CXCursor,
ffi.Pointer<ffi.Void>,
);
typedef _c_clang_visitChildren = ffi.Uint32 Function(
CXCursor parent,
ffi.Pointer<ffi.NativeFunction<CXCursorVisitor>> visitor,
ffi.Pointer<ffi.Void> client_data,
);
typedef _dart_clang_visitChildren = int Function(
CXCursor parent,
ffi.Pointer<ffi.NativeFunction<CXCursorVisitor>> visitor,
ffi.Pointer<ffi.Void> client_data,
);
typedef _c_clang_getCursorUSR = CXString Function(
CXCursor arg0,
);
typedef _dart_clang_getCursorUSR = CXString Function(
CXCursor arg0,
);
typedef _c_clang_constructUSR_ObjCClass = CXString Function(
ffi.Pointer<ffi.Int8> class_name,
);
typedef _dart_clang_constructUSR_ObjCClass = CXString Function(
ffi.Pointer<ffi.Int8> class_name,
);
typedef _c_clang_constructUSR_ObjCCategory = CXString Function(
ffi.Pointer<ffi.Int8> class_name,
ffi.Pointer<ffi.Int8> category_name,
);
typedef _dart_clang_constructUSR_ObjCCategory = CXString Function(
ffi.Pointer<ffi.Int8> class_name,
ffi.Pointer<ffi.Int8> category_name,
);
typedef _c_clang_constructUSR_ObjCProtocol = CXString Function(
ffi.Pointer<ffi.Int8> protocol_name,
);
typedef _dart_clang_constructUSR_ObjCProtocol = CXString Function(
ffi.Pointer<ffi.Int8> protocol_name,
);
typedef _c_clang_constructUSR_ObjCIvar = CXString Function(
ffi.Pointer<ffi.Int8> name,
CXString classUSR,
);
typedef _dart_clang_constructUSR_ObjCIvar = CXString Function(
ffi.Pointer<ffi.Int8> name,
CXString classUSR,
);
typedef _c_clang_constructUSR_ObjCMethod = CXString Function(
ffi.Pointer<ffi.Int8> name,
ffi.Uint32 isInstanceMethod,
CXString classUSR,
);
typedef _dart_clang_constructUSR_ObjCMethod = CXString Function(
ffi.Pointer<ffi.Int8> name,
int isInstanceMethod,
CXString classUSR,
);
typedef _c_clang_constructUSR_ObjCProperty = CXString Function(
ffi.Pointer<ffi.Int8> property,
CXString classUSR,
);
typedef _dart_clang_constructUSR_ObjCProperty = CXString Function(
ffi.Pointer<ffi.Int8> property,
CXString classUSR,
);
typedef _c_clang_getCursorSpelling = CXString Function(
CXCursor arg0,
);
typedef _dart_clang_getCursorSpelling = CXString Function(
CXCursor arg0,
);
typedef _c_clang_Cursor_getSpellingNameRange = CXSourceRange Function(
CXCursor arg0,
ffi.Uint32 pieceIndex,
ffi.Uint32 options,
);
typedef _dart_clang_Cursor_getSpellingNameRange = CXSourceRange Function(
CXCursor arg0,
int pieceIndex,
int options,
);
typedef _c_clang_PrintingPolicy_getProperty = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> Policy,
ffi.Int32 Property,
);
typedef _dart_clang_PrintingPolicy_getProperty = int Function(
ffi.Pointer<ffi.Void> Policy,
int Property,
);
typedef _c_clang_PrintingPolicy_setProperty = ffi.Void Function(
ffi.Pointer<ffi.Void> Policy,
ffi.Int32 Property,
ffi.Uint32 Value,
);
typedef _dart_clang_PrintingPolicy_setProperty = void Function(
ffi.Pointer<ffi.Void> Policy,
int Property,
int Value,
);
typedef _c_clang_getCursorPrintingPolicy = ffi.Pointer<ffi.Void> Function(
CXCursor arg0,
);
typedef _dart_clang_getCursorPrintingPolicy = ffi.Pointer<ffi.Void> Function(
CXCursor arg0,
);
typedef _c_clang_PrintingPolicy_dispose = ffi.Void Function(
ffi.Pointer<ffi.Void> Policy,
);
typedef _dart_clang_PrintingPolicy_dispose = void Function(
ffi.Pointer<ffi.Void> Policy,
);
typedef _c_clang_getCursorPrettyPrinted = CXString Function(
CXCursor Cursor,
ffi.Pointer<ffi.Void> Policy,
);
typedef _dart_clang_getCursorPrettyPrinted = CXString Function(
CXCursor Cursor,
ffi.Pointer<ffi.Void> Policy,
);
typedef _c_clang_getCursorDisplayName = CXString Function(
CXCursor arg0,
);
typedef _dart_clang_getCursorDisplayName = CXString Function(
CXCursor arg0,
);
typedef _c_clang_getCursorReferenced = CXCursor Function(
CXCursor arg0,
);
typedef _dart_clang_getCursorReferenced = CXCursor Function(
CXCursor arg0,
);
typedef _c_clang_getCursorDefinition = CXCursor Function(
CXCursor arg0,
);
typedef _dart_clang_getCursorDefinition = CXCursor Function(
CXCursor arg0,
);
typedef _c_clang_isCursorDefinition = ffi.Uint32 Function(
CXCursor arg0,
);
typedef _dart_clang_isCursorDefinition = int Function(
CXCursor arg0,
);
typedef _c_clang_getCanonicalCursor = CXCursor Function(
CXCursor arg0,
);
typedef _dart_clang_getCanonicalCursor = CXCursor Function(
CXCursor arg0,
);
typedef _c_clang_Cursor_getObjCSelectorIndex = ffi.Int32 Function(
CXCursor arg0,
);
typedef _dart_clang_Cursor_getObjCSelectorIndex = int Function(
CXCursor arg0,
);
typedef _c_clang_Cursor_isDynamicCall = ffi.Int32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_isDynamicCall = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_getReceiverType = CXType Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getReceiverType = CXType Function(
CXCursor C,
);
typedef _c_clang_Cursor_getObjCPropertyAttributes = ffi.Uint32 Function(
CXCursor C,
ffi.Uint32 reserved,
);
typedef _dart_clang_Cursor_getObjCPropertyAttributes = int Function(
CXCursor C,
int reserved,
);
typedef _c_clang_Cursor_getObjCPropertyGetterName = CXString Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getObjCPropertyGetterName = CXString Function(
CXCursor C,
);
typedef _c_clang_Cursor_getObjCPropertySetterName = CXString Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getObjCPropertySetterName = CXString Function(
CXCursor C,
);
typedef _c_clang_Cursor_getObjCDeclQualifiers = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getObjCDeclQualifiers = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_isObjCOptional = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_isObjCOptional = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_isVariadic = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_Cursor_isVariadic = int Function(
CXCursor C,
);
typedef _c_clang_Cursor_isExternalSymbol = ffi.Uint32 Function(
CXCursor C,
ffi.Pointer<CXString> language,
ffi.Pointer<CXString> definedIn,
ffi.Pointer<ffi.Uint32> isGenerated,
);
typedef _dart_clang_Cursor_isExternalSymbol = int Function(
CXCursor C,
ffi.Pointer<CXString> language,
ffi.Pointer<CXString> definedIn,
ffi.Pointer<ffi.Uint32> isGenerated,
);
typedef _c_clang_Cursor_getCommentRange = CXSourceRange Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getCommentRange = CXSourceRange Function(
CXCursor C,
);
typedef _c_clang_Cursor_getRawCommentText = CXString Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getRawCommentText = CXString Function(
CXCursor C,
);
typedef _c_clang_Cursor_getBriefCommentText = CXString Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getBriefCommentText = CXString Function(
CXCursor C,
);
typedef _c_clang_Cursor_getMangling = CXString Function(
CXCursor arg0,
);
typedef _dart_clang_Cursor_getMangling = CXString Function(
CXCursor arg0,
);
typedef _c_clang_Cursor_getCXXManglings = ffi.Pointer<CXStringSet> Function(
CXCursor arg0,
);
typedef _dart_clang_Cursor_getCXXManglings = ffi.Pointer<CXStringSet> Function(
CXCursor arg0,
);
typedef _c_clang_Cursor_getObjCManglings = ffi.Pointer<CXStringSet> Function(
CXCursor arg0,
);
typedef _dart_clang_Cursor_getObjCManglings = ffi.Pointer<CXStringSet> Function(
CXCursor arg0,
);
typedef _c_clang_Cursor_getModule = ffi.Pointer<ffi.Void> Function(
CXCursor C,
);
typedef _dart_clang_Cursor_getModule = ffi.Pointer<ffi.Void> Function(
CXCursor C,
);
typedef _c_clang_getModuleForFile = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
ffi.Pointer<ffi.Void> arg1,
);
typedef _dart_clang_getModuleForFile = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
ffi.Pointer<ffi.Void> arg1,
);
typedef _c_clang_Module_getASTFile = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void> Module,
);
typedef _dart_clang_Module_getASTFile = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void> Module,
);
typedef _c_clang_Module_getParent = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void> Module,
);
typedef _dart_clang_Module_getParent = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void> Module,
);
typedef _c_clang_Module_getName = CXString Function(
ffi.Pointer<ffi.Void> Module,
);
typedef _dart_clang_Module_getName = CXString Function(
ffi.Pointer<ffi.Void> Module,
);
typedef _c_clang_Module_getFullName = CXString Function(
ffi.Pointer<ffi.Void> Module,
);
typedef _dart_clang_Module_getFullName = CXString Function(
ffi.Pointer<ffi.Void> Module,
);
typedef _c_clang_Module_isSystem = ffi.Int32 Function(
ffi.Pointer<ffi.Void> Module,
);
typedef _dart_clang_Module_isSystem = int Function(
ffi.Pointer<ffi.Void> Module,
);
typedef _c_clang_Module_getNumTopLevelHeaders = ffi.Uint32 Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
ffi.Pointer<ffi.Void> Module,
);
typedef _dart_clang_Module_getNumTopLevelHeaders = int Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
ffi.Pointer<ffi.Void> Module,
);
typedef _c_clang_Module_getTopLevelHeader = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
ffi.Pointer<ffi.Void> Module,
ffi.Uint32 Index,
);
typedef _dart_clang_Module_getTopLevelHeader = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
ffi.Pointer<ffi.Void> Module,
int Index,
);
typedef _c_clang_CXXConstructor_isConvertingConstructor = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXConstructor_isConvertingConstructor = int Function(
CXCursor C,
);
typedef _c_clang_CXXConstructor_isCopyConstructor = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXConstructor_isCopyConstructor = int Function(
CXCursor C,
);
typedef _c_clang_CXXConstructor_isDefaultConstructor = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXConstructor_isDefaultConstructor = int Function(
CXCursor C,
);
typedef _c_clang_CXXConstructor_isMoveConstructor = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXConstructor_isMoveConstructor = int Function(
CXCursor C,
);
typedef _c_clang_CXXField_isMutable = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXField_isMutable = int Function(
CXCursor C,
);
typedef _c_clang_CXXMethod_isDefaulted = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXMethod_isDefaulted = int Function(
CXCursor C,
);
typedef _c_clang_CXXMethod_isPureVirtual = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXMethod_isPureVirtual = int Function(
CXCursor C,
);
typedef _c_clang_CXXMethod_isStatic = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXMethod_isStatic = int Function(
CXCursor C,
);
typedef _c_clang_CXXMethod_isVirtual = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXMethod_isVirtual = int Function(
CXCursor C,
);
typedef _c_clang_CXXRecord_isAbstract = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXRecord_isAbstract = int Function(
CXCursor C,
);
typedef _c_clang_EnumDecl_isScoped = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_EnumDecl_isScoped = int Function(
CXCursor C,
);
typedef _c_clang_CXXMethod_isConst = ffi.Uint32 Function(
CXCursor C,
);
typedef _dart_clang_CXXMethod_isConst = int Function(
CXCursor C,
);
typedef _c_clang_getTemplateCursorKind = ffi.Int32 Function(
CXCursor C,
);
typedef _dart_clang_getTemplateCursorKind = int Function(
CXCursor C,
);
typedef _c_clang_getSpecializedCursorTemplate = CXCursor Function(
CXCursor C,
);
typedef _dart_clang_getSpecializedCursorTemplate = CXCursor Function(
CXCursor C,
);
typedef _c_clang_getCursorReferenceNameRange = CXSourceRange Function(
CXCursor C,
ffi.Uint32 NameFlags,
ffi.Uint32 PieceIndex,
);
typedef _dart_clang_getCursorReferenceNameRange = CXSourceRange Function(
CXCursor C,
int NameFlags,
int PieceIndex,
);
typedef _c_clang_getToken = ffi.Pointer<CXToken> Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
CXSourceLocation Location,
);
typedef _dart_clang_getToken = ffi.Pointer<CXToken> Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
CXSourceLocation Location,
);
typedef _c_clang_getTokenKind = ffi.Int32 Function(
CXToken arg0,
);
typedef _dart_clang_getTokenKind = int Function(
CXToken arg0,
);
typedef _c_clang_getTokenSpelling = CXString Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXToken arg1,
);
typedef _dart_clang_getTokenSpelling = CXString Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXToken arg1,
);
typedef _c_clang_getTokenLocation = CXSourceLocation Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXToken arg1,
);
typedef _dart_clang_getTokenLocation = CXSourceLocation Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXToken arg1,
);
typedef _c_clang_getTokenExtent = CXSourceRange Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXToken arg1,
);
typedef _dart_clang_getTokenExtent = CXSourceRange Function(
ffi.Pointer<CXTranslationUnitImpl> arg0,
CXToken arg1,
);
typedef _c_clang_tokenize = ffi.Void Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
CXSourceRange Range,
ffi.Pointer<ffi.Pointer<CXToken>> Tokens,
ffi.Pointer<ffi.Uint32> NumTokens,
);
typedef _dart_clang_tokenize = void Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
CXSourceRange Range,
ffi.Pointer<ffi.Pointer<CXToken>> Tokens,
ffi.Pointer<ffi.Uint32> NumTokens,
);
typedef _c_clang_annotateTokens = ffi.Void Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<CXToken> Tokens,
ffi.Uint32 NumTokens,
ffi.Pointer<CXCursor> Cursors,
);
typedef _dart_clang_annotateTokens = void Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<CXToken> Tokens,
int NumTokens,
ffi.Pointer<CXCursor> Cursors,
);
typedef _c_clang_disposeTokens = ffi.Void Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<CXToken> Tokens,
ffi.Uint32 NumTokens,
);
typedef _dart_clang_disposeTokens = void Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<CXToken> Tokens,
int NumTokens,
);
typedef _c_clang_getCursorKindSpelling = CXString Function(
ffi.Int32 Kind,
);
typedef _dart_clang_getCursorKindSpelling = CXString Function(
int Kind,
);
typedef _c_clang_getDefinitionSpellingAndExtent = ffi.Void Function(
CXCursor arg0,
ffi.Pointer<ffi.Pointer<ffi.Int8>> startBuf,
ffi.Pointer<ffi.Pointer<ffi.Int8>> endBuf,
ffi.Pointer<ffi.Uint32> startLine,
ffi.Pointer<ffi.Uint32> startColumn,
ffi.Pointer<ffi.Uint32> endLine,
ffi.Pointer<ffi.Uint32> endColumn,
);
typedef _dart_clang_getDefinitionSpellingAndExtent = void Function(
CXCursor arg0,
ffi.Pointer<ffi.Pointer<ffi.Int8>> startBuf,
ffi.Pointer<ffi.Pointer<ffi.Int8>> endBuf,
ffi.Pointer<ffi.Uint32> startLine,
ffi.Pointer<ffi.Uint32> startColumn,
ffi.Pointer<ffi.Uint32> endLine,
ffi.Pointer<ffi.Uint32> endColumn,
);
typedef _c_clang_enableStackTraces = ffi.Void Function();
typedef _dart_clang_enableStackTraces = void Function();
typedef _typedefC_1 = ffi.Void Function(
ffi.Pointer<ffi.Void>,
);
typedef _c_clang_executeOnThread = ffi.Void Function(
ffi.Pointer<ffi.NativeFunction<_typedefC_1>> fn,
ffi.Pointer<ffi.Void> user_data,
ffi.Uint32 stack_size,
);
typedef _dart_clang_executeOnThread = void Function(
ffi.Pointer<ffi.NativeFunction<_typedefC_1>> fn,
ffi.Pointer<ffi.Void> user_data,
int stack_size,
);
typedef _c_clang_getCompletionChunkKind = ffi.Int32 Function(
ffi.Pointer<ffi.Void> completion_string,
ffi.Uint32 chunk_number,
);
typedef _dart_clang_getCompletionChunkKind = int Function(
ffi.Pointer<ffi.Void> completion_string,
int chunk_number,
);
typedef _c_clang_getCompletionChunkText = CXString Function(
ffi.Pointer<ffi.Void> completion_string,
ffi.Uint32 chunk_number,
);
typedef _dart_clang_getCompletionChunkText = CXString Function(
ffi.Pointer<ffi.Void> completion_string,
int chunk_number,
);
typedef _c_clang_getCompletionChunkCompletionString = ffi.Pointer<ffi.Void>
Function(
ffi.Pointer<ffi.Void> completion_string,
ffi.Uint32 chunk_number,
);
typedef _dart_clang_getCompletionChunkCompletionString = ffi.Pointer<ffi.Void>
Function(
ffi.Pointer<ffi.Void> completion_string,
int chunk_number,
);
typedef _c_clang_getNumCompletionChunks = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> completion_string,
);
typedef _dart_clang_getNumCompletionChunks = int Function(
ffi.Pointer<ffi.Void> completion_string,
);
typedef _c_clang_getCompletionPriority = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> completion_string,
);
typedef _dart_clang_getCompletionPriority = int Function(
ffi.Pointer<ffi.Void> completion_string,
);
typedef _c_clang_getCompletionAvailability = ffi.Int32 Function(
ffi.Pointer<ffi.Void> completion_string,
);
typedef _dart_clang_getCompletionAvailability = int Function(
ffi.Pointer<ffi.Void> completion_string,
);
typedef _c_clang_getCompletionNumAnnotations = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> completion_string,
);
typedef _dart_clang_getCompletionNumAnnotations = int Function(
ffi.Pointer<ffi.Void> completion_string,
);
typedef _c_clang_getCompletionAnnotation = CXString Function(
ffi.Pointer<ffi.Void> completion_string,
ffi.Uint32 annotation_number,
);
typedef _dart_clang_getCompletionAnnotation = CXString Function(
ffi.Pointer<ffi.Void> completion_string,
int annotation_number,
);
typedef _c_clang_getCompletionParent = CXString Function(
ffi.Pointer<ffi.Void> completion_string,
ffi.Pointer<ffi.Int32> kind,
);
typedef _dart_clang_getCompletionParent = CXString Function(
ffi.Pointer<ffi.Void> completion_string,
ffi.Pointer<ffi.Int32> kind,
);
typedef _c_clang_getCompletionBriefComment = CXString Function(
ffi.Pointer<ffi.Void> completion_string,
);
typedef _dart_clang_getCompletionBriefComment = CXString Function(
ffi.Pointer<ffi.Void> completion_string,
);
typedef _c_clang_getCursorCompletionString = ffi.Pointer<ffi.Void> Function(
CXCursor cursor,
);
typedef _dart_clang_getCursorCompletionString = ffi.Pointer<ffi.Void> Function(
CXCursor cursor,
);
typedef _c_clang_getCompletionNumFixIts = ffi.Uint32 Function(
ffi.Pointer<CXCodeCompleteResults> results,
ffi.Uint32 completion_index,
);
typedef _dart_clang_getCompletionNumFixIts = int Function(
ffi.Pointer<CXCodeCompleteResults> results,
int completion_index,
);
typedef _c_clang_getCompletionFixIt = CXString Function(
ffi.Pointer<CXCodeCompleteResults> results,
ffi.Uint32 completion_index,
ffi.Uint32 fixit_index,
ffi.Pointer<CXSourceRange> replacement_range,
);
typedef _dart_clang_getCompletionFixIt = CXString Function(
ffi.Pointer<CXCodeCompleteResults> results,
int completion_index,
int fixit_index,
ffi.Pointer<CXSourceRange> replacement_range,
);
typedef _c_clang_defaultCodeCompleteOptions = ffi.Uint32 Function();
typedef _dart_clang_defaultCodeCompleteOptions = int Function();
typedef _c_clang_codeCompleteAt = ffi.Pointer<CXCodeCompleteResults> Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<ffi.Int8> complete_filename,
ffi.Uint32 complete_line,
ffi.Uint32 complete_column,
ffi.Pointer<CXUnsavedFile> unsaved_files,
ffi.Uint32 num_unsaved_files,
ffi.Uint32 options,
);
typedef _dart_clang_codeCompleteAt = ffi.Pointer<CXCodeCompleteResults>
Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<ffi.Int8> complete_filename,
int complete_line,
int complete_column,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
int options,
);
typedef _c_clang_sortCodeCompletionResults = ffi.Void Function(
ffi.Pointer<CXCompletionResult> Results,
ffi.Uint32 NumResults,
);
typedef _dart_clang_sortCodeCompletionResults = void Function(
ffi.Pointer<CXCompletionResult> Results,
int NumResults,
);
typedef _c_clang_disposeCodeCompleteResults = ffi.Void Function(
ffi.Pointer<CXCodeCompleteResults> Results,
);
typedef _dart_clang_disposeCodeCompleteResults = void Function(
ffi.Pointer<CXCodeCompleteResults> Results,
);
typedef _c_clang_codeCompleteGetNumDiagnostics = ffi.Uint32 Function(
ffi.Pointer<CXCodeCompleteResults> Results,
);
typedef _dart_clang_codeCompleteGetNumDiagnostics = int Function(
ffi.Pointer<CXCodeCompleteResults> Results,
);
typedef _c_clang_codeCompleteGetDiagnostic = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXCodeCompleteResults> Results,
ffi.Uint32 Index,
);
typedef _dart_clang_codeCompleteGetDiagnostic = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXCodeCompleteResults> Results,
int Index,
);
typedef _c_clang_codeCompleteGetContexts = ffi.Uint64 Function(
ffi.Pointer<CXCodeCompleteResults> Results,
);
typedef _dart_clang_codeCompleteGetContexts = int Function(
ffi.Pointer<CXCodeCompleteResults> Results,
);
typedef _c_clang_codeCompleteGetContainerKind = ffi.Int32 Function(
ffi.Pointer<CXCodeCompleteResults> Results,
ffi.Pointer<ffi.Uint32> IsIncomplete,
);
typedef _dart_clang_codeCompleteGetContainerKind = int Function(
ffi.Pointer<CXCodeCompleteResults> Results,
ffi.Pointer<ffi.Uint32> IsIncomplete,
);
typedef _c_clang_codeCompleteGetContainerUSR = CXString Function(
ffi.Pointer<CXCodeCompleteResults> Results,
);
typedef _dart_clang_codeCompleteGetContainerUSR = CXString Function(
ffi.Pointer<CXCodeCompleteResults> Results,
);
typedef _c_clang_codeCompleteGetObjCSelector = CXString Function(
ffi.Pointer<CXCodeCompleteResults> Results,
);
typedef _dart_clang_codeCompleteGetObjCSelector = CXString Function(
ffi.Pointer<CXCodeCompleteResults> Results,
);
typedef _c_clang_getClangVersion = CXString Function();
typedef _dart_clang_getClangVersion = CXString Function();
typedef _c_clang_toggleCrashRecovery = ffi.Void Function(
ffi.Uint32 isEnabled,
);
typedef _dart_clang_toggleCrashRecovery = void Function(
int isEnabled,
);
typedef CXInclusionVisitor = ffi.Void Function(
ffi.Pointer<ffi.Void>,
ffi.Pointer<CXSourceLocation>,
ffi.Uint32,
ffi.Pointer<ffi.Void>,
);
typedef _c_clang_getInclusions = ffi.Void Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.NativeFunction<CXInclusionVisitor>> visitor,
ffi.Pointer<ffi.Void> client_data,
);
typedef _dart_clang_getInclusions = void Function(
ffi.Pointer<CXTranslationUnitImpl> tu,
ffi.Pointer<ffi.NativeFunction<CXInclusionVisitor>> visitor,
ffi.Pointer<ffi.Void> client_data,
);
typedef _c_clang_Cursor_Evaluate = ffi.Pointer<ffi.Void> Function(
CXCursor C,
);
typedef _dart_clang_Cursor_Evaluate = ffi.Pointer<ffi.Void> Function(
CXCursor C,
);
typedef _c_clang_EvalResult_getKind = ffi.Int32 Function(
ffi.Pointer<ffi.Void> E,
);
typedef _dart_clang_EvalResult_getKind = int Function(
ffi.Pointer<ffi.Void> E,
);
typedef _c_clang_EvalResult_getAsInt = ffi.Int32 Function(
ffi.Pointer<ffi.Void> E,
);
typedef _dart_clang_EvalResult_getAsInt = int Function(
ffi.Pointer<ffi.Void> E,
);
typedef _c_clang_EvalResult_getAsLongLong = ffi.Int64 Function(
ffi.Pointer<ffi.Void> E,
);
typedef _dart_clang_EvalResult_getAsLongLong = int Function(
ffi.Pointer<ffi.Void> E,
);
typedef _c_clang_EvalResult_isUnsignedInt = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> E,
);
typedef _dart_clang_EvalResult_isUnsignedInt = int Function(
ffi.Pointer<ffi.Void> E,
);
typedef _c_clang_EvalResult_getAsUnsigned = ffi.Uint64 Function(
ffi.Pointer<ffi.Void> E,
);
typedef _dart_clang_EvalResult_getAsUnsigned = int Function(
ffi.Pointer<ffi.Void> E,
);
typedef _c_clang_EvalResult_getAsDouble = ffi.Double Function(
ffi.Pointer<ffi.Void> E,
);
typedef _dart_clang_EvalResult_getAsDouble = double Function(
ffi.Pointer<ffi.Void> E,
);
typedef _c_clang_EvalResult_getAsStr = ffi.Pointer<ffi.Int8> Function(
ffi.Pointer<ffi.Void> E,
);
typedef _dart_clang_EvalResult_getAsStr = ffi.Pointer<ffi.Int8> Function(
ffi.Pointer<ffi.Void> E,
);
typedef _c_clang_EvalResult_dispose = ffi.Void Function(
ffi.Pointer<ffi.Void> E,
);
typedef _dart_clang_EvalResult_dispose = void Function(
ffi.Pointer<ffi.Void> E,
);
typedef _c_clang_getRemappings = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Int8> path,
);
typedef _dart_clang_getRemappings = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Int8> path,
);
typedef _c_clang_getRemappingsFromFileList = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Pointer<ffi.Int8>> filePaths,
ffi.Uint32 numFiles,
);
typedef _dart_clang_getRemappingsFromFileList = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Pointer<ffi.Int8>> filePaths,
int numFiles,
);
typedef _c_clang_remap_getNumFiles = ffi.Uint32 Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _dart_clang_remap_getNumFiles = int Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _c_clang_remap_getFilenames = ffi.Void Function(
ffi.Pointer<ffi.Void> arg0,
ffi.Uint32 index,
ffi.Pointer<CXString> original,
ffi.Pointer<CXString> transformed,
);
typedef _dart_clang_remap_getFilenames = void Function(
ffi.Pointer<ffi.Void> arg0,
int index,
ffi.Pointer<CXString> original,
ffi.Pointer<CXString> transformed,
);
typedef _c_clang_remap_dispose = ffi.Void Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _dart_clang_remap_dispose = void Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _c_clang_findReferencesInFile = ffi.Int32 Function(
CXCursor cursor,
ffi.Pointer<ffi.Void> file,
CXCursorAndRangeVisitor visitor,
);
typedef _dart_clang_findReferencesInFile = int Function(
CXCursor cursor,
ffi.Pointer<ffi.Void> file,
CXCursorAndRangeVisitor visitor,
);
typedef _c_clang_findIncludesInFile = ffi.Int32 Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<ffi.Void> file,
CXCursorAndRangeVisitor visitor,
);
typedef _dart_clang_findIncludesInFile = int Function(
ffi.Pointer<CXTranslationUnitImpl> TU,
ffi.Pointer<ffi.Void> file,
CXCursorAndRangeVisitor visitor,
);
typedef _c_clang_index_isEntityObjCContainerKind = ffi.Int32 Function(
ffi.Int32 arg0,
);
typedef _dart_clang_index_isEntityObjCContainerKind = int Function(
int arg0,
);
typedef _c_clang_index_getObjCContainerDeclInfo
= ffi.Pointer<CXIdxObjCContainerDeclInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _dart_clang_index_getObjCContainerDeclInfo
= ffi.Pointer<CXIdxObjCContainerDeclInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _c_clang_index_getObjCInterfaceDeclInfo
= ffi.Pointer<CXIdxObjCInterfaceDeclInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _dart_clang_index_getObjCInterfaceDeclInfo
= ffi.Pointer<CXIdxObjCInterfaceDeclInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _c_clang_index_getObjCCategoryDeclInfo
= ffi.Pointer<CXIdxObjCCategoryDeclInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _dart_clang_index_getObjCCategoryDeclInfo
= ffi.Pointer<CXIdxObjCCategoryDeclInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _c_clang_index_getObjCProtocolRefListInfo
= ffi.Pointer<CXIdxObjCProtocolRefListInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _dart_clang_index_getObjCProtocolRefListInfo
= ffi.Pointer<CXIdxObjCProtocolRefListInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _c_clang_index_getObjCPropertyDeclInfo
= ffi.Pointer<CXIdxObjCPropertyDeclInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _dart_clang_index_getObjCPropertyDeclInfo
= ffi.Pointer<CXIdxObjCPropertyDeclInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _c_clang_index_getIBOutletCollectionAttrInfo
= ffi.Pointer<CXIdxIBOutletCollectionAttrInfo> Function(
ffi.Pointer<CXIdxAttrInfo> arg0,
);
typedef _dart_clang_index_getIBOutletCollectionAttrInfo
= ffi.Pointer<CXIdxIBOutletCollectionAttrInfo> Function(
ffi.Pointer<CXIdxAttrInfo> arg0,
);
typedef _c_clang_index_getCXXClassDeclInfo = ffi.Pointer<CXIdxCXXClassDeclInfo>
Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _dart_clang_index_getCXXClassDeclInfo
= ffi.Pointer<CXIdxCXXClassDeclInfo> Function(
ffi.Pointer<CXIdxDeclInfo> arg0,
);
typedef _c_clang_index_getClientContainer = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXIdxContainerInfo> arg0,
);
typedef _dart_clang_index_getClientContainer = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXIdxContainerInfo> arg0,
);
typedef _c_clang_index_setClientContainer = ffi.Void Function(
ffi.Pointer<CXIdxContainerInfo> arg0,
ffi.Pointer<ffi.Void> arg1,
);
typedef _dart_clang_index_setClientContainer = void Function(
ffi.Pointer<CXIdxContainerInfo> arg0,
ffi.Pointer<ffi.Void> arg1,
);
typedef _c_clang_index_getClientEntity = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXIdxEntityInfo> arg0,
);
typedef _dart_clang_index_getClientEntity = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<CXIdxEntityInfo> arg0,
);
typedef _c_clang_index_setClientEntity = ffi.Void Function(
ffi.Pointer<CXIdxEntityInfo> arg0,
ffi.Pointer<ffi.Void> arg1,
);
typedef _dart_clang_index_setClientEntity = void Function(
ffi.Pointer<CXIdxEntityInfo> arg0,
ffi.Pointer<ffi.Void> arg1,
);
typedef _c_clang_IndexAction_create = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void> CIdx,
);
typedef _dart_clang_IndexAction_create = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void> CIdx,
);
typedef _c_clang_IndexAction_dispose = ffi.Void Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _dart_clang_IndexAction_dispose = void Function(
ffi.Pointer<ffi.Void> arg0,
);
typedef _c_clang_indexSourceFile = ffi.Int32 Function(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Void> client_data,
ffi.Pointer<IndexerCallbacks> index_callbacks,
ffi.Uint32 index_callbacks_size,
ffi.Uint32 index_options,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
ffi.Int32 num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
ffi.Uint32 num_unsaved_files,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
ffi.Uint32 TU_options,
);
typedef _dart_clang_indexSourceFile = int Function(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Void> client_data,
ffi.Pointer<IndexerCallbacks> index_callbacks,
int index_callbacks_size,
int index_options,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
int num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
int TU_options,
);
typedef _c_clang_indexSourceFileFullArgv = ffi.Int32 Function(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Void> client_data,
ffi.Pointer<IndexerCallbacks> index_callbacks,
ffi.Uint32 index_callbacks_size,
ffi.Uint32 index_options,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
ffi.Int32 num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
ffi.Uint32 num_unsaved_files,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
ffi.Uint32 TU_options,
);
typedef _dart_clang_indexSourceFileFullArgv = int Function(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Void> client_data,
ffi.Pointer<IndexerCallbacks> index_callbacks,
int index_callbacks_size,
int index_options,
ffi.Pointer<ffi.Int8> source_filename,
ffi.Pointer<ffi.Pointer<ffi.Int8>> command_line_args,
int num_command_line_args,
ffi.Pointer<CXUnsavedFile> unsaved_files,
int num_unsaved_files,
ffi.Pointer<ffi.Pointer<CXTranslationUnitImpl>> out_TU,
int TU_options,
);
typedef _c_clang_indexTranslationUnit = ffi.Int32 Function(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Void> client_data,
ffi.Pointer<IndexerCallbacks> index_callbacks,
ffi.Uint32 index_callbacks_size,
ffi.Uint32 index_options,
ffi.Pointer<CXTranslationUnitImpl> arg5,
);
typedef _dart_clang_indexTranslationUnit = int Function(
ffi.Pointer<ffi.Void> arg0,
ffi.Pointer<ffi.Void> client_data,
ffi.Pointer<IndexerCallbacks> index_callbacks,
int index_callbacks_size,
int index_options,
ffi.Pointer<CXTranslationUnitImpl> arg5,
);
typedef _c_clang_indexLoc_getFileLocation = ffi.Void Function(
CXIdxLoc loc,
ffi.Pointer<ffi.Pointer<ffi.Void>> indexFile,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
);
typedef _dart_clang_indexLoc_getFileLocation = void Function(
CXIdxLoc loc,
ffi.Pointer<ffi.Pointer<ffi.Void>> indexFile,
ffi.Pointer<ffi.Pointer<ffi.Void>> file,
ffi.Pointer<ffi.Uint32> line,
ffi.Pointer<ffi.Uint32> column,
ffi.Pointer<ffi.Uint32> offset,
);
typedef _c_clang_indexLoc_getCXSourceLocation = CXSourceLocation Function(
CXIdxLoc loc,
);
typedef _dart_clang_indexLoc_getCXSourceLocation = CXSourceLocation Function(
CXIdxLoc loc,
);
typedef CXFieldVisitor = ffi.Int32 Function(
CXCursor,
ffi.Pointer<ffi.Void>,
);
typedef _c_clang_Type_visitFields = ffi.Uint32 Function(
CXType T,
ffi.Pointer<ffi.NativeFunction<CXFieldVisitor>> visitor,
ffi.Pointer<ffi.Void> client_data,
);
typedef _dart_clang_Type_visitFields = int Function(
CXType T,
ffi.Pointer<ffi.NativeFunction<CXFieldVisitor>> visitor,
ffi.Pointer<ffi.Void> client_data,
);
typedef _typedefC_2 = ffi.Int32 Function(
ffi.Pointer<ffi.Void>,
CXCursor,
CXSourceRange,
);
typedef _typedefC_3 = ffi.Int32 Function(
ffi.Pointer<ffi.Void>,
ffi.Pointer<ffi.Void>,
);
typedef _typedefC_4 = ffi.Void Function(
ffi.Pointer<ffi.Void>,
ffi.Pointer<ffi.Void>,
ffi.Pointer<ffi.Void>,
);
typedef _typedefC_5 = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void>,
ffi.Pointer<ffi.Void>,
ffi.Pointer<ffi.Void>,
);
typedef _typedefC_6 = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void>,
ffi.Pointer<CXIdxIncludedFileInfo>,
);
typedef _typedefC_7 = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void>,
ffi.Pointer<CXIdxImportedASTFileInfo>,
);
typedef _typedefC_8 = ffi.Pointer<ffi.Void> Function(
ffi.Pointer<ffi.Void>,
ffi.Pointer<ffi.Void>,
);
typedef _typedefC_9 = ffi.Void Function(
ffi.Pointer<ffi.Void>,
ffi.Pointer<CXIdxDeclInfo>,
);
typedef _typedefC_10 = ffi.Void Function(
ffi.Pointer<ffi.Void>,
ffi.Pointer<CXIdxEntityRefInfo>,
);