| // 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 |
| |
| // ignore_for_file: camel_case_types, non_constant_identifier_names |
| |
| // AUTO GENERATED FILE, DO NOT EDIT. |
| // |
| // Generated by `package:ffigen`. |
| // ignore_for_file: type=lint |
| import 'dart:ffi' as ffi; |
| import 'custom_import.dart' as custom_import; |
| |
| /// Holds bindings to LibClang. |
| class LibClang { |
| /// Holds the symbol lookup function. |
| final ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName) |
| _lookup; |
| |
| /// The symbols are looked up in [dynamicLibrary]. |
| LibClang(ffi.DynamicLibrary dynamicLibrary) : _lookup = dynamicLibrary.lookup; |
| |
| /// The symbols are looked up with [lookup]. |
| LibClang.fromLookup( |
| ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName) |
| lookup) |
| : _lookup = lookup; |
| |
| /// Retrieve the character data associated with the given string. |
| ffi.Pointer<ffi.Char> clang_getCString( |
| CXString string, |
| ) { |
| return _clang_getCString( |
| string, |
| ); |
| } |
| |
| late final _clang_getCStringPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCString>>('clang_getCString'); |
| late final _clang_getCString = |
| _clang_getCStringPtr.asFunction<DartClang_getCString>(); |
| |
| /// Free the given string. |
| void clang_disposeString( |
| CXString string, |
| ) { |
| return _clang_disposeString( |
| string, |
| ); |
| } |
| |
| late final _clang_disposeStringPtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeString>>( |
| 'clang_disposeString'); |
| late final _clang_disposeString = |
| _clang_disposeStringPtr.asFunction<DartClang_disposeString>(); |
| |
| /// Free the given string set. |
| void clang_disposeStringSet( |
| ffi.Pointer<CXStringSet> set1, |
| ) { |
| return _clang_disposeStringSet( |
| set1, |
| ); |
| } |
| |
| late final _clang_disposeStringSetPtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeStringSet>>( |
| 'clang_disposeStringSet'); |
| late final _clang_disposeStringSet = |
| _clang_disposeStringSetPtr.asFunction<DartClang_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). |
| CXIndex clang_createIndex( |
| int excludeDeclarationsFromPCH, |
| int displayDiagnostics, |
| ) { |
| return _clang_createIndex( |
| excludeDeclarationsFromPCH, |
| displayDiagnostics, |
| ); |
| } |
| |
| late final _clang_createIndexPtr = |
| _lookup<ffi.NativeFunction<NativeClang_createIndex>>('clang_createIndex'); |
| late final _clang_createIndex = |
| _clang_createIndexPtr.asFunction<DartClang_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( |
| CXIndex index, |
| ) { |
| return _clang_disposeIndex( |
| index, |
| ); |
| } |
| |
| late final _clang_disposeIndexPtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeIndex>>( |
| 'clang_disposeIndex'); |
| late final _clang_disposeIndex = |
| _clang_disposeIndexPtr.asFunction<DartClang_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( |
| CXIndex arg0, |
| int options, |
| ) { |
| return _clang_CXIndex_setGlobalOptions( |
| arg0, |
| options, |
| ); |
| } |
| |
| late final _clang_CXIndex_setGlobalOptionsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_CXIndex_setGlobalOptions>>( |
| 'clang_CXIndex_setGlobalOptions'); |
| late final _clang_CXIndex_setGlobalOptions = |
| _clang_CXIndex_setGlobalOptionsPtr |
| .asFunction<DartClang_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( |
| CXIndex arg0, |
| ) { |
| return _clang_CXIndex_getGlobalOptions( |
| arg0, |
| ); |
| } |
| |
| late final _clang_CXIndex_getGlobalOptionsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_CXIndex_getGlobalOptions>>( |
| 'clang_CXIndex_getGlobalOptions'); |
| late final _clang_CXIndex_getGlobalOptions = |
| _clang_CXIndex_getGlobalOptionsPtr |
| .asFunction<DartClang_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( |
| CXIndex arg0, |
| ffi.Pointer<ffi.Char> Path, |
| ) { |
| return _clang_CXIndex_setInvocationEmissionPathOption( |
| arg0, |
| Path, |
| ); |
| } |
| |
| late final _clang_CXIndex_setInvocationEmissionPathOptionPtr = _lookup< |
| ffi.NativeFunction< |
| NativeClang_CXIndex_setInvocationEmissionPathOption>>( |
| 'clang_CXIndex_setInvocationEmissionPathOption'); |
| late final _clang_CXIndex_setInvocationEmissionPathOption = |
| _clang_CXIndex_setInvocationEmissionPathOptionPtr |
| .asFunction<DartClang_CXIndex_setInvocationEmissionPathOption>(); |
| |
| /// Retrieve the complete file and path name of the given file. |
| CXString clang_getFileName( |
| CXFile SFile, |
| ) { |
| return _clang_getFileName( |
| SFile, |
| ); |
| } |
| |
| late final _clang_getFileNamePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getFileName>>('clang_getFileName'); |
| late final _clang_getFileName = |
| _clang_getFileNamePtr.asFunction<DartClang_getFileName>(); |
| |
| /// Retrieve the last modification time of the given file. |
| int clang_getFileTime( |
| CXFile SFile, |
| ) { |
| return _clang_getFileTime( |
| SFile, |
| ); |
| } |
| |
| late final _clang_getFileTimePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getFileTime>>('clang_getFileTime'); |
| late final _clang_getFileTime = |
| _clang_getFileTimePtr.asFunction<DartClang_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( |
| CXFile file, |
| ffi.Pointer<CXFileUniqueID> outID, |
| ) { |
| return _clang_getFileUniqueID( |
| file, |
| outID, |
| ); |
| } |
| |
| late final _clang_getFileUniqueIDPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getFileUniqueID>>( |
| 'clang_getFileUniqueID'); |
| late final _clang_getFileUniqueID = |
| _clang_getFileUniqueIDPtr.asFunction<DartClang_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( |
| CXTranslationUnit tu, |
| CXFile file, |
| ) { |
| return _clang_isFileMultipleIncludeGuarded( |
| tu, |
| file, |
| ); |
| } |
| |
| late final _clang_isFileMultipleIncludeGuardedPtr = |
| _lookup<ffi.NativeFunction<NativeClang_isFileMultipleIncludeGuarded>>( |
| 'clang_isFileMultipleIncludeGuarded'); |
| late final _clang_isFileMultipleIncludeGuarded = |
| _clang_isFileMultipleIncludeGuardedPtr |
| .asFunction<DartClang_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. |
| CXFile clang_getFile( |
| CXTranslationUnit tu, |
| ffi.Pointer<ffi.Char> file_name, |
| ) { |
| return _clang_getFile( |
| tu, |
| file_name, |
| ); |
| } |
| |
| late final _clang_getFilePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getFile>>('clang_getFile'); |
| late final _clang_getFile = _clang_getFilePtr.asFunction<DartClang_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.Char> clang_getFileContents( |
| CXTranslationUnit tu, |
| CXFile file, |
| ffi.Pointer<ffi.Size> size, |
| ) { |
| return _clang_getFileContents( |
| tu, |
| file, |
| size, |
| ); |
| } |
| |
| late final _clang_getFileContentsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getFileContents>>( |
| 'clang_getFileContents'); |
| late final _clang_getFileContents = |
| _clang_getFileContentsPtr.asFunction<DartClang_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( |
| CXFile file1, |
| CXFile file2, |
| ) { |
| return _clang_File_isEqual( |
| file1, |
| file2, |
| ); |
| } |
| |
| late final _clang_File_isEqualPtr = |
| _lookup<ffi.NativeFunction<NativeClang_File_isEqual>>( |
| 'clang_File_isEqual'); |
| late final _clang_File_isEqual = |
| _clang_File_isEqualPtr.asFunction<DartClang_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( |
| CXFile file, |
| ) { |
| return _clang_File_tryGetRealPathName( |
| file, |
| ); |
| } |
| |
| late final _clang_File_tryGetRealPathNamePtr = |
| _lookup<ffi.NativeFunction<NativeClang_File_tryGetRealPathName>>( |
| 'clang_File_tryGetRealPathName'); |
| late final _clang_File_tryGetRealPathName = _clang_File_tryGetRealPathNamePtr |
| .asFunction<DartClang_File_tryGetRealPathName>(); |
| |
| /// Retrieve a NULL (invalid) source location. |
| CXSourceLocation clang_getNullLocation() { |
| return _clang_getNullLocation(); |
| } |
| |
| late final _clang_getNullLocationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getNullLocation>>( |
| 'clang_getNullLocation'); |
| late final _clang_getNullLocation = |
| _clang_getNullLocationPtr.asFunction<DartClang_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( |
| loc1, |
| loc2, |
| ); |
| } |
| |
| late final _clang_equalLocationsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_equalLocations>>( |
| 'clang_equalLocations'); |
| late final _clang_equalLocations = |
| _clang_equalLocationsPtr.asFunction<DartClang_equalLocations>(); |
| |
| /// Retrieves the source location associated with a given file/line/column |
| /// in a particular translation unit. |
| CXSourceLocation clang_getLocation( |
| CXTranslationUnit tu, |
| CXFile file, |
| int line, |
| int column, |
| ) { |
| return _clang_getLocation( |
| tu, |
| file, |
| line, |
| column, |
| ); |
| } |
| |
| late final _clang_getLocationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getLocation>>('clang_getLocation'); |
| late final _clang_getLocation = |
| _clang_getLocationPtr.asFunction<DartClang_getLocation>(); |
| |
| /// Retrieves the source location associated with a given character offset |
| /// in a particular translation unit. |
| CXSourceLocation clang_getLocationForOffset( |
| CXTranslationUnit tu, |
| CXFile file, |
| int offset, |
| ) { |
| return _clang_getLocationForOffset( |
| tu, |
| file, |
| offset, |
| ); |
| } |
| |
| late final _clang_getLocationForOffsetPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getLocationForOffset>>( |
| 'clang_getLocationForOffset'); |
| late final _clang_getLocationForOffset = _clang_getLocationForOffsetPtr |
| .asFunction<DartClang_getLocationForOffset>(); |
| |
| /// Returns non-zero if the given source location is in a system header. |
| int clang_Location_isInSystemHeader( |
| CXSourceLocation location, |
| ) { |
| return _clang_Location_isInSystemHeader( |
| location, |
| ); |
| } |
| |
| late final _clang_Location_isInSystemHeaderPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Location_isInSystemHeader>>( |
| 'clang_Location_isInSystemHeader'); |
| late final _clang_Location_isInSystemHeader = |
| _clang_Location_isInSystemHeaderPtr |
| .asFunction<DartClang_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( |
| location, |
| ); |
| } |
| |
| late final _clang_Location_isFromMainFilePtr = |
| _lookup<ffi.NativeFunction<NativeClang_Location_isFromMainFile>>( |
| 'clang_Location_isFromMainFile'); |
| late final _clang_Location_isFromMainFile = _clang_Location_isFromMainFilePtr |
| .asFunction<DartClang_Location_isFromMainFile>(); |
| |
| /// Retrieve a NULL (invalid) source range. |
| CXSourceRange clang_getNullRange() { |
| return _clang_getNullRange(); |
| } |
| |
| late final _clang_getNullRangePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getNullRange>>( |
| 'clang_getNullRange'); |
| late final _clang_getNullRange = |
| _clang_getNullRangePtr.asFunction<DartClang_getNullRange>(); |
| |
| /// Retrieve a source range given the beginning and ending source |
| /// locations. |
| CXSourceRange clang_getRange( |
| CXSourceLocation begin, |
| CXSourceLocation end, |
| ) { |
| return _clang_getRange( |
| begin, |
| end, |
| ); |
| } |
| |
| late final _clang_getRangePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getRange>>('clang_getRange'); |
| late final _clang_getRange = |
| _clang_getRangePtr.asFunction<DartClang_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( |
| range1, |
| range2, |
| ); |
| } |
| |
| late final _clang_equalRangesPtr = |
| _lookup<ffi.NativeFunction<NativeClang_equalRanges>>('clang_equalRanges'); |
| late final _clang_equalRanges = |
| _clang_equalRangesPtr.asFunction<DartClang_equalRanges>(); |
| |
| /// Returns non-zero if \p range is null. |
| int clang_Range_isNull( |
| CXSourceRange range, |
| ) { |
| return _clang_Range_isNull( |
| range, |
| ); |
| } |
| |
| late final _clang_Range_isNullPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Range_isNull>>( |
| 'clang_Range_isNull'); |
| late final _clang_Range_isNull = |
| _clang_Range_isNullPtr.asFunction<DartClang_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<CXFile> file, |
| ffi.Pointer<ffi.UnsignedInt> line, |
| ffi.Pointer<ffi.UnsignedInt> column, |
| ffi.Pointer<ffi.UnsignedInt> offset, |
| ) { |
| return _clang_getExpansionLocation( |
| location, |
| file, |
| line, |
| column, |
| offset, |
| ); |
| } |
| |
| late final _clang_getExpansionLocationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getExpansionLocation>>( |
| 'clang_getExpansionLocation'); |
| late final _clang_getExpansionLocation = _clang_getExpansionLocationPtr |
| .asFunction<DartClang_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.UnsignedInt> line, |
| ffi.Pointer<ffi.UnsignedInt> column, |
| ) { |
| return _clang_getPresumedLocation( |
| location, |
| filename, |
| line, |
| column, |
| ); |
| } |
| |
| late final _clang_getPresumedLocationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getPresumedLocation>>( |
| 'clang_getPresumedLocation'); |
| late final _clang_getPresumedLocation = |
| _clang_getPresumedLocationPtr.asFunction<DartClang_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<CXFile> file, |
| ffi.Pointer<ffi.UnsignedInt> line, |
| ffi.Pointer<ffi.UnsignedInt> column, |
| ffi.Pointer<ffi.UnsignedInt> offset, |
| ) { |
| return _clang_getInstantiationLocation( |
| location, |
| file, |
| line, |
| column, |
| offset, |
| ); |
| } |
| |
| late final _clang_getInstantiationLocationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getInstantiationLocation>>( |
| 'clang_getInstantiationLocation'); |
| late final _clang_getInstantiationLocation = |
| _clang_getInstantiationLocationPtr |
| .asFunction<DartClang_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<CXFile> file, |
| ffi.Pointer<ffi.UnsignedInt> line, |
| ffi.Pointer<ffi.UnsignedInt> column, |
| ffi.Pointer<ffi.UnsignedInt> offset, |
| ) { |
| return _clang_getSpellingLocation( |
| location, |
| file, |
| line, |
| column, |
| offset, |
| ); |
| } |
| |
| late final _clang_getSpellingLocationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getSpellingLocation>>( |
| 'clang_getSpellingLocation'); |
| late final _clang_getSpellingLocation = |
| _clang_getSpellingLocationPtr.asFunction<DartClang_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<CXFile> file, |
| ffi.Pointer<ffi.UnsignedInt> line, |
| ffi.Pointer<ffi.UnsignedInt> column, |
| ffi.Pointer<ffi.UnsignedInt> offset, |
| ) { |
| return _clang_getFileLocation( |
| location, |
| file, |
| line, |
| column, |
| offset, |
| ); |
| } |
| |
| late final _clang_getFileLocationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getFileLocation>>( |
| 'clang_getFileLocation'); |
| late final _clang_getFileLocation = |
| _clang_getFileLocationPtr.asFunction<DartClang_getFileLocation>(); |
| |
| /// Retrieve a source location representing the first character within a |
| /// source range. |
| CXSourceLocation clang_getRangeStart( |
| CXSourceRange range, |
| ) { |
| return _clang_getRangeStart( |
| range, |
| ); |
| } |
| |
| late final _clang_getRangeStartPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getRangeStart>>( |
| 'clang_getRangeStart'); |
| late final _clang_getRangeStart = |
| _clang_getRangeStartPtr.asFunction<DartClang_getRangeStart>(); |
| |
| /// Retrieve a source location representing the last character within a |
| /// source range. |
| CXSourceLocation clang_getRangeEnd( |
| CXSourceRange range, |
| ) { |
| return _clang_getRangeEnd( |
| range, |
| ); |
| } |
| |
| late final _clang_getRangeEndPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getRangeEnd>>('clang_getRangeEnd'); |
| late final _clang_getRangeEnd = |
| _clang_getRangeEndPtr.asFunction<DartClang_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( |
| CXTranslationUnit tu, |
| CXFile file, |
| ) { |
| return _clang_getSkippedRanges( |
| tu, |
| file, |
| ); |
| } |
| |
| late final _clang_getSkippedRangesPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getSkippedRanges>>( |
| 'clang_getSkippedRanges'); |
| late final _clang_getSkippedRanges = |
| _clang_getSkippedRangesPtr.asFunction<DartClang_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( |
| CXTranslationUnit tu, |
| ) { |
| return _clang_getAllSkippedRanges( |
| tu, |
| ); |
| } |
| |
| late final _clang_getAllSkippedRangesPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getAllSkippedRanges>>( |
| 'clang_getAllSkippedRanges'); |
| late final _clang_getAllSkippedRanges = |
| _clang_getAllSkippedRangesPtr.asFunction<DartClang_getAllSkippedRanges>(); |
| |
| /// Destroy the given \c CXSourceRangeList. |
| void clang_disposeSourceRangeList( |
| ffi.Pointer<CXSourceRangeList> ranges, |
| ) { |
| return _clang_disposeSourceRangeList( |
| ranges, |
| ); |
| } |
| |
| late final _clang_disposeSourceRangeListPtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeSourceRangeList>>( |
| 'clang_disposeSourceRangeList'); |
| late final _clang_disposeSourceRangeList = _clang_disposeSourceRangeListPtr |
| .asFunction<DartClang_disposeSourceRangeList>(); |
| |
| /// Determine the number of diagnostics in a CXDiagnosticSet. |
| int clang_getNumDiagnosticsInSet( |
| CXDiagnosticSet Diags, |
| ) { |
| return _clang_getNumDiagnosticsInSet( |
| Diags, |
| ); |
| } |
| |
| late final _clang_getNumDiagnosticsInSetPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getNumDiagnosticsInSet>>( |
| 'clang_getNumDiagnosticsInSet'); |
| late final _clang_getNumDiagnosticsInSet = _clang_getNumDiagnosticsInSetPtr |
| .asFunction<DartClang_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(). |
| CXDiagnostic clang_getDiagnosticInSet( |
| CXDiagnosticSet Diags, |
| int Index, |
| ) { |
| return _clang_getDiagnosticInSet( |
| Diags, |
| Index, |
| ); |
| } |
| |
| late final _clang_getDiagnosticInSetPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticInSet>>( |
| 'clang_getDiagnosticInSet'); |
| late final _clang_getDiagnosticInSet = |
| _clang_getDiagnosticInSetPtr.asFunction<DartClang_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(). |
| CXDiagnosticSet clang_loadDiagnostics( |
| ffi.Pointer<ffi.Char> file, |
| ffi.Pointer<ffi.Int32> error, |
| ffi.Pointer<CXString> errorString, |
| ) { |
| return _clang_loadDiagnostics( |
| file, |
| error, |
| errorString, |
| ); |
| } |
| |
| late final _clang_loadDiagnosticsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_loadDiagnostics>>( |
| 'clang_loadDiagnostics'); |
| late final _clang_loadDiagnostics = |
| _clang_loadDiagnosticsPtr.asFunction<DartClang_loadDiagnostics>(); |
| |
| /// Release a CXDiagnosticSet and all of its contained diagnostics. |
| void clang_disposeDiagnosticSet( |
| CXDiagnosticSet Diags, |
| ) { |
| return _clang_disposeDiagnosticSet( |
| Diags, |
| ); |
| } |
| |
| late final _clang_disposeDiagnosticSetPtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeDiagnosticSet>>( |
| 'clang_disposeDiagnosticSet'); |
| late final _clang_disposeDiagnosticSet = _clang_disposeDiagnosticSetPtr |
| .asFunction<DartClang_disposeDiagnosticSet>(); |
| |
| /// Retrieve the child diagnostics of a CXDiagnostic. |
| /// |
| /// This CXDiagnosticSet does not need to be released by |
| /// clang_disposeDiagnosticSet. |
| CXDiagnosticSet clang_getChildDiagnostics( |
| CXDiagnostic D, |
| ) { |
| return _clang_getChildDiagnostics( |
| D, |
| ); |
| } |
| |
| late final _clang_getChildDiagnosticsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getChildDiagnostics>>( |
| 'clang_getChildDiagnostics'); |
| late final _clang_getChildDiagnostics = |
| _clang_getChildDiagnosticsPtr.asFunction<DartClang_getChildDiagnostics>(); |
| |
| /// Determine the number of diagnostics produced for the given |
| /// translation unit. |
| int clang_getNumDiagnostics( |
| CXTranslationUnit Unit, |
| ) { |
| return _clang_getNumDiagnostics( |
| Unit, |
| ); |
| } |
| |
| late final _clang_getNumDiagnosticsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getNumDiagnostics>>( |
| 'clang_getNumDiagnostics'); |
| late final _clang_getNumDiagnostics = |
| _clang_getNumDiagnosticsPtr.asFunction<DartClang_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(). |
| CXDiagnostic clang_getDiagnostic( |
| CXTranslationUnit Unit, |
| int Index, |
| ) { |
| return _clang_getDiagnostic( |
| Unit, |
| Index, |
| ); |
| } |
| |
| late final _clang_getDiagnosticPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnostic>>( |
| 'clang_getDiagnostic'); |
| late final _clang_getDiagnostic = |
| _clang_getDiagnosticPtr.asFunction<DartClang_getDiagnostic>(); |
| |
| /// Retrieve the complete set of diagnostics associated with a |
| /// translation unit. |
| /// |
| /// \param Unit the translation unit to query. |
| CXDiagnosticSet clang_getDiagnosticSetFromTU( |
| CXTranslationUnit Unit, |
| ) { |
| return _clang_getDiagnosticSetFromTU( |
| Unit, |
| ); |
| } |
| |
| late final _clang_getDiagnosticSetFromTUPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticSetFromTU>>( |
| 'clang_getDiagnosticSetFromTU'); |
| late final _clang_getDiagnosticSetFromTU = _clang_getDiagnosticSetFromTUPtr |
| .asFunction<DartClang_getDiagnosticSetFromTU>(); |
| |
| /// Destroy a diagnostic. |
| void clang_disposeDiagnostic( |
| CXDiagnostic Diagnostic, |
| ) { |
| return _clang_disposeDiagnostic( |
| Diagnostic, |
| ); |
| } |
| |
| late final _clang_disposeDiagnosticPtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeDiagnostic>>( |
| 'clang_disposeDiagnostic'); |
| late final _clang_disposeDiagnostic = |
| _clang_disposeDiagnosticPtr.asFunction<DartClang_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( |
| CXDiagnostic Diagnostic, |
| int Options, |
| ) { |
| return _clang_formatDiagnostic( |
| Diagnostic, |
| Options, |
| ); |
| } |
| |
| late final _clang_formatDiagnosticPtr = |
| _lookup<ffi.NativeFunction<NativeClang_formatDiagnostic>>( |
| 'clang_formatDiagnostic'); |
| late final _clang_formatDiagnostic = |
| _clang_formatDiagnosticPtr.asFunction<DartClang_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(); |
| } |
| |
| late final _clang_defaultDiagnosticDisplayOptionsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_defaultDiagnosticDisplayOptions>>( |
| 'clang_defaultDiagnosticDisplayOptions'); |
| late final _clang_defaultDiagnosticDisplayOptions = |
| _clang_defaultDiagnosticDisplayOptionsPtr |
| .asFunction<DartClang_defaultDiagnosticDisplayOptions>(); |
| |
| /// Determine the severity of the given diagnostic. |
| int clang_getDiagnosticSeverity( |
| CXDiagnostic arg0, |
| ) { |
| return _clang_getDiagnosticSeverity( |
| arg0, |
| ); |
| } |
| |
| late final _clang_getDiagnosticSeverityPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticSeverity>>( |
| 'clang_getDiagnosticSeverity'); |
| late final _clang_getDiagnosticSeverity = _clang_getDiagnosticSeverityPtr |
| .asFunction<DartClang_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( |
| CXDiagnostic arg0, |
| ) { |
| return _clang_getDiagnosticLocation( |
| arg0, |
| ); |
| } |
| |
| late final _clang_getDiagnosticLocationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticLocation>>( |
| 'clang_getDiagnosticLocation'); |
| late final _clang_getDiagnosticLocation = _clang_getDiagnosticLocationPtr |
| .asFunction<DartClang_getDiagnosticLocation>(); |
| |
| /// Retrieve the text of the given diagnostic. |
| CXString clang_getDiagnosticSpelling( |
| CXDiagnostic arg0, |
| ) { |
| return _clang_getDiagnosticSpelling( |
| arg0, |
| ); |
| } |
| |
| late final _clang_getDiagnosticSpellingPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticSpelling>>( |
| 'clang_getDiagnosticSpelling'); |
| late final _clang_getDiagnosticSpelling = _clang_getDiagnosticSpellingPtr |
| .asFunction<DartClang_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( |
| CXDiagnostic Diag, |
| ffi.Pointer<CXString> Disable, |
| ) { |
| return _clang_getDiagnosticOption( |
| Diag, |
| Disable, |
| ); |
| } |
| |
| late final _clang_getDiagnosticOptionPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticOption>>( |
| 'clang_getDiagnosticOption'); |
| late final _clang_getDiagnosticOption = |
| _clang_getDiagnosticOptionPtr.asFunction<DartClang_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( |
| CXDiagnostic arg0, |
| ) { |
| return _clang_getDiagnosticCategory( |
| arg0, |
| ); |
| } |
| |
| late final _clang_getDiagnosticCategoryPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticCategory>>( |
| 'clang_getDiagnosticCategory'); |
| late final _clang_getDiagnosticCategory = _clang_getDiagnosticCategoryPtr |
| .asFunction<DartClang_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( |
| Category, |
| ); |
| } |
| |
| late final _clang_getDiagnosticCategoryNamePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticCategoryName>>( |
| 'clang_getDiagnosticCategoryName'); |
| late final _clang_getDiagnosticCategoryName = |
| _clang_getDiagnosticCategoryNamePtr |
| .asFunction<DartClang_getDiagnosticCategoryName>(); |
| |
| /// Retrieve the diagnostic category text for a given diagnostic. |
| /// |
| /// \returns The text of the given diagnostic category. |
| CXString clang_getDiagnosticCategoryText( |
| CXDiagnostic arg0, |
| ) { |
| return _clang_getDiagnosticCategoryText( |
| arg0, |
| ); |
| } |
| |
| late final _clang_getDiagnosticCategoryTextPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticCategoryText>>( |
| 'clang_getDiagnosticCategoryText'); |
| late final _clang_getDiagnosticCategoryText = |
| _clang_getDiagnosticCategoryTextPtr |
| .asFunction<DartClang_getDiagnosticCategoryText>(); |
| |
| /// Determine the number of source ranges associated with the given |
| /// diagnostic. |
| int clang_getDiagnosticNumRanges( |
| CXDiagnostic arg0, |
| ) { |
| return _clang_getDiagnosticNumRanges( |
| arg0, |
| ); |
| } |
| |
| late final _clang_getDiagnosticNumRangesPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticNumRanges>>( |
| 'clang_getDiagnosticNumRanges'); |
| late final _clang_getDiagnosticNumRanges = _clang_getDiagnosticNumRangesPtr |
| .asFunction<DartClang_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( |
| CXDiagnostic Diagnostic, |
| int Range, |
| ) { |
| return _clang_getDiagnosticRange( |
| Diagnostic, |
| Range, |
| ); |
| } |
| |
| late final _clang_getDiagnosticRangePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticRange>>( |
| 'clang_getDiagnosticRange'); |
| late final _clang_getDiagnosticRange = |
| _clang_getDiagnosticRangePtr.asFunction<DartClang_getDiagnosticRange>(); |
| |
| /// Determine the number of fix-it hints associated with the |
| /// given diagnostic. |
| int clang_getDiagnosticNumFixIts( |
| CXDiagnostic Diagnostic, |
| ) { |
| return _clang_getDiagnosticNumFixIts( |
| Diagnostic, |
| ); |
| } |
| |
| late final _clang_getDiagnosticNumFixItsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticNumFixIts>>( |
| 'clang_getDiagnosticNumFixIts'); |
| late final _clang_getDiagnosticNumFixIts = _clang_getDiagnosticNumFixItsPtr |
| .asFunction<DartClang_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( |
| CXDiagnostic Diagnostic, |
| int FixIt, |
| ffi.Pointer<CXSourceRange> ReplacementRange, |
| ) { |
| return _clang_getDiagnosticFixIt( |
| Diagnostic, |
| FixIt, |
| ReplacementRange, |
| ); |
| } |
| |
| late final _clang_getDiagnosticFixItPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDiagnosticFixIt>>( |
| 'clang_getDiagnosticFixIt'); |
| late final _clang_getDiagnosticFixIt = |
| _clang_getDiagnosticFixItPtr.asFunction<DartClang_getDiagnosticFixIt>(); |
| |
| /// Get the original translation unit source file name. |
| CXString clang_getTranslationUnitSpelling( |
| CXTranslationUnit CTUnit, |
| ) { |
| return _clang_getTranslationUnitSpelling( |
| CTUnit, |
| ); |
| } |
| |
| late final _clang_getTranslationUnitSpellingPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getTranslationUnitSpelling>>( |
| 'clang_getTranslationUnitSpelling'); |
| late final _clang_getTranslationUnitSpelling = |
| _clang_getTranslationUnitSpellingPtr |
| .asFunction<DartClang_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. |
| CXTranslationUnit clang_createTranslationUnitFromSourceFile( |
| CXIndex CIdx, |
| ffi.Pointer<ffi.Char> source_filename, |
| int num_clang_command_line_args, |
| ffi.Pointer<ffi.Pointer<ffi.Char>> clang_command_line_args, |
| int num_unsaved_files, |
| ffi.Pointer<CXUnsavedFile> unsaved_files, |
| ) { |
| return _clang_createTranslationUnitFromSourceFile( |
| CIdx, |
| source_filename, |
| num_clang_command_line_args, |
| clang_command_line_args, |
| num_unsaved_files, |
| unsaved_files, |
| ); |
| } |
| |
| late final _clang_createTranslationUnitFromSourceFilePtr = _lookup< |
| ffi.NativeFunction<NativeClang_createTranslationUnitFromSourceFile>>( |
| 'clang_createTranslationUnitFromSourceFile'); |
| late final _clang_createTranslationUnitFromSourceFile = |
| _clang_createTranslationUnitFromSourceFilePtr |
| .asFunction<DartClang_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. |
| CXTranslationUnit clang_createTranslationUnit( |
| CXIndex CIdx, |
| ffi.Pointer<ffi.Char> ast_filename, |
| ) { |
| return _clang_createTranslationUnit( |
| CIdx, |
| ast_filename, |
| ); |
| } |
| |
| late final _clang_createTranslationUnitPtr = |
| _lookup<ffi.NativeFunction<NativeClang_createTranslationUnit>>( |
| 'clang_createTranslationUnit'); |
| late final _clang_createTranslationUnit = _clang_createTranslationUnitPtr |
| .asFunction<DartClang_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( |
| CXIndex CIdx, |
| ffi.Pointer<ffi.Char> ast_filename, |
| ffi.Pointer<CXTranslationUnit> out_TU, |
| ) { |
| return _clang_createTranslationUnit2( |
| CIdx, |
| ast_filename, |
| out_TU, |
| ); |
| } |
| |
| late final _clang_createTranslationUnit2Ptr = |
| _lookup<ffi.NativeFunction<NativeClang_createTranslationUnit2>>( |
| 'clang_createTranslationUnit2'); |
| late final _clang_createTranslationUnit2 = _clang_createTranslationUnit2Ptr |
| .asFunction<DartClang_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(); |
| } |
| |
| late final _clang_defaultEditingTranslationUnitOptionsPtr = _lookup< |
| ffi.NativeFunction<NativeClang_defaultEditingTranslationUnitOptions>>( |
| 'clang_defaultEditingTranslationUnitOptions'); |
| late final _clang_defaultEditingTranslationUnitOptions = |
| _clang_defaultEditingTranslationUnitOptionsPtr |
| .asFunction<DartClang_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. |
| CXTranslationUnit clang_parseTranslationUnit( |
| CXIndex CIdx, |
| ffi.Pointer<ffi.Char> source_filename, |
| ffi.Pointer<ffi.Pointer<ffi.Char>> command_line_args, |
| int num_command_line_args, |
| ffi.Pointer<CXUnsavedFile> unsaved_files, |
| int num_unsaved_files, |
| int options, |
| ) { |
| return _clang_parseTranslationUnit( |
| CIdx, |
| source_filename, |
| command_line_args, |
| num_command_line_args, |
| unsaved_files, |
| num_unsaved_files, |
| options, |
| ); |
| } |
| |
| late final _clang_parseTranslationUnitPtr = |
| _lookup<ffi.NativeFunction<NativeClang_parseTranslationUnit>>( |
| 'clang_parseTranslationUnit'); |
| late final _clang_parseTranslationUnit = _clang_parseTranslationUnitPtr |
| .asFunction<DartClang_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( |
| CXIndex CIdx, |
| ffi.Pointer<ffi.Char> source_filename, |
| ffi.Pointer<ffi.Pointer<ffi.Char>> command_line_args, |
| int num_command_line_args, |
| ffi.Pointer<CXUnsavedFile> unsaved_files, |
| int num_unsaved_files, |
| int options, |
| ffi.Pointer<CXTranslationUnit> out_TU, |
| ) { |
| return _clang_parseTranslationUnit2( |
| CIdx, |
| source_filename, |
| command_line_args, |
| num_command_line_args, |
| unsaved_files, |
| num_unsaved_files, |
| options, |
| out_TU, |
| ); |
| } |
| |
| late final _clang_parseTranslationUnit2Ptr = |
| _lookup<ffi.NativeFunction<NativeClang_parseTranslationUnit2>>( |
| 'clang_parseTranslationUnit2'); |
| late final _clang_parseTranslationUnit2 = _clang_parseTranslationUnit2Ptr |
| .asFunction<DartClang_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( |
| CXIndex CIdx, |
| ffi.Pointer<ffi.Char> source_filename, |
| ffi.Pointer<ffi.Pointer<ffi.Char>> command_line_args, |
| int num_command_line_args, |
| ffi.Pointer<CXUnsavedFile> unsaved_files, |
| int num_unsaved_files, |
| int options, |
| ffi.Pointer<CXTranslationUnit> out_TU, |
| ) { |
| return _clang_parseTranslationUnit2FullArgv( |
| CIdx, |
| source_filename, |
| command_line_args, |
| num_command_line_args, |
| unsaved_files, |
| num_unsaved_files, |
| options, |
| out_TU, |
| ); |
| } |
| |
| late final _clang_parseTranslationUnit2FullArgvPtr = |
| _lookup<ffi.NativeFunction<NativeClang_parseTranslationUnit2FullArgv>>( |
| 'clang_parseTranslationUnit2FullArgv'); |
| late final _clang_parseTranslationUnit2FullArgv = |
| _clang_parseTranslationUnit2FullArgvPtr |
| .asFunction<DartClang_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( |
| CXTranslationUnit TU, |
| ) { |
| return _clang_defaultSaveOptions( |
| TU, |
| ); |
| } |
| |
| late final _clang_defaultSaveOptionsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_defaultSaveOptions>>( |
| 'clang_defaultSaveOptions'); |
| late final _clang_defaultSaveOptions = |
| _clang_defaultSaveOptionsPtr.asFunction<DartClang_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( |
| CXTranslationUnit TU, |
| ffi.Pointer<ffi.Char> FileName, |
| int options, |
| ) { |
| return _clang_saveTranslationUnit( |
| TU, |
| FileName, |
| options, |
| ); |
| } |
| |
| late final _clang_saveTranslationUnitPtr = |
| _lookup<ffi.NativeFunction<NativeClang_saveTranslationUnit>>( |
| 'clang_saveTranslationUnit'); |
| late final _clang_saveTranslationUnit = |
| _clang_saveTranslationUnitPtr.asFunction<DartClang_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( |
| CXTranslationUnit arg0, |
| ) { |
| return _clang_suspendTranslationUnit( |
| arg0, |
| ); |
| } |
| |
| late final _clang_suspendTranslationUnitPtr = |
| _lookup<ffi.NativeFunction<NativeClang_suspendTranslationUnit>>( |
| 'clang_suspendTranslationUnit'); |
| late final _clang_suspendTranslationUnit = _clang_suspendTranslationUnitPtr |
| .asFunction<DartClang_suspendTranslationUnit>(); |
| |
| /// Destroy the specified CXTranslationUnit object. |
| void clang_disposeTranslationUnit( |
| CXTranslationUnit arg0, |
| ) { |
| return _clang_disposeTranslationUnit( |
| arg0, |
| ); |
| } |
| |
| late final _clang_disposeTranslationUnitPtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeTranslationUnit>>( |
| 'clang_disposeTranslationUnit'); |
| late final _clang_disposeTranslationUnit = _clang_disposeTranslationUnitPtr |
| .asFunction<DartClang_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( |
| CXTranslationUnit TU, |
| ) { |
| return _clang_defaultReparseOptions( |
| TU, |
| ); |
| } |
| |
| late final _clang_defaultReparseOptionsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_defaultReparseOptions>>( |
| 'clang_defaultReparseOptions'); |
| late final _clang_defaultReparseOptions = _clang_defaultReparseOptionsPtr |
| .asFunction<DartClang_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( |
| CXTranslationUnit TU, |
| int num_unsaved_files, |
| ffi.Pointer<CXUnsavedFile> unsaved_files, |
| int options, |
| ) { |
| return _clang_reparseTranslationUnit( |
| TU, |
| num_unsaved_files, |
| unsaved_files, |
| options, |
| ); |
| } |
| |
| late final _clang_reparseTranslationUnitPtr = |
| _lookup<ffi.NativeFunction<NativeClang_reparseTranslationUnit>>( |
| 'clang_reparseTranslationUnit'); |
| late final _clang_reparseTranslationUnit = _clang_reparseTranslationUnitPtr |
| .asFunction<DartClang_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.Char> clang_getTUResourceUsageName( |
| int kind, |
| ) { |
| return _clang_getTUResourceUsageName( |
| kind, |
| ); |
| } |
| |
| late final _clang_getTUResourceUsageNamePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getTUResourceUsageName>>( |
| 'clang_getTUResourceUsageName'); |
| late final _clang_getTUResourceUsageName = _clang_getTUResourceUsageNamePtr |
| .asFunction<DartClang_getTUResourceUsageName>(); |
| |
| /// Return the memory usage of a translation unit. This object |
| /// should be released with clang_disposeCXTUResourceUsage(). |
| CXTUResourceUsage clang_getCXTUResourceUsage( |
| CXTranslationUnit TU, |
| ) { |
| return _clang_getCXTUResourceUsage( |
| TU, |
| ); |
| } |
| |
| late final _clang_getCXTUResourceUsagePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCXTUResourceUsage>>( |
| 'clang_getCXTUResourceUsage'); |
| late final _clang_getCXTUResourceUsage = _clang_getCXTUResourceUsagePtr |
| .asFunction<DartClang_getCXTUResourceUsage>(); |
| |
| void clang_disposeCXTUResourceUsage( |
| CXTUResourceUsage usage, |
| ) { |
| return _clang_disposeCXTUResourceUsage( |
| usage, |
| ); |
| } |
| |
| late final _clang_disposeCXTUResourceUsagePtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeCXTUResourceUsage>>( |
| 'clang_disposeCXTUResourceUsage'); |
| late final _clang_disposeCXTUResourceUsage = |
| _clang_disposeCXTUResourceUsagePtr |
| .asFunction<DartClang_disposeCXTUResourceUsage>(); |
| |
| /// Get target information for this translation unit. |
| /// |
| /// The CXTargetInfo object cannot outlive the CXTranslationUnit object. |
| CXTargetInfo clang_getTranslationUnitTargetInfo( |
| CXTranslationUnit CTUnit, |
| ) { |
| return _clang_getTranslationUnitTargetInfo( |
| CTUnit, |
| ); |
| } |
| |
| late final _clang_getTranslationUnitTargetInfoPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getTranslationUnitTargetInfo>>( |
| 'clang_getTranslationUnitTargetInfo'); |
| late final _clang_getTranslationUnitTargetInfo = |
| _clang_getTranslationUnitTargetInfoPtr |
| .asFunction<DartClang_getTranslationUnitTargetInfo>(); |
| |
| /// Destroy the CXTargetInfo object. |
| void clang_TargetInfo_dispose( |
| CXTargetInfo Info, |
| ) { |
| return _clang_TargetInfo_dispose( |
| Info, |
| ); |
| } |
| |
| late final _clang_TargetInfo_disposePtr = |
| _lookup<ffi.NativeFunction<NativeClang_TargetInfo_dispose>>( |
| 'clang_TargetInfo_dispose'); |
| late final _clang_TargetInfo_dispose = |
| _clang_TargetInfo_disposePtr.asFunction<DartClang_TargetInfo_dispose>(); |
| |
| /// Get the normalized target triple as a string. |
| /// |
| /// Returns the empty string in case of any error. |
| CXString clang_TargetInfo_getTriple( |
| CXTargetInfo Info, |
| ) { |
| return _clang_TargetInfo_getTriple( |
| Info, |
| ); |
| } |
| |
| late final _clang_TargetInfo_getTriplePtr = |
| _lookup<ffi.NativeFunction<NativeClang_TargetInfo_getTriple>>( |
| 'clang_TargetInfo_getTriple'); |
| late final _clang_TargetInfo_getTriple = _clang_TargetInfo_getTriplePtr |
| .asFunction<DartClang_TargetInfo_getTriple>(); |
| |
| /// Get the pointer width of the target in bits. |
| /// |
| /// Returns -1 in case of error. |
| int clang_TargetInfo_getPointerWidth( |
| CXTargetInfo Info, |
| ) { |
| return _clang_TargetInfo_getPointerWidth( |
| Info, |
| ); |
| } |
| |
| late final _clang_TargetInfo_getPointerWidthPtr = |
| _lookup<ffi.NativeFunction<NativeClang_TargetInfo_getPointerWidth>>( |
| 'clang_TargetInfo_getPointerWidth'); |
| late final _clang_TargetInfo_getPointerWidth = |
| _clang_TargetInfo_getPointerWidthPtr |
| .asFunction<DartClang_TargetInfo_getPointerWidth>(); |
| |
| /// Retrieve the NULL cursor, which represents no entity. |
| CXCursor clang_getNullCursor() { |
| return _clang_getNullCursor(); |
| } |
| |
| late final _clang_getNullCursorPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getNullCursor>>( |
| 'clang_getNullCursor'); |
| late final _clang_getNullCursor = |
| _clang_getNullCursorPtr.asFunction<DartClang_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( |
| CXTranslationUnit arg0, |
| ) { |
| return _clang_getTranslationUnitCursor( |
| arg0, |
| ); |
| } |
| |
| late final _clang_getTranslationUnitCursorPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getTranslationUnitCursor>>( |
| 'clang_getTranslationUnitCursor'); |
| late final _clang_getTranslationUnitCursor = |
| _clang_getTranslationUnitCursorPtr |
| .asFunction<DartClang_getTranslationUnitCursor>(); |
| |
| /// Determine whether two cursors are equivalent. |
| int clang_equalCursors( |
| CXCursor arg0, |
| CXCursor arg1, |
| ) { |
| return _clang_equalCursors( |
| arg0, |
| arg1, |
| ); |
| } |
| |
| late final _clang_equalCursorsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_equalCursors>>( |
| 'clang_equalCursors'); |
| late final _clang_equalCursors = |
| _clang_equalCursorsPtr.asFunction<DartClang_equalCursors>(); |
| |
| /// Returns non-zero if \p cursor is null. |
| int clang_Cursor_isNull( |
| CXCursor cursor, |
| ) { |
| return _clang_Cursor_isNull( |
| cursor, |
| ); |
| } |
| |
| late final _clang_Cursor_isNullPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_isNull>>( |
| 'clang_Cursor_isNull'); |
| late final _clang_Cursor_isNull = |
| _clang_Cursor_isNullPtr.asFunction<DartClang_Cursor_isNull>(); |
| |
| /// Compute a hash value for the given cursor. |
| int clang_hashCursor( |
| CXCursor arg0, |
| ) { |
| return _clang_hashCursor( |
| arg0, |
| ); |
| } |
| |
| late final _clang_hashCursorPtr = |
| _lookup<ffi.NativeFunction<NativeClang_hashCursor>>('clang_hashCursor'); |
| late final _clang_hashCursor = |
| _clang_hashCursorPtr.asFunction<DartClang_hashCursor>(); |
| |
| /// Retrieve the kind of the given cursor. |
| int clang_getCursorKind( |
| CXCursor arg0, |
| ) { |
| return _clang_getCursorKind( |
| arg0, |
| ); |
| } |
| |
| late final _clang_getCursorKindPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorKind>>( |
| 'clang_getCursorKind'); |
| late final _clang_getCursorKind = |
| _clang_getCursorKindPtr.asFunction<DartClang_getCursorKind>(); |
| |
| /// Determine whether the given cursor kind represents a declaration. |
| int clang_isDeclaration( |
| int arg0, |
| ) { |
| return _clang_isDeclaration( |
| arg0, |
| ); |
| } |
| |
| late final _clang_isDeclarationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_isDeclaration>>( |
| 'clang_isDeclaration'); |
| late final _clang_isDeclaration = |
| _clang_isDeclarationPtr.asFunction<DartClang_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( |
| arg0, |
| ); |
| } |
| |
| late final _clang_isInvalidDeclarationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_isInvalidDeclaration>>( |
| 'clang_isInvalidDeclaration'); |
| late final _clang_isInvalidDeclaration = _clang_isInvalidDeclarationPtr |
| .asFunction<DartClang_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( |
| arg0, |
| ); |
| } |
| |
| late final _clang_isReferencePtr = |
| _lookup<ffi.NativeFunction<NativeClang_isReference>>('clang_isReference'); |
| late final _clang_isReference = |
| _clang_isReferencePtr.asFunction<DartClang_isReference>(); |
| |
| /// Determine whether the given cursor kind represents an expression. |
| int clang_isExpression( |
| int arg0, |
| ) { |
| return _clang_isExpression( |
| arg0, |
| ); |
| } |
| |
| late final _clang_isExpressionPtr = |
| _lookup<ffi.NativeFunction<NativeClang_isExpression>>( |
| 'clang_isExpression'); |
| late final _clang_isExpression = |
| _clang_isExpressionPtr.asFunction<DartClang_isExpression>(); |
| |
| /// Determine whether the given cursor kind represents a statement. |
| int clang_isStatement( |
| int arg0, |
| ) { |
| return _clang_isStatement( |
| arg0, |
| ); |
| } |
| |
| late final _clang_isStatementPtr = |
| _lookup<ffi.NativeFunction<NativeClang_isStatement>>('clang_isStatement'); |
| late final _clang_isStatement = |
| _clang_isStatementPtr.asFunction<DartClang_isStatement>(); |
| |
| /// Determine whether the given cursor kind represents an attribute. |
| int clang_isAttribute( |
| int arg0, |
| ) { |
| return _clang_isAttribute( |
| arg0, |
| ); |
| } |
| |
| late final _clang_isAttributePtr = |
| _lookup<ffi.NativeFunction<NativeClang_isAttribute>>('clang_isAttribute'); |
| late final _clang_isAttribute = |
| _clang_isAttributePtr.asFunction<DartClang_isAttribute>(); |
| |
| /// Determine whether the given cursor has any attributes. |
| int clang_Cursor_hasAttrs( |
| CXCursor C, |
| ) { |
| return _clang_Cursor_hasAttrs( |
| C, |
| ); |
| } |
| |
| late final _clang_Cursor_hasAttrsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_hasAttrs>>( |
| 'clang_Cursor_hasAttrs'); |
| late final _clang_Cursor_hasAttrs = |
| _clang_Cursor_hasAttrsPtr.asFunction<DartClang_Cursor_hasAttrs>(); |
| |
| /// Determine whether the given cursor kind represents an invalid |
| /// cursor. |
| int clang_isInvalid( |
| int arg0, |
| ) { |
| return _clang_isInvalid( |
| arg0, |
| ); |
| } |
| |
| late final _clang_isInvalidPtr = |
| _lookup<ffi.NativeFunction<NativeClang_isInvalid>>('clang_isInvalid'); |
| late final _clang_isInvalid = |
| _clang_isInvalidPtr.asFunction<DartClang_isInvalid>(); |
| |
| /// Determine whether the given cursor kind represents a translation |
| /// unit. |
| int clang_isTranslationUnit( |
| int arg0, |
| ) { |
| return _clang_isTranslationUnit( |
| arg0, |
| ); |
| } |
| |
| late final _clang_isTranslationUnitPtr = |
| _lookup<ffi.NativeFunction<NativeClang_isTranslationUnit>>( |
| 'clang_isTranslationUnit'); |
| late final _clang_isTranslationUnit = |
| _clang_isTranslationUnitPtr.asFunction<DartClang_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( |
| arg0, |
| ); |
| } |
| |
| late final _clang_isPreprocessingPtr = |
| _lookup<ffi.NativeFunction<NativeClang_isPreprocessing>>( |
| 'clang_isPreprocessing'); |
| late final _clang_isPreprocessing = |
| _clang_isPreprocessingPtr.asFunction<DartClang_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( |
| arg0, |
| ); |
| } |
| |
| late final _clang_isUnexposedPtr = |
| _lookup<ffi.NativeFunction<NativeClang_isUnexposed>>('clang_isUnexposed'); |
| late final _clang_isUnexposed = |
| _clang_isUnexposedPtr.asFunction<DartClang_isUnexposed>(); |
| |
| /// Determine the linkage of the entity referred to by a given cursor. |
| int clang_getCursorLinkage( |
| CXCursor cursor, |
| ) { |
| return _clang_getCursorLinkage( |
| cursor, |
| ); |
| } |
| |
| late final _clang_getCursorLinkagePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorLinkage>>( |
| 'clang_getCursorLinkage'); |
| late final _clang_getCursorLinkage = |
| _clang_getCursorLinkagePtr.asFunction<DartClang_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( |
| cursor, |
| ); |
| } |
| |
| late final _clang_getCursorVisibilityPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorVisibility>>( |
| 'clang_getCursorVisibility'); |
| late final _clang_getCursorVisibility = |
| _clang_getCursorVisibilityPtr.asFunction<DartClang_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( |
| cursor, |
| ); |
| } |
| |
| late final _clang_getCursorAvailabilityPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorAvailability>>( |
| 'clang_getCursorAvailability'); |
| late final _clang_getCursorAvailability = _clang_getCursorAvailabilityPtr |
| .asFunction<DartClang_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.Int> always_deprecated, |
| ffi.Pointer<CXString> deprecated_message, |
| ffi.Pointer<ffi.Int> always_unavailable, |
| ffi.Pointer<CXString> unavailable_message, |
| ffi.Pointer<CXPlatformAvailability> availability, |
| int availability_size, |
| ) { |
| return _clang_getCursorPlatformAvailability( |
| cursor, |
| always_deprecated, |
| deprecated_message, |
| always_unavailable, |
| unavailable_message, |
| availability, |
| availability_size, |
| ); |
| } |
| |
| late final _clang_getCursorPlatformAvailabilityPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorPlatformAvailability>>( |
| 'clang_getCursorPlatformAvailability'); |
| late final _clang_getCursorPlatformAvailability = |
| _clang_getCursorPlatformAvailabilityPtr |
| .asFunction<DartClang_getCursorPlatformAvailability>(); |
| |
| /// Free the memory associated with a \c CXPlatformAvailability structure. |
| void clang_disposeCXPlatformAvailability( |
| ffi.Pointer<CXPlatformAvailability> availability, |
| ) { |
| return _clang_disposeCXPlatformAvailability( |
| availability, |
| ); |
| } |
| |
| late final _clang_disposeCXPlatformAvailabilityPtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeCXPlatformAvailability>>( |
| 'clang_disposeCXPlatformAvailability'); |
| late final _clang_disposeCXPlatformAvailability = |
| _clang_disposeCXPlatformAvailabilityPtr |
| .asFunction<DartClang_disposeCXPlatformAvailability>(); |
| |
| /// Determine the "language" of the entity referred to by a given cursor. |
| int clang_getCursorLanguage( |
| CXCursor cursor, |
| ) { |
| return _clang_getCursorLanguage( |
| cursor, |
| ); |
| } |
| |
| late final _clang_getCursorLanguagePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorLanguage>>( |
| 'clang_getCursorLanguage'); |
| late final _clang_getCursorLanguage = |
| _clang_getCursorLanguagePtr.asFunction<DartClang_getCursorLanguage>(); |
| |
| /// Determine the "thread-local storage (TLS) kind" of the declaration |
| /// referred to by a cursor. |
| int clang_getCursorTLSKind( |
| CXCursor cursor, |
| ) { |
| return _clang_getCursorTLSKind( |
| cursor, |
| ); |
| } |
| |
| late final _clang_getCursorTLSKindPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorTLSKind>>( |
| 'clang_getCursorTLSKind'); |
| late final _clang_getCursorTLSKind = |
| _clang_getCursorTLSKindPtr.asFunction<DartClang_getCursorTLSKind>(); |
| |
| /// Returns the translation unit that a cursor originated from. |
| CXTranslationUnit clang_Cursor_getTranslationUnit( |
| CXCursor arg0, |
| ) { |
| return _clang_Cursor_getTranslationUnit( |
| arg0, |
| ); |
| } |
| |
| late final _clang_Cursor_getTranslationUnitPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_getTranslationUnit>>( |
| 'clang_Cursor_getTranslationUnit'); |
| late final _clang_Cursor_getTranslationUnit = |
| _clang_Cursor_getTranslationUnitPtr |
| .asFunction<DartClang_Cursor_getTranslationUnit>(); |
| |
| /// Creates an empty CXCursorSet. |
| CXCursorSet clang_createCXCursorSet() { |
| return _clang_createCXCursorSet(); |
| } |
| |
| late final _clang_createCXCursorSetPtr = |
| _lookup<ffi.NativeFunction<NativeClang_createCXCursorSet>>( |
| 'clang_createCXCursorSet'); |
| late final _clang_createCXCursorSet = |
| _clang_createCXCursorSetPtr.asFunction<DartClang_createCXCursorSet>(); |
| |
| /// Disposes a CXCursorSet and releases its associated memory. |
| void clang_disposeCXCursorSet( |
| CXCursorSet cset, |
| ) { |
| return _clang_disposeCXCursorSet( |
| cset, |
| ); |
| } |
| |
| late final _clang_disposeCXCursorSetPtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeCXCursorSet>>( |
| 'clang_disposeCXCursorSet'); |
| late final _clang_disposeCXCursorSet = |
| _clang_disposeCXCursorSetPtr.asFunction<DartClang_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( |
| CXCursorSet cset, |
| CXCursor cursor, |
| ) { |
| return _clang_CXCursorSet_contains( |
| cset, |
| cursor, |
| ); |
| } |
| |
| late final _clang_CXCursorSet_containsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_CXCursorSet_contains>>( |
| 'clang_CXCursorSet_contains'); |
| late final _clang_CXCursorSet_contains = _clang_CXCursorSet_containsPtr |
| .asFunction<DartClang_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( |
| CXCursorSet cset, |
| CXCursor cursor, |
| ) { |
| return _clang_CXCursorSet_insert( |
| cset, |
| cursor, |
| ); |
| } |
| |
| late final _clang_CXCursorSet_insertPtr = |
| _lookup<ffi.NativeFunction<NativeClang_CXCursorSet_insert>>( |
| 'clang_CXCursorSet_insert'); |
| late final _clang_CXCursorSet_insert = |
| _clang_CXCursorSet_insertPtr.asFunction<DartClang_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( |
| cursor, |
| ); |
| } |
| |
| late final _clang_getCursorSemanticParentPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorSemanticParent>>( |
| 'clang_getCursorSemanticParent'); |
| late final _clang_getCursorSemanticParent = _clang_getCursorSemanticParentPtr |
| .asFunction<DartClang_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( |
| cursor, |
| ); |
| } |
| |
| late final _clang_getCursorLexicalParentPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorLexicalParent>>( |
| 'clang_getCursorLexicalParent'); |
| late final _clang_getCursorLexicalParent = _clang_getCursorLexicalParentPtr |
| .asFunction<DartClang_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.UnsignedInt> num_overridden, |
| ) { |
| return _clang_getOverriddenCursors( |
| cursor, |
| overridden, |
| num_overridden, |
| ); |
| } |
| |
| late final _clang_getOverriddenCursorsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getOverriddenCursors>>( |
| 'clang_getOverriddenCursors'); |
| late final _clang_getOverriddenCursors = _clang_getOverriddenCursorsPtr |
| .asFunction<DartClang_getOverriddenCursors>(); |
| |
| /// Free the set of overridden cursors returned by \c |
| /// clang_getOverriddenCursors(). |
| void clang_disposeOverriddenCursors( |
| ffi.Pointer<CXCursor> overridden, |
| ) { |
| return _clang_disposeOverriddenCursors( |
| overridden, |
| ); |
| } |
| |
| late final _clang_disposeOverriddenCursorsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_disposeOverriddenCursors>>( |
| 'clang_disposeOverriddenCursors'); |
| late final _clang_disposeOverriddenCursors = |
| _clang_disposeOverriddenCursorsPtr |
| .asFunction<DartClang_disposeOverriddenCursors>(); |
| |
| /// Retrieve the file that is included by the given inclusion directive |
| /// cursor. |
| CXFile clang_getIncludedFile( |
| CXCursor cursor, |
| ) { |
| return _clang_getIncludedFile( |
| cursor, |
| ); |
| } |
| |
| late final _clang_getIncludedFilePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getIncludedFile>>( |
| 'clang_getIncludedFile'); |
| late final _clang_getIncludedFile = |
| _clang_getIncludedFilePtr.asFunction<DartClang_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( |
| CXTranslationUnit arg0, |
| CXSourceLocation arg1, |
| ) { |
| return _clang_getCursor( |
| arg0, |
| arg1, |
| ); |
| } |
| |
| late final _clang_getCursorPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursor>>('clang_getCursor'); |
| late final _clang_getCursor = |
| _clang_getCursorPtr.asFunction<DartClang_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( |
| arg0, |
| ); |
| } |
| |
| late final _clang_getCursorLocationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorLocation>>( |
| 'clang_getCursorLocation'); |
| late final _clang_getCursorLocation = |
| _clang_getCursorLocationPtr.asFunction<DartClang_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( |
| arg0, |
| ); |
| } |
| |
| late final _clang_getCursorExtentPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorExtent>>( |
| 'clang_getCursorExtent'); |
| late final _clang_getCursorExtent = |
| _clang_getCursorExtentPtr.asFunction<DartClang_getCursorExtent>(); |
| |
| /// Retrieve the type of a CXCursor (if any). |
| CXType clang_getCursorType( |
| CXCursor C, |
| ) { |
| return _clang_getCursorType( |
| C, |
| ); |
| } |
| |
| late final _clang_getCursorTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorType>>( |
| 'clang_getCursorType'); |
| late final _clang_getCursorType = |
| _clang_getCursorTypePtr.asFunction<DartClang_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( |
| CT, |
| ); |
| } |
| |
| late final _clang_getTypeSpellingPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getTypeSpelling>>( |
| 'clang_getTypeSpelling'); |
| late final _clang_getTypeSpelling = |
| _clang_getTypeSpellingPtr.asFunction<DartClang_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( |
| C, |
| ); |
| } |
| |
| late final _clang_getTypedefDeclUnderlyingTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getTypedefDeclUnderlyingType>>( |
| 'clang_getTypedefDeclUnderlyingType'); |
| late final _clang_getTypedefDeclUnderlyingType = |
| _clang_getTypedefDeclUnderlyingTypePtr |
| .asFunction<DartClang_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( |
| C, |
| ); |
| } |
| |
| late final _clang_getEnumDeclIntegerTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getEnumDeclIntegerType>>( |
| 'clang_getEnumDeclIntegerType'); |
| late final _clang_getEnumDeclIntegerType = _clang_getEnumDeclIntegerTypePtr |
| .asFunction<DartClang_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( |
| C, |
| ); |
| } |
| |
| late final _clang_getEnumConstantDeclValuePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getEnumConstantDeclValue>>( |
| 'clang_getEnumConstantDeclValue'); |
| late final _clang_getEnumConstantDeclValue = |
| _clang_getEnumConstantDeclValuePtr |
| .asFunction<DartClang_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( |
| C, |
| ); |
| } |
| |
| late final _clang_getEnumConstantDeclUnsignedValuePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getEnumConstantDeclUnsignedValue>>( |
| 'clang_getEnumConstantDeclUnsignedValue'); |
| late final _clang_getEnumConstantDeclUnsignedValue = |
| _clang_getEnumConstantDeclUnsignedValuePtr |
| .asFunction<DartClang_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( |
| C, |
| ); |
| } |
| |
| late final _clang_getFieldDeclBitWidthPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getFieldDeclBitWidth>>( |
| 'clang_getFieldDeclBitWidth'); |
| late final _clang_getFieldDeclBitWidth = _clang_getFieldDeclBitWidthPtr |
| .asFunction<DartClang_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( |
| C, |
| ); |
| } |
| |
| late final _clang_Cursor_getNumArgumentsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_getNumArguments>>( |
| 'clang_Cursor_getNumArguments'); |
| late final _clang_Cursor_getNumArguments = _clang_Cursor_getNumArgumentsPtr |
| .asFunction<DartClang_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( |
| C, |
| i, |
| ); |
| } |
| |
| late final _clang_Cursor_getArgumentPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_getArgument>>( |
| 'clang_Cursor_getArgument'); |
| late final _clang_Cursor_getArgument = |
| _clang_Cursor_getArgumentPtr.asFunction<DartClang_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( |
| C, |
| ); |
| } |
| |
| late final _clang_Cursor_getNumTemplateArgumentsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_getNumTemplateArguments>>( |
| 'clang_Cursor_getNumTemplateArguments'); |
| late final _clang_Cursor_getNumTemplateArguments = |
| _clang_Cursor_getNumTemplateArgumentsPtr |
| .asFunction<DartClang_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( |
| C, |
| I, |
| ); |
| } |
| |
| late final _clang_Cursor_getTemplateArgumentKindPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_getTemplateArgumentKind>>( |
| 'clang_Cursor_getTemplateArgumentKind'); |
| late final _clang_Cursor_getTemplateArgumentKind = |
| _clang_Cursor_getTemplateArgumentKindPtr |
| .asFunction<DartClang_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( |
| C, |
| I, |
| ); |
| } |
| |
| late final _clang_Cursor_getTemplateArgumentTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_getTemplateArgumentType>>( |
| 'clang_Cursor_getTemplateArgumentType'); |
| late final _clang_Cursor_getTemplateArgumentType = |
| _clang_Cursor_getTemplateArgumentTypePtr |
| .asFunction<DartClang_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( |
| C, |
| I, |
| ); |
| } |
| |
| late final _clang_Cursor_getTemplateArgumentValuePtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_getTemplateArgumentValue>>( |
| 'clang_Cursor_getTemplateArgumentValue'); |
| late final _clang_Cursor_getTemplateArgumentValue = |
| _clang_Cursor_getTemplateArgumentValuePtr |
| .asFunction<DartClang_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( |
| C, |
| I, |
| ); |
| } |
| |
| late final _clang_Cursor_getTemplateArgumentUnsignedValuePtr = _lookup< |
| ffi.NativeFunction< |
| NativeClang_Cursor_getTemplateArgumentUnsignedValue>>( |
| 'clang_Cursor_getTemplateArgumentUnsignedValue'); |
| late final _clang_Cursor_getTemplateArgumentUnsignedValue = |
| _clang_Cursor_getTemplateArgumentUnsignedValuePtr |
| .asFunction<DartClang_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( |
| A, |
| B, |
| ); |
| } |
| |
| late final _clang_equalTypesPtr = |
| _lookup<ffi.NativeFunction<NativeClang_equalTypes>>('clang_equalTypes'); |
| late final _clang_equalTypes = |
| _clang_equalTypesPtr.asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_getCanonicalTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCanonicalType>>( |
| 'clang_getCanonicalType'); |
| late final _clang_getCanonicalType = |
| _clang_getCanonicalTypePtr.asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_isConstQualifiedTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_isConstQualifiedType>>( |
| 'clang_isConstQualifiedType'); |
| late final _clang_isConstQualifiedType = _clang_isConstQualifiedTypePtr |
| .asFunction<DartClang_isConstQualifiedType>(); |
| |
| /// Determine whether a CXCursor that is a macro, is |
| /// function like. |
| int clang_Cursor_isMacroFunctionLike( |
| CXCursor C, |
| ) { |
| return _clang_Cursor_isMacroFunctionLike( |
| C, |
| ); |
| } |
| |
| late final _clang_Cursor_isMacroFunctionLikePtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_isMacroFunctionLike>>( |
| 'clang_Cursor_isMacroFunctionLike'); |
| late final _clang_Cursor_isMacroFunctionLike = |
| _clang_Cursor_isMacroFunctionLikePtr |
| .asFunction<DartClang_Cursor_isMacroFunctionLike>(); |
| |
| /// Determine whether a CXCursor that is a macro, is a |
| /// builtin one. |
| int clang_Cursor_isMacroBuiltin( |
| CXCursor C, |
| ) { |
| return _clang_Cursor_isMacroBuiltin( |
| C, |
| ); |
| } |
| |
| late final _clang_Cursor_isMacroBuiltinPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_isMacroBuiltin>>( |
| 'clang_Cursor_isMacroBuiltin'); |
| late final _clang_Cursor_isMacroBuiltin = _clang_Cursor_isMacroBuiltinPtr |
| .asFunction<DartClang_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( |
| C, |
| ); |
| } |
| |
| late final _clang_Cursor_isFunctionInlinedPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Cursor_isFunctionInlined>>( |
| 'clang_Cursor_isFunctionInlined'); |
| late final _clang_Cursor_isFunctionInlined = |
| _clang_Cursor_isFunctionInlinedPtr |
| .asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_isVolatileQualifiedTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_isVolatileQualifiedType>>( |
| 'clang_isVolatileQualifiedType'); |
| late final _clang_isVolatileQualifiedType = _clang_isVolatileQualifiedTypePtr |
| .asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_isRestrictQualifiedTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_isRestrictQualifiedType>>( |
| 'clang_isRestrictQualifiedType'); |
| late final _clang_isRestrictQualifiedType = _clang_isRestrictQualifiedTypePtr |
| .asFunction<DartClang_isRestrictQualifiedType>(); |
| |
| /// Returns the address space of the given type. |
| int clang_getAddressSpace( |
| CXType T, |
| ) { |
| return _clang_getAddressSpace( |
| T, |
| ); |
| } |
| |
| late final _clang_getAddressSpacePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getAddressSpace>>( |
| 'clang_getAddressSpace'); |
| late final _clang_getAddressSpace = |
| _clang_getAddressSpacePtr.asFunction<DartClang_getAddressSpace>(); |
| |
| /// Returns the typedef name of the given type. |
| CXString clang_getTypedefName( |
| CXType CT, |
| ) { |
| return _clang_getTypedefName( |
| CT, |
| ); |
| } |
| |
| late final _clang_getTypedefNamePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getTypedefName>>( |
| 'clang_getTypedefName'); |
| late final _clang_getTypedefName = |
| _clang_getTypedefNamePtr.asFunction<DartClang_getTypedefName>(); |
| |
| /// For pointer types, returns the type of the pointee. |
| CXType clang_getPointeeType( |
| CXType T, |
| ) { |
| return _clang_getPointeeType( |
| T, |
| ); |
| } |
| |
| late final _clang_getPointeeTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getPointeeType>>( |
| 'clang_getPointeeType'); |
| late final _clang_getPointeeType = |
| _clang_getPointeeTypePtr.asFunction<DartClang_getPointeeType>(); |
| |
| /// Return the cursor for the declaration of the given type. |
| CXCursor clang_getTypeDeclaration( |
| CXType T, |
| ) { |
| return _clang_getTypeDeclaration( |
| T, |
| ); |
| } |
| |
| late final _clang_getTypeDeclarationPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getTypeDeclaration>>( |
| 'clang_getTypeDeclaration'); |
| late final _clang_getTypeDeclaration = |
| _clang_getTypeDeclarationPtr.asFunction<DartClang_getTypeDeclaration>(); |
| |
| /// Returns the Objective-C type encoding for the specified declaration. |
| CXString clang_getDeclObjCTypeEncoding( |
| CXCursor C, |
| ) { |
| return _clang_getDeclObjCTypeEncoding( |
| C, |
| ); |
| } |
| |
| late final _clang_getDeclObjCTypeEncodingPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getDeclObjCTypeEncoding>>( |
| 'clang_getDeclObjCTypeEncoding'); |
| late final _clang_getDeclObjCTypeEncoding = _clang_getDeclObjCTypeEncodingPtr |
| .asFunction<DartClang_getDeclObjCTypeEncoding>(); |
| |
| /// Returns the Objective-C type encoding for the specified CXType. |
| CXString clang_Type_getObjCEncoding( |
| CXType type, |
| ) { |
| return _clang_Type_getObjCEncoding( |
| type, |
| ); |
| } |
| |
| late final _clang_Type_getObjCEncodingPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Type_getObjCEncoding>>( |
| 'clang_Type_getObjCEncoding'); |
| late final _clang_Type_getObjCEncoding = _clang_Type_getObjCEncodingPtr |
| .asFunction<DartClang_Type_getObjCEncoding>(); |
| |
| /// Retrieve the spelling of a given CXTypeKind. |
| CXString clang_getTypeKindSpelling( |
| int K, |
| ) { |
| return _clang_getTypeKindSpelling( |
| K, |
| ); |
| } |
| |
| late final _clang_getTypeKindSpellingPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getTypeKindSpelling>>( |
| 'clang_getTypeKindSpelling'); |
| late final _clang_getTypeKindSpelling = |
| _clang_getTypeKindSpellingPtr.asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_getFunctionTypeCallingConvPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getFunctionTypeCallingConv>>( |
| 'clang_getFunctionTypeCallingConv'); |
| late final _clang_getFunctionTypeCallingConv = |
| _clang_getFunctionTypeCallingConvPtr |
| .asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_getResultTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getResultType>>( |
| 'clang_getResultType'); |
| late final _clang_getResultType = |
| _clang_getResultTypePtr.asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_getExceptionSpecificationTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getExceptionSpecificationType>>( |
| 'clang_getExceptionSpecificationType'); |
| late final _clang_getExceptionSpecificationType = |
| _clang_getExceptionSpecificationTypePtr |
| .asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_getNumArgTypesPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getNumArgTypes>>( |
| 'clang_getNumArgTypes'); |
| late final _clang_getNumArgTypes = |
| _clang_getNumArgTypesPtr.asFunction<DartClang_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( |
| T, |
| i, |
| ); |
| } |
| |
| late final _clang_getArgTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getArgType>>('clang_getArgType'); |
| late final _clang_getArgType = |
| _clang_getArgTypePtr.asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_Type_getObjCObjectBaseTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_Type_getObjCObjectBaseType>>( |
| 'clang_Type_getObjCObjectBaseType'); |
| late final _clang_Type_getObjCObjectBaseType = |
| _clang_Type_getObjCObjectBaseTypePtr |
| .asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_Type_getNumObjCProtocolRefsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Type_getNumObjCProtocolRefs>>( |
| 'clang_Type_getNumObjCProtocolRefs'); |
| late final _clang_Type_getNumObjCProtocolRefs = |
| _clang_Type_getNumObjCProtocolRefsPtr |
| .asFunction<DartClang_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( |
| T, |
| i, |
| ); |
| } |
| |
| late final _clang_Type_getObjCProtocolDeclPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Type_getObjCProtocolDecl>>( |
| 'clang_Type_getObjCProtocolDecl'); |
| late final _clang_Type_getObjCProtocolDecl = |
| _clang_Type_getObjCProtocolDeclPtr |
| .asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_Type_getNumObjCTypeArgsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Type_getNumObjCTypeArgs>>( |
| 'clang_Type_getNumObjCTypeArgs'); |
| late final _clang_Type_getNumObjCTypeArgs = _clang_Type_getNumObjCTypeArgsPtr |
| .asFunction<DartClang_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( |
| T, |
| i, |
| ); |
| } |
| |
| late final _clang_Type_getObjCTypeArgPtr = |
| _lookup<ffi.NativeFunction<NativeClang_Type_getObjCTypeArg>>( |
| 'clang_Type_getObjCTypeArg'); |
| late final _clang_Type_getObjCTypeArg = |
| _clang_Type_getObjCTypeArgPtr.asFunction<DartClang_Type_getObjCTypeArg>(); |
| |
| /// Return 1 if the CXType is a variadic function type, and 0 otherwise. |
| int clang_isFunctionTypeVariadic( |
| CXType T, |
| ) { |
| return _clang_isFunctionTypeVariadic( |
| T, |
| ); |
| } |
| |
| late final _clang_isFunctionTypeVariadicPtr = |
| _lookup<ffi.NativeFunction<NativeClang_isFunctionTypeVariadic>>( |
| 'clang_isFunctionTypeVariadic'); |
| late final _clang_isFunctionTypeVariadic = _clang_isFunctionTypeVariadicPtr |
| .asFunction<DartClang_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( |
| C, |
| ); |
| } |
| |
| late final _clang_getCursorResultTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getCursorResultType>>( |
| 'clang_getCursorResultType'); |
| late final _clang_getCursorResultType = |
| _clang_getCursorResultTypePtr.asFunction<DartClang_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( |
| C, |
| ); |
| } |
| |
| late final _clang_getCursorExceptionSpecificationTypePtr = _lookup< |
| ffi.NativeFunction<NativeClang_getCursorExceptionSpecificationType>>( |
| 'clang_getCursorExceptionSpecificationType'); |
| late final _clang_getCursorExceptionSpecificationType = |
| _clang_getCursorExceptionSpecificationTypePtr |
| .asFunction<DartClang_getCursorExceptionSpecificationType>(); |
| |
| /// Return 1 if the CXType is a POD (plain old data) type, and 0 |
| /// otherwise. |
| int clang_isPODType( |
| CXType T, |
| ) { |
| return _clang_isPODType( |
| T, |
| ); |
| } |
| |
| late final _clang_isPODTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_isPODType>>('clang_isPODType'); |
| late final _clang_isPODType = |
| _clang_isPODTypePtr.asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_getElementTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getElementType>>( |
| 'clang_getElementType'); |
| late final _clang_getElementType = |
| _clang_getElementTypePtr.asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_getNumElementsPtr = |
| _lookup<ffi.NativeFunction<NativeClang_getNumElements>>( |
| 'clang_getNumElements'); |
| late final _clang_getNumElements = |
| _clang_getNumElementsPtr.asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_getArrayElementTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getArrayElementType>>( |
| 'clang_getArrayElementType'); |
| late final _clang_getArrayElementType = |
| _clang_getArrayElementTypePtr.asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_getArraySizePtr = |
| _lookup<ffi.NativeFunction<NativeClang_getArraySize>>( |
| 'clang_getArraySize'); |
| late final _clang_getArraySize = |
| _clang_getArraySizePtr.asFunction<DartClang_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( |
| T, |
| ); |
| } |
| |
| late final _clang_Type_getNamedTypePtr = |
| _lookup<ffi.NativeFunction<NativeClang_Type_getNamedType>>( |
| 'clang_Type_getNamedType'); |
| late final _clang_Type_getNamedType = |
| _clang_Type_getNamedTypePtr.asFunction<DartClang_Type_getNamedType>(); |
| |
| /// Determine if a typedef is 'transparent' tag. |
| /// |
|