Class ClangIndex


  • public class ClangIndex
    extends java.lang.Object
    • Method Detail

      • getLibrary

        public static org.lwjgl.system.SharedLibrary getLibrary()
        Returns the CLANG SharedLibrary.
      • nclang_getCString

        public static long nclang_getCString​(long string,
                                             long __functionAddress)
        
        public static long nclang_getCString​(long string)
        
        Unsafe version of: getCString
      • clang_getCString

        @Nullable
        public static java.lang.String clang_getCString​(CXString string)
        Retrieve the character data associated with the given string.
      • nclang_disposeString

        public static void nclang_disposeString​(long string,
                                                long __functionAddress)
        
        public static void nclang_disposeString​(long string)
        
        Unsafe version of: disposeString
      • clang_disposeString

        public static void clang_disposeString​(CXString string)
        Free the given string.
      • nclang_disposeStringSet

        public static void nclang_disposeStringSet​(long set)
        Unsafe version of: disposeStringSet
      • clang_disposeStringSet

        public static void clang_disposeStringSet​(CXStringSet set)
        Free the given string set.
      • clang_createIndex

        public static long clang_createIndex​(boolean excludeDeclarationsFromPCH,
                                             boolean displayDiagnostics)
        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:

        
            // 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);

        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).

      • clang_disposeIndex

        public static void clang_disposeIndex​(long index)
        Destroy the given index.

        The index must not be destroyed until all of the translation units created within that index have been destroyed.

      • clang_CXIndex_setGlobalOptions

        public static void clang_CXIndex_setGlobalOptions​(long index,
                                                          int options)
        Sets general options associated with a CXIndex.

        For example:

        
          CXIndex idx = ...;
          clang_CXIndex_setGlobalOptions(idx,
              clang_CXIndex_getGlobalOptions(idx) |
              CXGlobalOpt_ThreadBackgroundPriorityForIndexing);
        Parameters:
        options - a bitmask of options, a bitwise OR of CXGlobalOpt_XXX flags
      • clang_CXIndex_getGlobalOptions

        public static int clang_CXIndex_getGlobalOptions​(long index)
        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
      • nclang_CXIndex_setInvocationEmissionPathOption

        public static void nclang_CXIndex_setInvocationEmissionPathOption​(long index,
                                                                          long Path)
      • clang_CXIndex_setInvocationEmissionPathOption

        public static void clang_CXIndex_setInvocationEmissionPathOption​(long index,
                                                                         @Nullable
                                                                         java.nio.ByteBuffer Path)
        
        public static void clang_CXIndex_setInvocationEmissionPathOption​(long index,
                                                                         @Nullable
                                                                         java.lang.CharSequence Path)
        
        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.

      • nclang_getFileName

        public static void nclang_getFileName​(long SFile,
                                              long __functionAddress,
                                              long __result)
        
        public static void nclang_getFileName​(long SFile,
                                              long __result)
        
        Unsafe version of: getFileName
      • clang_getFileName

        public static CXString clang_getFileName​(long SFile,
                                                 CXString __result)
        Retrieve the complete file and path name of the given file.
      • clang_getFileTime

        public static long clang_getFileTime​(long SFile)
        Retrieve the last modification time of the given file.
      • nclang_getFileUniqueID

        public static int nclang_getFileUniqueID​(long file,
                                                 long outID)
        Unsafe version of: getFileUniqueID
      • clang_getFileUniqueID

        public static int clang_getFileUniqueID​(long file,
                                                CXFileUniqueID outID)
        Retrieve the unique ID for the given file.
        Parameters:
        file - the file to get the ID for
        outID - stores the returned CXFileUniqueID
        Returns:
        if there was a failure getting the unique ID, returns non-zero, otherwise returns 0
      • clang_isFileMultipleIncludeGuarded

        public static boolean clang_isFileMultipleIncludeGuarded​(long tu,
                                                                 long file)
        Determine whether the given header is guarded against multiple inclusions, either with the conventional #ifndef/#define/#endif macro guards or with #pragma once.
      • nclang_getFile

        public static long nclang_getFile​(long tu,
                                          long file_name)
        Unsafe version of: getFile
      • clang_getFile

        public static long clang_getFile​(long tu,
                                         java.nio.ByteBuffer file_name)
        
        public static long clang_getFile​(long tu,
                                         java.lang.CharSequence file_name)
        
        Retrieve a file handle within the given translation unit.
        Parameters:
        tu - the translation unit
        file_name - the name of the file
        Returns:
        the file handle for the named file in the translation unit tu, or a NULL file handle if the file was not a part of this translation unit
      • nclang_getFileContents

        public static long nclang_getFileContents​(long tu,
                                                  long file,
                                                  long size)
        Unsafe version of: getFileContents
        Parameters:
        size - [out] if non-NULL, will be set to the size of the buffer
      • clang_getFileContents

        @Nullable
        public static java.nio.ByteBuffer clang_getFileContents​(long tu,
                                                                long file)
        Retrieve the buffer associated with the given file.
        Parameters:
        tu - the translation unit
        file - the file for which to retrieve the buffer
        Returns:
        a pointer to the buffer in memory that holds the contents of file, or a NULL pointer when the file is not loaded
      • clang_File_isEqual

        public static boolean clang_File_isEqual​(long file1,
                                                 long file2)
        Returns non-zero if the file1 and file2 point to the same file, or they are both NULL.
      • nclang_File_tryGetRealPathName

        public static void nclang_File_tryGetRealPathName​(long file,
                                                          long __functionAddress,
                                                          long __result)
        
        public static void nclang_File_tryGetRealPathName​(long file,
                                                          long __result)
        
        Unsafe version of: File_tryGetRealPathName
      • clang_File_tryGetRealPathName

        public static CXString clang_File_tryGetRealPathName​(long file,
                                                             CXString __result)
        Returns the real path name of file.

        An empty string may be returned. Use getFileName in that case.

      • nclang_getNullLocation

        public static void nclang_getNullLocation​(long __functionAddress,
                                                  long __result)
        
        public static void nclang_getNullLocation​(long __result)
        
        Unsafe version of: getNullLocation
      • nclang_equalLocations

        public static int nclang_equalLocations​(long loc1,
                                                long loc2,
                                                long __functionAddress)
        
        public static int nclang_equalLocations​(long loc1,
                                                long loc2)
        
        Unsafe version of: equalLocations
      • clang_equalLocations

        public static boolean clang_equalLocations​(CXSourceLocation loc1,
                                                   CXSourceLocation loc2)
        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
      • nclang_getLocation

        public static void nclang_getLocation​(long tu,
                                              long file,
                                              int line,
                                              int column,
                                              long __functionAddress,
                                              long __result)
        
        public static void nclang_getLocation​(long tu,
                                              long file,
                                              int line,
                                              int column,
                                              long __result)
        
        Unsafe version of: getLocation
      • clang_getLocation

        public static CXSourceLocation clang_getLocation​(long tu,
                                                         long file,
                                                         int line,
                                                         int column,
                                                         CXSourceLocation __result)
        Retrieves the source location associated with a given file/line/column in a particular translation unit.
      • nclang_getLocationForOffset

        public static void nclang_getLocationForOffset​(long tu,
                                                       long file,
                                                       int offset,
                                                       long __functionAddress,
                                                       long __result)
        
        public static void nclang_getLocationForOffset​(long tu,
                                                       long file,
                                                       int offset,
                                                       long __result)
        
        Unsafe version of: getLocationForOffset
      • clang_getLocationForOffset

        public static CXSourceLocation clang_getLocationForOffset​(long tu,
                                                                  long file,
                                                                  int offset,
                                                                  CXSourceLocation __result)
        Retrieves the source location associated with a given character offset in a particular translation unit.
      • nclang_Location_isInSystemHeader

        public static int nclang_Location_isInSystemHeader​(long location,
                                                           long __functionAddress)
        
        public static int nclang_Location_isInSystemHeader​(long location)
        
        Unsafe version of: Location_isInSystemHeader
      • clang_Location_isInSystemHeader

        public static boolean clang_Location_isInSystemHeader​(CXSourceLocation location)
        Returns non-zero if the given source location is in a system header.
      • nclang_Location_isFromMainFile

        public static int nclang_Location_isFromMainFile​(long location,
                                                         long __functionAddress)
        
        public static int nclang_Location_isFromMainFile​(long location)
        
        Unsafe version of: Location_isFromMainFile
      • clang_Location_isFromMainFile

        public static boolean clang_Location_isFromMainFile​(CXSourceLocation location)
        Returns non-zero if the given source location is in the main file of the corresponding translation unit.
      • nclang_getNullRange

        public static void nclang_getNullRange​(long __functionAddress,
                                               long __result)
        
        public static void nclang_getNullRange​(long __result)
        
        Unsafe version of: getNullRange
      • clang_getNullRange

        public static CXSourceRange clang_getNullRange​(CXSourceRange __result)
        Retrieve a NULL (invalid) source range.
      • nclang_getRange

        public static void nclang_getRange​(long begin,
                                           long end,
                                           long __functionAddress,
                                           long __result)
        
        public static void nclang_getRange​(long begin,
                                           long end,
                                           long __result)
        
        Unsafe version of: getRange
      • nclang_equalRanges

        public static int nclang_equalRanges​(long range1,
                                             long range2,
                                             long __functionAddress)
        
        public static int nclang_equalRanges​(long range1,
                                             long range2)
        
        Unsafe version of: equalRanges
      • clang_equalRanges

        public static boolean clang_equalRanges​(CXSourceRange range1,
                                                CXSourceRange range2)
        Determine whether two ranges are equivalent.
        Returns:
        non-zero if the ranges are the same, zero if they differ
      • nclang_Range_isNull

        public static int nclang_Range_isNull​(long range,
                                              long __functionAddress)
        
        public static int nclang_Range_isNull​(long range)
        
        Unsafe version of: Range_isNull
      • clang_Range_isNull

        public static boolean clang_Range_isNull​(CXSourceRange range)
        Returns non-zero if range is null.
      • nclang_getExpansionLocation

        public static void nclang_getExpansionLocation​(long location,
                                                       long file,
                                                       long line,
                                                       long column,
                                                       long offset,
                                                       long __functionAddress)
        
        public static void nclang_getExpansionLocation​(long location,
                                                       long file,
                                                       long line,
                                                       long column,
                                                       long offset)
        
        Unsafe version of: getExpansionLocation
      • clang_getExpansionLocation

        public static void clang_getExpansionLocation​(CXSourceLocation location,
                                                      @Nullable
                                                      org.lwjgl.PointerBuffer file,
                                                      @Nullable
                                                      java.nio.IntBuffer line,
                                                      @Nullable
                                                      java.nio.IntBuffer column,
                                                      @Nullable
                                                      java.nio.IntBuffer offset)
        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.

        Parameters:
        location - the location within a source file that will be decomposed into its parts
        file - [out] if non-NULL, will be set to the file to which the given source location points
        line - [out] if non-NULL, will be set to the line to which the given source location points
        column - [out] if non-NULL, will be set to the column to which the given source location points
        offset - [out] if non-NULL, will be set to the offset into the buffer to which the given source location points
      • nclang_getPresumedLocation

        public static void nclang_getPresumedLocation​(long location,
                                                      long filename,
                                                      long line,
                                                      long column,
                                                      long __functionAddress)
        
        public static void nclang_getPresumedLocation​(long location,
                                                      long filename,
                                                      long line,
                                                      long column)
        
        Unsafe version of: getPresumedLocation
      • clang_getPresumedLocation

        public static void clang_getPresumedLocation​(CXSourceLocation location,
                                                     @Nullable
                                                     CXString.Buffer filename,
                                                     @Nullable
                                                     java.nio.IntBuffer line,
                                                     @Nullable
                                                     java.nio.IntBuffer column)
        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

        
          #123 "dummy.c" 1
         
          static int func(void)
          {
              return 0;
          }

        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

        Parameters:
        location - the location within a source file that will be decomposed into its parts
        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 clang_disposeString() once you've finished with it. For an invalid source location, an empty string is returned.
        line - [out] if non-NULL, will be set to the line number of the source location. For an invalid source location, zero is returned.
        column - [out] if non-NULL, will be set to the column number of the source location. For an invalid source location, zero is returned.
      • nclang_getSpellingLocation

        public static void nclang_getSpellingLocation​(long location,
                                                      long file,
                                                      long line,
                                                      long column,
                                                      long offset,
                                                      long __functionAddress)
        
        public static void nclang_getSpellingLocation​(long location,
                                                      long file,
                                                      long line,
                                                      long column,
                                                      long offset)
        
        Unsafe version of: getSpellingLocation
      • clang_getSpellingLocation

        public static void clang_getSpellingLocation​(CXSourceLocation location,
                                                     @Nullable
                                                     org.lwjgl.PointerBuffer file,
                                                     @Nullable
                                                     java.nio.IntBuffer line,
                                                     @Nullable
                                                     java.nio.IntBuffer column,
                                                     @Nullable
                                                     java.nio.IntBuffer offset)
        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.

        Parameters:
        location - the location within a source file that will be decomposed into its parts
        file - [out] if non-NULL, will be set to the file to which the given source location points
        line - [out] if non-NULL, will be set to the line to which the given source location points
        column - [out] if non-NULL, will be set to the column to which the given source location points
        offset - [out] if non-NULL, will be set to the offset into the buffer to which the given source location points
      • nclang_getFileLocation

        public static void nclang_getFileLocation​(long location,
                                                  long file,
                                                  long line,
                                                  long column,
                                                  long offset,
                                                  long __functionAddress)
        
        public static void nclang_getFileLocation​(long location,
                                                  long file,
                                                  long line,
                                                  long column,
                                                  long offset)
        
        Unsafe version of: getFileLocation
      • clang_getFileLocation

        public static void clang_getFileLocation​(CXSourceLocation location,
                                                 @Nullable
                                                 org.lwjgl.PointerBuffer file,
                                                 @Nullable
                                                 java.nio.IntBuffer line,
                                                 @Nullable
                                                 java.nio.IntBuffer column,
                                                 @Nullable
                                                 java.nio.IntBuffer offset)
        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.

        Parameters:
        location - the location within a source file that will be decomposed into its parts
        file - [out] if non-NULL, will be set to the file to which the given source location points
        line - [out] if non-NULL, will be set to the line to which the given source location points
        column - [out] if non-NULL, will be set to the column to which the given source location points
        offset - [out] if non-NULL, will be set to the offset into the buffer to which the given source location points
      • nclang_getRangeStart

        public static void nclang_getRangeStart​(long range,
                                                long __functionAddress,
                                                long __result)
        
        public static void nclang_getRangeStart​(long range,
                                                long __result)
        
        Unsafe version of: getRangeStart
      • nclang_getRangeEnd

        public static void nclang_getRangeEnd​(long range,
                                              long __functionAddress,
                                              long __result)
        
        public static void nclang_getRangeEnd​(long range,
                                              long __result)
        
        Unsafe version of: getRangeEnd
      • nclang_getSkippedRanges

        public static long nclang_getSkippedRanges​(long tu,
                                                   long file)
        Unsafe version of: getSkippedRanges
      • clang_getSkippedRanges

        @Nullable
        public static CXSourceRangeList clang_getSkippedRanges​(long tu,
                                                               long file)
        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.

      • nclang_getAllSkippedRanges

        public static long nclang_getAllSkippedRanges​(long tu)
        Unsafe version of: getAllSkippedRanges
      • clang_getAllSkippedRanges

        @Nullable
        public static CXSourceRangeList clang_getAllSkippedRanges​(long tu)
        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.

      • nclang_disposeSourceRangeList

        public static void nclang_disposeSourceRangeList​(long ranges)
        Unsafe version of: disposeSourceRangeList
      • clang_disposeSourceRangeList

        public static void clang_disposeSourceRangeList​(CXSourceRangeList ranges)
        Destroy the given CXSourceRangeList.
      • clang_getNumDiagnosticsInSet

        public static int clang_getNumDiagnosticsInSet​(long Diags)
        Determine the number of diagnostics in a CXDiagnosticSet.
      • clang_getDiagnosticInSet

        public static long clang_getDiagnosticInSet​(long Diags,
                                                    int Index)
        Retrieve a diagnostic associated with the given CXDiagnosticSet.
        Parameters:
        Diags - the CXDiagnosticSet to query
        Index - the zero-based diagnostic number to retrieve
        Returns:
        the requested diagnostic. This diagnostic must be freed via a call to disposeDiagnostic.
      • nclang_loadDiagnostics

        public static long nclang_loadDiagnostics​(long file,
                                                  long error,
                                                  long errorString)
        Unsafe version of: loadDiagnostics
      • clang_loadDiagnostics

        public static long clang_loadDiagnostics​(java.nio.ByteBuffer file,
                                                 java.nio.IntBuffer error,
                                                 CXString errorString)
        
        public static long clang_loadDiagnostics​(java.lang.CharSequence file,
                                                 java.nio.IntBuffer error,
                                                 CXString errorString)
        
        Deserialize a set of diagnostics from a Clang diagnostics bitcode file.
        Parameters:
        file - the name of the file to deserialize
        error - a pointer to a enum value recording if there was a problem deserializing the diagnostics
        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 disposeDiagnosticSet.
      • clang_disposeDiagnosticSet

        public static void clang_disposeDiagnosticSet​(long Diags)
        Release a CXDiagnosticSet and all of its contained diagnostics.
      • clang_getChildDiagnostics

        public static long clang_getChildDiagnostics​(long D)
        Retrieve the child diagnostics of a CXDiagnostic.

        This CXDiagnosticSet does not need to be released by disposeDiagnosticSet.

      • clang_getNumDiagnostics

        public static int clang_getNumDiagnostics​(long Unit)
        Determine the number of diagnostics produced for the given translation unit.
      • clang_getDiagnostic

        public static long clang_getDiagnostic​(long Unit,
                                               int Index)
        Retrieve a diagnostic associated with the given translation unit.
        Parameters:
        Unit - the translation unit to query
        Index - the zero-based diagnostic number to retrieve
        Returns:
        the requested diagnostic. This diagnostic must be freed via a call to disposeDiagnostic.
      • clang_getDiagnosticSetFromTU

        public static long clang_getDiagnosticSetFromTU​(long Unit)
        Retrieve the complete set of diagnostics associated with a translation unit.
        Parameters:
        Unit - the translation unit to query
      • clang_disposeDiagnostic

        public static void clang_disposeDiagnostic​(long Diagnostic)
        Destroy a diagnostic.
      • nclang_formatDiagnostic

        public static void nclang_formatDiagnostic​(long Diagnostic,
                                                   int Options,
                                                   long __functionAddress,
                                                   long __result)
        
        public static void nclang_formatDiagnostic​(long Diagnostic,
                                                   int Options,
                                                   long __result)
        
        Unsafe version of: formatDiagnostic
      • clang_formatDiagnostic

        public static CXString clang_formatDiagnostic​(long Diagnostic,
                                                      int Options,
                                                      CXString __result)
        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 defaultDiagnosticDisplayOptions function returns the set of options that most closely mimics the behavior of the clang compiler.

        Parameters:
        Diagnostic - the diagnostic to print
        Options - a set of options that control the diagnostic display, created by combining CXDiagnosticDisplayOptions values
        __result - a new string containing for formatted diagnostic
      • clang_defaultDiagnosticDisplayOptions

        public static int clang_defaultDiagnosticDisplayOptions()
        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 formatDiagnostic
      • clang_getDiagnosticSeverity

        public static int clang_getDiagnosticSeverity​(long Diagnostic)
        Determine the severity of the given diagnostic.
      • nclang_getDiagnosticLocation

        public static void nclang_getDiagnosticLocation​(long Diagnostic,
                                                        long __functionAddress,
                                                        long __result)
        
        public static void nclang_getDiagnosticLocation​(long Diagnostic,
                                                        long __result)
        
        Unsafe version of: getDiagnosticLocation
      • clang_getDiagnosticLocation

        public static CXSourceLocation clang_getDiagnosticLocation​(long Diagnostic,
                                                                   CXSourceLocation __result)
        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.

      • nclang_getDiagnosticSpelling

        public static void nclang_getDiagnosticSpelling​(long Diagnostic,
                                                        long __functionAddress,
                                                        long __result)
        
        public static void nclang_getDiagnosticSpelling​(long Diagnostic,
                                                        long __result)
        
        Unsafe version of: getDiagnosticSpelling
      • clang_getDiagnosticSpelling

        public static CXString clang_getDiagnosticSpelling​(long Diagnostic,
                                                           CXString __result)
        Retrieve the text of the given diagnostic.
      • nclang_getDiagnosticOption

        public static void nclang_getDiagnosticOption​(long Diag,
                                                      long Disable,
                                                      long __functionAddress,
                                                      long __result)
        
        public static void nclang_getDiagnosticOption​(long Diag,
                                                      long Disable,
                                                      long __result)
        
        Unsafe version of: getDiagnosticOption
      • clang_getDiagnosticOption

        public static CXString clang_getDiagnosticOption​(long Diag,
                                                         @Nullable
                                                         CXString Disable,
                                                         CXString __result)
        Retrieve the name of the command-line option that enabled this diagnostic.
        Parameters:
        Diag - the diagnostic to be queried
        Disable - if non-NULL, will be set to the option that disables this diagnostic (if any)
        __result - a string that contains the command-line option used to enable this warning, such as "-Wconversion" or "-pedantic"
      • clang_getDiagnosticCategory

        public static int clang_getDiagnosticCategory​(long Diagnostic)
        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
      • nclang_getDiagnosticCategoryText

        public static void nclang_getDiagnosticCategoryText​(long Diagnostic,
                                                            long __functionAddress,
                                                            long __result)
        
        public static void nclang_getDiagnosticCategoryText​(long Diagnostic,
                                                            long __result)
        
        Unsafe version of: getDiagnosticCategoryText
      • clang_getDiagnosticCategoryText

        public static CXString clang_getDiagnosticCategoryText​(long Diagnostic,
                                                               CXString __result)
        Retrieve the diagnostic category text for a given diagnostic.
        Parameters:
        __result - the text of the given diagnostic category
      • clang_getDiagnosticNumRanges

        public static int clang_getDiagnosticNumRanges​(long Diagnostic)
        Determine the number of source ranges associated with the given diagnostic.
      • nclang_getDiagnosticRange

        public static void nclang_getDiagnosticRange​(long Diagnostic,
                                                     int Range,
                                                     long __functionAddress,
                                                     long __result)
        
        public static void nclang_getDiagnosticRange​(long Diagnostic,
                                                     int Range,
                                                     long __result)
        
        Unsafe version of: getDiagnosticRange
      • clang_getDiagnosticRange

        public static CXSourceRange clang_getDiagnosticRange​(long Diagnostic,
                                                             int Range,
                                                             CXSourceRange __result)
        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.

        Parameters:
        Diagnostic - the diagnostic whose range is being extracted
        Range - the zero-based index specifying which range to
        __result - the requested source range
      • clang_getDiagnosticNumFixIts

        public static int clang_getDiagnosticNumFixIts​(long Diagnostic)
        Determine the number of fix-it hints associated with the given diagnostic.
      • nclang_getDiagnosticFixIt

        public static void nclang_getDiagnosticFixIt​(long Diagnostic,
                                                     int FixIt,
                                                     long ReplacementRange,
                                                     long __functionAddress,
                                                     long __result)
        
        public static void nclang_getDiagnosticFixIt​(long Diagnostic,
                                                     int FixIt,
                                                     long ReplacementRange,
                                                     long __result)
        
        Unsafe version of: getDiagnosticFixIt
      • clang_getDiagnosticFixIt

        public static CXString clang_getDiagnosticFixIt​(long Diagnostic,
                                                        int FixIt,
                                                        CXSourceRange ReplacementRange,
                                                        CXString __result)
        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).

        Parameters:
        Diagnostic - the diagnostic whose fix-its are being queried
        FixIt - the zero-based index of the fix-it
        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.
        __result - a string containing text that should be replace the source code indicated by the ReplacementRange
      • nclang_getTranslationUnitSpelling

        public static void nclang_getTranslationUnitSpelling​(long CTUnit,
                                                             long __functionAddress,
                                                             long __result)
        
        public static void nclang_getTranslationUnitSpelling​(long CTUnit,
                                                             long __result)
        
        Unsafe version of: getTranslationUnitSpelling
      • clang_getTranslationUnitSpelling

        public static CXString clang_getTranslationUnitSpelling​(long CTUnit,
                                                                CXString __result)
        Get the original translation unit source file name.
      • nclang_createTranslationUnitFromSourceFile

        public static long nclang_createTranslationUnitFromSourceFile​(long CIdx,
                                                                      long source_filename,
                                                                      int num_clang_command_line_args,
                                                                      long clang_command_line_args,
                                                                      int num_unsaved_files,
                                                                      long unsaved_files)
        Parameters:
        num_clang_command_line_args - the number of command-line arguments in clang_command_line_args
        num_unsaved_files - the number of unsaved file entries in unsaved_files
      • clang_createTranslationUnitFromSourceFile

        public static long clang_createTranslationUnitFromSourceFile​(long CIdx,
                                                                     @Nullable
                                                                     java.nio.ByteBuffer source_filename,
                                                                     @Nullable
                                                                     org.lwjgl.PointerBuffer clang_command_line_args,
                                                                     @Nullable
                                                                     CXUnsavedFile.Buffer unsaved_files)
        
        public static long clang_createTranslationUnitFromSourceFile​(long CIdx,
                                                                     @Nullable
                                                                     java.lang.CharSequence source_filename,
                                                                     @Nullable
                                                                     org.lwjgl.PointerBuffer clang_command_line_args,
                                                                     @Nullable
                                                                     CXUnsavedFile.Buffer unsaved_files)
        
        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)
        Parameters:
        CIdx - the index object with which the translation unit will be associated
        source_filename - the name of the source file to load, or NULL if the source file is included in clang_command_line_args
        clang_command_line_args - the command-line arguments that would be passed to the 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>'.
        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.
      • nclang_createTranslationUnit

        public static long nclang_createTranslationUnit​(long CIdx,
                                                        long ast_filename)
        Unsafe version of: createTranslationUnit
      • clang_createTranslationUnit

        public static long clang_createTranslationUnit​(long CIdx,
                                                       java.nio.ByteBuffer ast_filename)
        
        public static long clang_createTranslationUnit​(long CIdx,
                                                       java.lang.CharSequence ast_filename)
        
        Same as createTranslationUnit2, but returns the CXTranslationUnit instead of an error code. In case of an error this routine returns a NULL CXTranslationUnit, without further detailed error codes.
      • nclang_createTranslationUnit2

        public static int nclang_createTranslationUnit2​(long CIdx,
                                                        long ast_filename,
                                                        long out_TU)
        Unsafe version of: createTranslationUnit2
      • clang_createTranslationUnit2

        public static int clang_createTranslationUnit2​(long CIdx,
                                                       java.nio.ByteBuffer ast_filename,
                                                       org.lwjgl.PointerBuffer out_TU)
        
        public static int clang_createTranslationUnit2​(long CIdx,
                                                       java.lang.CharSequence ast_filename,
                                                       org.lwjgl.PointerBuffer out_TU)
        
        Create a translation unit from an AST file (-emit-ast).
        Parameters:
        out_TU - a non-NULL pointer to store the created CXTranslationUnit
        Returns:
        zero on success, otherwise returns an error code
      • clang_defaultEditingTranslationUnitOptions

        public static int clang_defaultEditingTranslationUnitOptions()
        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 parseTranslationUnit to indicate that the translation unit is likely to be reparsed many times, either explicitly (via reparseTranslationUnit) or implicitly (e.g., by code completion (codeCompleteAt). 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.

      • nclang_parseTranslationUnit

        public static long nclang_parseTranslationUnit​(long CIdx,
                                                       long source_filename,
                                                       long command_line_args,
                                                       int num_command_line_args,
                                                       long unsaved_files,
                                                       int num_unsaved_files,
                                                       int options)
        Unsafe version of: parseTranslationUnit
      • clang_parseTranslationUnit

        public static long clang_parseTranslationUnit​(long CIdx,
                                                      @Nullable
                                                      java.nio.ByteBuffer source_filename,
                                                      @Nullable
                                                      org.lwjgl.PointerBuffer command_line_args,
                                                      @Nullable
                                                      CXUnsavedFile.Buffer unsaved_files,
                                                      int options)
        
        public static long clang_parseTranslationUnit​(long CIdx,
                                                      @Nullable
                                                      java.lang.CharSequence source_filename,
                                                      @Nullable
                                                      org.lwjgl.PointerBuffer command_line_args,
                                                      @Nullable
                                                      CXUnsavedFile.Buffer unsaved_files,
                                                      int options)
        
        Same as parseTranslationUnit2, but returns the CXTranslationUnit instead of an error code. In case of an error this routine returns a NULL CXTranslationUnit, without further detailed error codes.
      • nclang_parseTranslationUnit2

        public static int nclang_parseTranslationUnit2​(long CIdx,
                                                       long source_filename,
                                                       long command_line_args,
                                                       int num_command_line_args,
                                                       long unsaved_files,
                                                       int num_unsaved_files,
                                                       int options,
                                                       long out_TU)
        Unsafe version of: parseTranslationUnit2
        Parameters:
        num_command_line_args - the number of command-line arguments in command_line_args
        num_unsaved_files - the number of unsaved file entries in unsaved_files
      • clang_parseTranslationUnit2

        public static int clang_parseTranslationUnit2​(long CIdx,
                                                      @Nullable
                                                      java.nio.ByteBuffer source_filename,
                                                      @Nullable
                                                      org.lwjgl.PointerBuffer command_line_args,
                                                      @Nullable
                                                      CXUnsavedFile.Buffer unsaved_files,
                                                      int options,
                                                      org.lwjgl.PointerBuffer out_TU)
        
        public static int clang_parseTranslationUnit2​(long CIdx,
                                                      @Nullable
                                                      java.lang.CharSequence source_filename,
                                                      @Nullable
                                                      org.lwjgl.PointerBuffer command_line_args,
                                                      @Nullable
                                                      CXUnsavedFile.Buffer unsaved_files,
                                                      int options,
                                                      org.lwjgl.PointerBuffer out_TU)
        
        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.

        Parameters:
        CIdx - the index object with which the translation unit will be associated
        source_filename - the name of the source file to load, or NULL if the source file is included in command_line_args
        command_line_args - the command-line arguments that would be passed to the 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>'.
        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.
        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.
        out_TU - a non-NULL pointer to store the created CXTranslationUnit, describing the parsed code and containing any diagnostics produced by the compiler
        Returns:
        zero on success, otherwise returns an error code
      • nclang_parseTranslationUnit2FullArgv

        public static int nclang_parseTranslationUnit2FullArgv​(long CIdx,
                                                               long source_filename,
                                                               long command_line_args,
                                                               int num_command_line_args,
                                                               long unsaved_files,
                                                               int num_unsaved_files,
                                                               int options,
                                                               long out_TU)
      • clang_parseTranslationUnit2FullArgv

        public static int clang_parseTranslationUnit2FullArgv​(long CIdx,
                                                              @Nullable
                                                              java.nio.ByteBuffer source_filename,
                                                              org.lwjgl.PointerBuffer command_line_args,
                                                              @Nullable
                                                              CXUnsavedFile.Buffer unsaved_files,
                                                              int options,
                                                              org.lwjgl.PointerBuffer out_TU)
        
        public static int clang_parseTranslationUnit2FullArgv​(long CIdx,
                                                              @Nullable
                                                              java.lang.CharSequence source_filename,
                                                              org.lwjgl.PointerBuffer command_line_args,
                                                              @Nullable
                                                              CXUnsavedFile.Buffer unsaved_files,
                                                              int options,
                                                              org.lwjgl.PointerBuffer out_TU)
        
        Same as parseTranslationUnit2 but requires a full command line for command_line_args including argv[0]. This is useful if the standard library paths are relative to the binary.
      • clang_defaultSaveOptions

        public static int clang_defaultSaveOptions​(long TU)
        Returns the set of flags that is suitable for saving a translation unit.

        The set of flags returned provide options for saveTranslationUnit by default. The returned flag set contains an unspecified set of options that save translation units with the most commonly-requested data.

      • nclang_saveTranslationUnit

        public static int nclang_saveTranslationUnit​(long TU,
                                                     long FileName,
                                                     int options)
        Unsafe version of: saveTranslationUnit
      • clang_saveTranslationUnit

        public static int clang_saveTranslationUnit​(long TU,
                                                    java.nio.ByteBuffer FileName,
                                                    int options)
        
        public static int clang_saveTranslationUnit​(long TU,
                                                    java.lang.CharSequence FileName,
                                                    int options)
        
        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 CXTranslationUnit with createTranslationUnit or, if it is an incomplete translation unit that corresponds to a header, used as a precompiled header when parsing other translation units.

        Parameters:
        TU - the translation unit to save
        FileName - the file to which the translation unit will be saved
        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 (SaveError_None) indicates that the translation unit was saved successfully, while a non-zero value indicates that a problem occurred.
      • clang_suspendTranslationUnit

        public static boolean clang_suspendTranslationUnit​(long TU)
        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 reparseTranslationUnit to resume it or disposeTranslationUnit to dispose it completely.

      • clang_disposeTranslationUnit

        public static void clang_disposeTranslationUnit​(long TU)
        Destroy the specified CXTranslationUnit object.
      • clang_defaultReparseOptions

        public static int clang_defaultReparseOptions​(long TU)
        Returns the set of flags that is suitable for reparsing a translation unit.

        The set of flags returned provide options for 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.

      • nclang_reparseTranslationUnit

        public static int nclang_reparseTranslationUnit​(long TU,
                                                        int num_unsaved_files,
                                                        long unsaved_files,
                                                        int options)
        Unsafe version of: reparseTranslationUnit
        Parameters:
        num_unsaved_files - the number of unsaved file entries in unsaved_files
      • clang_reparseTranslationUnit

        public static int clang_reparseTranslationUnit​(long TU,
                                                       @Nullable
                                                       CXUnsavedFile.Buffer unsaved_files,
                                                       int options)
        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 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.

        Parameters:
        TU - the translation unit whose contents will be re-parsed. The translation unit must originally have been built with clang_createTranslationUnitFromSourceFile().
        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.
        options - a bitset of options composed of the flags in CXReparse_Flags. The function 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 TU is disposeTranslationUnit. The error codes returned by this routine are described by the CXErrorCode enum.
      • nclang_getTUResourceUsageName

        public static long nclang_getTUResourceUsageName​(int kind)
        Unsafe version of: getTUResourceUsageName
      • clang_getTUResourceUsageName

        @Nullable
        public static java.lang.String clang_getTUResourceUsageName​(int kind)
        Returns the human-readable null-terminated C string that represents the name of the memory category. This string should never be freed.
      • nclang_getCXTUResourceUsage

        public static void nclang_getCXTUResourceUsage​(long TU,
                                                       long __functionAddress,
                                                       long __result)
        
        public static void nclang_getCXTUResourceUsage​(long TU,
                                                       long __result)
        
        Unsafe version of: getCXTUResourceUsage
      • nclang_disposeCXTUResourceUsage

        public static void nclang_disposeCXTUResourceUsage​(long usage,
                                                           long __functionAddress)
      • nclang_disposeCXTUResourceUsage

        public static void nclang_disposeCXTUResourceUsage​(long usage)
      • clang_disposeCXTUResourceUsage

        public static void clang_disposeCXTUResourceUsage​(CXTUResourceUsage usage)
      • clang_getTranslationUnitTargetInfo

        public static long clang_getTranslationUnitTargetInfo​(long CTUnit)
        Get target information for this translation unit.

        The CXTargetInfo object cannot outlive the CXTranslationUnit object.

      • clang_TargetInfo_dispose

        public static void clang_TargetInfo_dispose​(long Info)
        Destroy the CXTargetInfo object.
      • nclang_TargetInfo_getTriple

        public static void nclang_TargetInfo_getTriple​(long Info,
                                                       long __functionAddress,
                                                       long __result)
        
        public static void nclang_TargetInfo_getTriple​(long Info,
                                                       long __result)
        
        Unsafe version of: TargetInfo_getTriple
      • clang_TargetInfo_getTriple

        public static CXString clang_TargetInfo_getTriple​(long Info,
                                                          CXString __result)
        Get the normalized target triple as a string.

        Returns the empty string in case of any error.

      • clang_TargetInfo_getPointerWidth

        public static int clang_TargetInfo_getPointerWidth​(long Info)
        Get the pointer width of the target in bits.

        Returns -1 in case of error.

      • nclang_getNullCursor

        public static void nclang_getNullCursor​(long __functionAddress,
                                                long __result)
        
        public static void nclang_getNullCursor​(long __result)
        
        Unsafe version of: getNullCursor
      • clang_getNullCursor

        public static CXCursor clang_getNullCursor​(CXCursor __result)
        Retrieve the NULL cursor, which represents no entity.
      • nclang_getTranslationUnitCursor

        public static void nclang_getTranslationUnitCursor​(long TU,
                                                           long __functionAddress,
                                                           long __result)
        
        public static void nclang_getTranslationUnitCursor​(long TU,
                                                           long __result)
        
        Unsafe version of: getTranslationUnitCursor
      • clang_getTranslationUnitCursor

        public static CXCursor clang_getTranslationUnitCursor​(long TU,
                                                              CXCursor __result)
        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.

      • nclang_equalCursors

        public static int nclang_equalCursors​(long A,
                                              long B,
                                              long __functionAddress)
        
        public static int nclang_equalCursors​(long A,
                                              long B)
        
        Unsafe version of: equalCursors
      • clang_equalCursors

        public static boolean clang_equalCursors​(CXCursor A,
                                                 CXCursor B)
        Determine whether two cursors are equivalent.
      • nclang_Cursor_isNull

        public static int nclang_Cursor_isNull​(long cursor,
                                               long __functionAddress)
        
        public static int nclang_Cursor_isNull​(long cursor)
        
        Unsafe version of: Cursor_isNull
      • clang_Cursor_isNull

        public static boolean clang_Cursor_isNull​(CXCursor cursor)
        Returns non-zero if cursor is null.
      • nclang_hashCursor

        public static int nclang_hashCursor​(long cursor,
                                            long __functionAddress)
        
        public static int nclang_hashCursor​(long cursor)
        
        Unsafe version of: hashCursor
      • clang_hashCursor

        public static int clang_hashCursor​(CXCursor cursor)
        Compute a hash value for the given cursor.
      • nclang_getCursorKind

        public static int nclang_getCursorKind​(long cursor,
                                               long __functionAddress)
        
        public static int nclang_getCursorKind​(long cursor)
        
        Unsafe version of: getCursorKind
      • clang_getCursorKind

        public static int clang_getCursorKind​(CXCursor cursor)
        Retrieve the kind of the given cursor.
      • clang_isDeclaration

        public static boolean clang_isDeclaration​(int kind)
        Determine whether the given cursor kind represents a declaration.
      • nclang_isInvalidDeclaration

        public static int nclang_isInvalidDeclaration​(long cursor,
                                                      long __functionAddress)
        
        public static int nclang_isInvalidDeclaration​(long cursor)
        
        Unsafe version of: isInvalidDeclaration
      • clang_isInvalidDeclaration

        public static boolean clang_isInvalidDeclaration​(CXCursor cursor)
        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
      • clang_isReference

        public static boolean clang_isReference​(int kind)
        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 getCursorReferenced to determine whether a particular cursor refers to another entity.

      • clang_isExpression

        public static boolean clang_isExpression​(int kind)
        Determine whether the given cursor kind represents an expression.
      • clang_isStatement

        public static boolean clang_isStatement​(int kind)
        Determine whether the given cursor kind represents a statement.
      • clang_isAttribute

        public static boolean clang_isAttribute​(int kind)
        Determine whether the given cursor kind represents an attribute.
      • nclang_Cursor_hasAttrs

        public static int nclang_Cursor_hasAttrs​(long C,
                                                 long __functionAddress)
        
        public static int nclang_Cursor_hasAttrs​(long C)
        
        Unsafe version of: Cursor_hasAttrs
      • clang_Cursor_hasAttrs

        public static boolean clang_Cursor_hasAttrs​(CXCursor C)
        Determine whether the given cursor has any attributes.
      • clang_isInvalid

        public static boolean clang_isInvalid​(int kind)
        Determine whether the given cursor kind represents an invalid cursor.
      • clang_isTranslationUnit

        public static boolean clang_isTranslationUnit​(int kind)
        Determine whether the given cursor kind represents a translation unit.
      • clang_isPreprocessing

        public static boolean clang_isPreprocessing​(int kind)
        Determine whether the given cursor represents a preprocessing element, such as a preprocessor directive or macro instantiation.
      • clang_isUnexposed

        public static boolean clang_isUnexposed​(int kind)
        Determine whether the given cursor represents a currently unexposed piece of the AST (e.g., CXCursor_UnexposedStmt).
      • nclang_getCursorLinkage

        public static int nclang_getCursorLinkage​(long cursor,
                                                  long __functionAddress)
        
        public static int nclang_getCursorLinkage​(long cursor)
        
        Unsafe version of: getCursorLinkage
      • clang_getCursorLinkage

        public static int clang_getCursorLinkage​(CXCursor cursor)
        Determine the linkage of the entity referred to by a given cursor.
      • nclang_getCursorVisibility

        public static int nclang_getCursorVisibility​(long cursor,
                                                     long __functionAddress)
        
        public static int nclang_getCursorVisibility​(long cursor)
        
        Unsafe version of: getCursorVisibility
      • clang_getCursorVisibility

        public static int clang_getCursorVisibility​(CXCursor cursor)
        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.

        Parameters:
        cursor - the cursor to query
        Returns:
        the visibility of the cursor
      • nclang_getCursorAvailability

        public static int nclang_getCursorAvailability​(long cursor,
                                                       long __functionAddress)
        
        public static int nclang_getCursorAvailability​(long cursor)
        
        Unsafe version of: getCursorAvailability
      • clang_getCursorAvailability

        public static int clang_getCursorAvailability​(CXCursor cursor)
        Determine the availability of the entity that this cursor refers to, taking the current target platform into account.
        Parameters:
        cursor - the cursor to query
        Returns:
        the availability of the cursor
      • nclang_getCursorPlatformAvailability

        public static int nclang_getCursorPlatformAvailability​(long cursor,
                                                               long always_deprecated,
                                                               long deprecated_message,
                                                               long always_unavailable,
                                                               long unavailable_message,
                                                               long availability,
                                                               int availability_size,
                                                               long __functionAddress)
        
        public static int nclang_getCursorPlatformAvailability​(long cursor,
                                                               long always_deprecated,
                                                               long deprecated_message,
                                                               long always_unavailable,
                                                               long unavailable_message,
                                                               long availability,
                                                               int availability_size)
        
        Parameters:
        availability_size - the number of elements available in the availability array
      • clang_getCursorPlatformAvailability

        public static int clang_getCursorPlatformAvailability​(CXCursor cursor,
                                                              @Nullable
                                                              java.nio.IntBuffer always_deprecated,
                                                              @Nullable
                                                              CXString deprecated_message,
                                                              @Nullable
                                                              java.nio.IntBuffer always_unavailable,
                                                              @Nullable
                                                              CXString unavailable_message,
                                                              @Nullable
                                                              CXPlatformAvailability.Buffer availability)
        Determine the availability of the entity that this cursor refers to on any platforms for which availability information is known.

        Note that the client is responsible for calling disposeCXPlatformAvailability to free each of the platform-availability structures returned. There are min(N, availability_size) such structures.

        Parameters:
        cursor - the cursor to query
        always_deprecated - if non-NULL, will be set to indicate whether the entity is deprecated on all platforms
        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.
        always_unavailable - if non-NULL, will be set to indicate whether the entity is unavailable on all platforms
        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.
        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 availability_size, whichever is smaller
        Returns:
        the number of platforms (N) for which availability information is available (which is unrelated to availability_size)
      • nclang_disposeCXPlatformAvailability

        public static void nclang_disposeCXPlatformAvailability​(long availability)
      • clang_disposeCXPlatformAvailability

        public static void clang_disposeCXPlatformAvailability​(CXPlatformAvailability availability)
        Free the memory associated with a CXPlatformAvailability structure.
      • nclang_getCursorLanguage

        public static int nclang_getCursorLanguage​(long cursor,
                                                   long __functionAddress)
        
        public static int nclang_getCursorLanguage​(long cursor)
        
        Unsafe version of: getCursorLanguage
      • clang_getCursorLanguage

        public static int clang_getCursorLanguage​(CXCursor cursor)
        Determine the "language" of the entity referred to by a given cursor.
      • nclang_getCursorTLSKind

        public static int nclang_getCursorTLSKind​(long cursor,
                                                  long __functionAddress)
        
        public static int nclang_getCursorTLSKind​(long cursor)
        
        Unsafe version of: getCursorTLSKind
      • clang_getCursorTLSKind

        public static int clang_getCursorTLSKind​(CXCursor cursor)
        Determine the "thread-local storage (TLS) kind" of the declaration referred to by a cursor.
      • nclang_Cursor_getTranslationUnit

        public static long nclang_Cursor_getTranslationUnit​(long cursor,
                                                            long __functionAddress)
        
        public static long nclang_Cursor_getTranslationUnit​(long cursor)
        
        Unsafe version of: Cursor_getTranslationUnit
      • clang_Cursor_getTranslationUnit

        public static long clang_Cursor_getTranslationUnit​(CXCursor cursor)
        Returns the translation unit that a cursor originated from.
      • clang_createCXCursorSet

        public static long clang_createCXCursorSet()
        Creates an empty CXCursorSet.
      • clang_disposeCXCursorSet

        public static void clang_disposeCXCursorSet​(long cset)
        Disposes a CXCursorSet and releases its associated memory.
      • nclang_CXCursorSet_contains

        public static int nclang_CXCursorSet_contains​(long cset,
                                                      long cursor,
                                                      long __functionAddress)
        
        public static int nclang_CXCursorSet_contains​(long cset,
                                                      long cursor)
        
        Unsafe version of: CXCursorSet_contains
      • clang_CXCursorSet_contains

        public static boolean clang_CXCursorSet_contains​(long cset,
                                                         CXCursor cursor)
        Queries a CXCursorSet to see if it contains a specific CXCursor.
        Returns:
        non-zero if the set contains the specified cursor
      • nclang_CXCursorSet_insert

        public static int nclang_CXCursorSet_insert​(long cset,
                                                    long cursor,
                                                    long __functionAddress)
        
        public static int nclang_CXCursorSet_insert​(long cset,
                                                    long cursor)
        
        Unsafe version of: CXCursorSet_insert
      • clang_CXCursorSet_insert

        public static boolean clang_CXCursorSet_insert​(long cset,
                                                       CXCursor cursor)
        Inserts a CXCursor into a CXCursorSet.
        Returns:
        zero if the CXCursor was already in the set, and non-zero otherwise
      • nclang_getCursorSemanticParent

        public static void nclang_getCursorSemanticParent​(long cursor,
                                                          long __functionAddress,
                                                          long __result)
        
        public static void nclang_getCursorSemanticParent​(long cursor,
                                                          long __result)
        
        Unsafe version of: getCursorSemanticParent
      • clang_getCursorSemanticParent

        public static CXCursor clang_getCursorSemanticParent​(CXCursor cursor,
                                                             CXCursor __result)
        Determine the semantic parent of the given cursor.

        The semantic parent of a cursor is the cursor that semantically contains the given cursor. For many declarations, the lexical and semantic parents are equivalent (the lexical parent is returned by getCursorLexicalParent). They diverge when declarations or definitions are provided out-of-line. For example:

        
          class C {
           void f();
          };
         
          void C::f() { }

        In the out-of-line definition of C::f, the semantic parent is the class 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::f have C as their semantic context, while the lexical context of the first C::f is C and the lexical context of the second C::f is the translation unit.

        For global declarations, the semantic parent is the translation unit.

      • nclang_getCursorLexicalParent

        public static void nclang_getCursorLexicalParent​(long cursor,
                                                         long __functionAddress,
                                                         long __result)
        
        public static void nclang_getCursorLexicalParent​(long cursor,
                                                         long __result)
        
        Unsafe version of: getCursorLexicalParent
      • clang_getCursorLexicalParent

        public static CXCursor clang_getCursorLexicalParent​(CXCursor cursor,
                                                            CXCursor __result)
        Determine the lexical parent of the given cursor.

        The lexical parent of a cursor is the cursor in which the given cursor was actually written. For many declarations, the lexical and semantic parents are equivalent (the semantic parent is returned by getCursorSemanticParent). They diverge when declarations or definitions are provided out-of-line. For example:

        
          class C {
           void f();
          };
         
          void C::f() { }

        In the out-of-line definition of C::f, the semantic parent is the class 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::f have C as their semantic context, while the lexical context of the first C::f is C and the lexical context of the second C::f is the translation unit.

        For declarations written in the global scope, the lexical parent is the translation unit.

      • nclang_getOverriddenCursors

        public static void nclang_getOverriddenCursors​(long cursor,
                                                       long overridden,
                                                       long num_overridden,
                                                       long __functionAddress)
        
        public static void nclang_getOverriddenCursors​(long cursor,
                                                       long overridden,
                                                       long num_overridden)
        
        Unsafe version of: getOverriddenCursors
      • clang_getOverriddenCursors

        public static void clang_getOverriddenCursors​(CXCursor cursor,
                                                      org.lwjgl.PointerBuffer overridden,
                                                      java.nio.IntBuffer num_overridden)
        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.

        Parameters:
        cursor - a cursor representing an Objective-C or C++ method. This routine will compute the set of methods that this method overrides.
        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 disposeOverriddenCursors.
        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 overridden
      • nclang_disposeOverriddenCursors

        public static void nclang_disposeOverriddenCursors​(long overridden)
        Unsafe version of: disposeOverriddenCursors
      • clang_disposeOverriddenCursors

        public static void clang_disposeOverriddenCursors​(CXCursor.Buffer overridden)
        Free the set of overridden cursors returned by clang_getOverriddenCursors().
      • nclang_getIncludedFile

        public static long nclang_getIncludedFile​(long cursor,
                                                  long __functionAddress)
        
        public static long nclang_getIncludedFile​(long cursor)
        
        Unsafe version of: getIncludedFile
      • clang_getIncludedFile

        public static long clang_getIncludedFile​(CXCursor cursor)
        Retrieve the file that is included by the given inclusion directive cursor.
      • nclang_getCursor

        public static void nclang_getCursor​(long TU,
                                            long location,
                                            long __functionAddress,
                                            long __result)
        
        public static void nclang_getCursor​(long TU,
                                            long location,
                                            long __result)
        
        Unsafe version of: getCursor
      • clang_getCursor

        public static CXCursor clang_getCursor​(long TU,
                                               CXSourceLocation location,
                                               CXCursor __result)
        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 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.

        Parameters:
        __result - a cursor representing the entity at the given source location, or a NULL cursor if no such entity can be found
      • nclang_getCursorLocation

        public static void nclang_getCursorLocation​(long cursor,
                                                    long __functionAddress,
                                                    long __result)
        
        public static void nclang_getCursorLocation​(long cursor,
                                                    long __result)
        
        Unsafe version of: getCursorLocation
      • clang_getCursorLocation

        public static CXSourceLocation clang_getCursorLocation​(CXCursor cursor,
                                                               CXSourceLocation __result)
        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.

      • nclang_getCursorExtent

        public static void nclang_getCursorExtent​(long cursor,
                                                  long __functionAddress,
                                                  long __result)
        
        public static void nclang_getCursorExtent​(long cursor,
                                                  long __result)
        
        Unsafe version of: getCursorExtent
      • clang_getCursorExtent

        public static CXSourceRange clang_getCursorExtent​(CXCursor cursor,
                                                          CXSourceRange __result)
        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).

      • nclang_getCursorType

        public static void nclang_getCursorType​(long C,
                                                long __functionAddress,
                                                long __result)
        
        public static void nclang_getCursorType​(long C,
                                                long __result)
        
        Unsafe version of: getCursorType
      • clang_getCursorType

        public static CXType clang_getCursorType​(CXCursor C,
                                                 CXType __result)
        Retrieve the type of a CXCursor (if any).
      • nclang_getTypeSpelling

        public static void nclang_getTypeSpelling​(long CT,
                                                  long __functionAddress,
                                                  long __result)
        
        public static void nclang_getTypeSpelling​(long CT,
                                                  long __result)
        
        Unsafe version of: getTypeSpelling
      • clang_getTypeSpelling

        public static CXString clang_getTypeSpelling​(CXType CT,
                                                     CXString __result)
        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.

      • nclang_getTypedefDeclUnderlyingType

        public static void nclang_getTypedefDeclUnderlyingType​(long C,
                                                               long __functionAddress,
                                                               long __result)
        
        public static void nclang_getTypedefDeclUnderlyingType​(long C,
                                                               long __result)
        
        Unsafe version of: getTypedefDeclUnderlyingType
      • clang_getTypedefDeclUnderlyingType

        public static CXType clang_getTypedefDeclUnderlyingType​(CXCursor C,
                                                                CXType __result)
        Retrieve the underlying type of a typedef declaration.

        If the cursor does not reference a typedef declaration, an invalid type is returned.

      • nclang_getEnumDeclIntegerType

        public static void nclang_getEnumDeclIntegerType​(long C,
                                                         long __functionAddress,
                                                         long __result)
        
        public static void nclang_getEnumDeclIntegerType​(long C,
                                                         long __result)
        
        Unsafe version of: getEnumDeclIntegerType
      • clang_getEnumDeclIntegerType

        public static CXType clang_getEnumDeclIntegerType​(CXCursor C,
                                                          CXType __result)
        Retrieve the integer type of an enum declaration.

        If the cursor does not reference an enum declaration, an invalid type is returned.

      • nclang_getEnumConstantDeclValue

        public static long nclang_getEnumConstantDeclValue​(long C,
                                                           long __functionAddress)
        
        public static long nclang_getEnumConstantDeclValue​(long C)
        
        Unsafe version of: getEnumConstantDeclValue
      • clang_getEnumConstantDeclValue

        public static long clang_getEnumConstantDeclValue​(CXCursor C)
        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.

      • nclang_getEnumConstantDeclUnsignedValue

        public static long nclang_getEnumConstantDeclUnsignedValue​(long C,
                                                                   long __functionAddress)
        
        public static long nclang_getEnumConstantDeclUnsignedValue​(long C)
        
      • clang_getEnumConstantDeclUnsignedValue

        public static long clang_getEnumConstantDeclUnsignedValue​(CXCursor C)
        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.

      • nclang_getFieldDeclBitWidth

        public static int nclang_getFieldDeclBitWidth​(long C,
                                                      long __functionAddress)
        
        public static int nclang_getFieldDeclBitWidth​(long C)
        
        Unsafe version of: getFieldDeclBitWidth
      • clang_getFieldDeclBitWidth

        public static int clang_getFieldDeclBitWidth​(CXCursor C)
        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.

      • nclang_Cursor_getNumArguments

        public static int nclang_Cursor_getNumArguments​(long C,
                                                        long __functionAddress)
        
        public static int nclang_Cursor_getNumArguments​(long C)
        
        Unsafe version of: Cursor_getNumArguments
      • clang_Cursor_getNumArguments

        public static int clang_Cursor_getNumArguments​(CXCursor C)
        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.

      • nclang_Cursor_getArgument

        public static void nclang_Cursor_getArgument​(long C,
                                                     int i,
                                                     long __functionAddress,
                                                     long __result)
        
        public static void nclang_Cursor_getArgument​(long C,
                                                     int i,
                                                     long __result)
        
        Unsafe version of: Cursor_getArgument
      • clang_Cursor_getArgument

        public static CXCursor clang_Cursor_getArgument​(CXCursor C,
                                                        int i,
                                                        CXCursor __result)
        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.

      • nclang_Cursor_getNumTemplateArguments

        public static int nclang_Cursor_getNumTemplateArguments​(long C,
                                                                long __functionAddress)
        
        public static int nclang_Cursor_getNumTemplateArguments​(long C)
        
      • clang_Cursor_getNumTemplateArguments

        public static int clang_Cursor_getNumTemplateArguments​(CXCursor C)
        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.

      • nclang_Cursor_getTemplateArgumentKind

        public static int nclang_Cursor_getTemplateArgumentKind​(long C,
                                                                int I,
                                                                long __functionAddress)
        
        public static int nclang_Cursor_getTemplateArgumentKind​(long C,
                                                                int I)
        
      • clang_Cursor_getTemplateArgumentKind

        public static int clang_Cursor_getTemplateArgumentKind​(CXCursor C,
                                                               int I)
        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.

      • nclang_Cursor_getTemplateArgumentType

        public static void nclang_Cursor_getTemplateArgumentType​(long C,
                                                                 int I,
                                                                 long __functionAddress,
                                                                 long __result)
        
        public static void nclang_Cursor_getTemplateArgumentType​(long C,
                                                                 int I,
                                                                 long __result)
        
      • clang_Cursor_getTemplateArgumentType

        public static CXType clang_Cursor_getTemplateArgumentType​(CXCursor C,
                                                                  int I,
                                                                  CXType __result)
        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.

      • nclang_Cursor_getTemplateArgumentValue

        public static long nclang_Cursor_getTemplateArgumentValue​(long C,
                                                                  int I,
                                                                  long __functionAddress)
        
        public static long nclang_Cursor_getTemplateArgumentValue​(long C,
                                                                  int I)
        
      • clang_Cursor_getTemplateArgumentValue

        public static long clang_Cursor_getTemplateArgumentValue​(CXCursor C,
                                                                 int I)
        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.

      • nclang_Cursor_getTemplateArgumentUnsignedValue

        public static long nclang_Cursor_getTemplateArgumentUnsignedValue​(long C,
                                                                          int I,
                                                                          long __functionAddress)
        
        public static long nclang_Cursor_getTemplateArgumentUnsignedValue​(long C,
                                                                          int I)
        
      • clang_Cursor_getTemplateArgumentUnsignedValue

        public static long clang_Cursor_getTemplateArgumentUnsignedValue​(CXCursor C,
                                                                         int I)
        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.

      • nclang_equalTypes

        public static int nclang_equalTypes​(long A,
                                            long B,
                                            long __functionAddress)
        
        public static int nclang_equalTypes​(long A,
                                            long B)
        
        Unsafe version of: equalTypes
      • clang_equalTypes

        public static boolean clang_equalTypes​(CXType A,
                                               CXType B)
        Determine whether two CXTypes represent the same type.
        Returns:
        non-zero if the CXTypes represent the same type and zero otherwise
      • nclang_getCanonicalType

        public static void nclang_getCanonicalType​(long T,
                                                   long __functionAddress,
                                                   long __result)
        
        public static void nclang_getCanonicalType​(long T,
                                                   long __result)
        
        Unsafe version of: getCanonicalType
      • clang_getCanonicalType

        public static CXType clang_getCanonicalType​(CXType T,
                                                    CXType __result)
        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'.

      • nclang_isConstQualifiedType

        public static int nclang_isConstQualifiedType​(long T,
                                                      long __functionAddress)
        
        public static int nclang_isConstQualifiedType​(long T)
        
        Unsafe version of: isConstQualifiedType
      • clang_isConstQualifiedType

        public static boolean clang_isConstQualifiedType​(CXType T)
        Determine whether a CXType has the "const" qualifier set, without looking through typedefs that may have added "const" at a different level.
      • nclang_Cursor_isMacroFunctionLike

        public static int nclang_Cursor_isMacroFunctionLike​(long C,
                                                            long __functionAddress)
        
        public static int nclang_Cursor_isMacroFunctionLike​(long C)
        
        Unsafe version of: Cursor_isMacroFunctionLike
      • clang_Cursor_isMacroFunctionLike

        public static boolean clang_Cursor_isMacroFunctionLike​(CXCursor C)
        Determine whether a CXCursor that is a macro, is function like.
      • nclang_Cursor_isMacroBuiltin

        public static int nclang_Cursor_isMacroBuiltin​(long C,
                                                       long __functionAddress)
        
        public static int nclang_Cursor_isMacroBuiltin​(long C)
        
        Unsafe version of: Cursor_isMacroBuiltin
      • clang_Cursor_isMacroBuiltin

        public static boolean clang_Cursor_isMacroBuiltin​(CXCursor C)
        Determine whether a CXCursor that is a macro, is a builtin one.
      • nclang_Cursor_isFunctionInlined

        public static int nclang_Cursor_isFunctionInlined​(long C,
                                                          long __functionAddress)
        
        public static int nclang_Cursor_isFunctionInlined​(long C)
        
        Unsafe version of: Cursor_isFunctionInlined
      • clang_Cursor_isFunctionInlined

        public static boolean clang_Cursor_isFunctionInlined​(CXCursor C)
        Determine whether a CXCursor that is a function declaration, is an inline declaration.
      • nclang_isVolatileQualifiedType

        public static int nclang_isVolatileQualifiedType​(long T,
                                                         long __functionAddress)
        
        public static int nclang_isVolatileQualifiedType​(long T)
        
        Unsafe version of: isVolatileQualifiedType
      • clang_isVolatileQualifiedType

        public static boolean clang_isVolatileQualifiedType​(CXType T)
        Determine whether a CXType has the "volatile" qualifier set, without looking through typedefs that may have added "volatile" at a different level.
      • nclang_isRestrictQualifiedType

        public static int nclang_isRestrictQualifiedType​(long T,
                                                         long __functionAddress)
        
        public static int nclang_isRestrictQualifiedType​(long T)
        
        Unsafe version of: isRestrictQualifiedType
      • clang_isRestrictQualifiedType

        public static boolean clang_isRestrictQualifiedType​(CXType T)
        Determine whether a CXType has the "restrict" qualifier set, without looking through typedefs that may have added "restrict" at a different level.
      • nclang_getAddressSpace

        public static int nclang_getAddressSpace​(long T,
                                                 long __functionAddress)
        
        public static int nclang_getAddressSpace​(long T)
        
        Unsafe version of: getAddressSpace
      • clang_getAddressSpace

        public static int clang_getAddressSpace​(CXType T)
        Returns the address space of the given type.
      • nclang_getTypedefName

        public static void nclang_getTypedefName​(long CT,
                                                 long __functionAddress,
                                                 long __result)
        
        public static void nclang_getTypedefName​(long CT,
                                                 long __result)
        
        Unsafe version of: getTypedefName
      • clang_getTypedefName

        public static CXString clang_getTypedefName​(CXType CT,
                                                    CXString __result)
        Returns the typedef name of the given type.
      • nclang_getPointeeType

        public static void nclang_getPointeeType​(long T,
                                                 long __functionAddress,
                                                 long __result)
        
        public static void nclang_getPointeeType​(long T,
                                                 long __result)
        
        Unsafe version of: getPointeeType
      • clang_getPointeeType

        public static CXType clang_getPointeeType​(CXType T,
                                                  CXType __result)
        For pointer types, returns the type of the pointee.
      • nclang_getTypeDeclaration

        public static void nclang_getTypeDeclaration​(long T,
                                                     long __functionAddress,
                                                     long __result)
        
        public static void nclang_getTypeDeclaration​(long T,
                                                     long __result)
        
        Unsafe version of: getTypeDeclaration
      • clang_getTypeDeclaration

        public static CXCursor clang_getTypeDeclaration​(CXType T,
                                                        CXCursor __result)
        Return the cursor for the declaration of the given type.
      • nclang_getDeclObjCTypeEncoding

        public static void nclang_getDeclObjCTypeEncoding​(long C,
                                                          long __functionAddress,
                                                          long __result)
        
        public static void nclang_getDeclObjCTypeEncoding​(long C,
                                                          long __result)
        
        Unsafe version of: getDeclObjCTypeEncoding
      • clang_getDeclObjCTypeEncoding

        public static CXString clang_getDeclObjCTypeEncoding​(CXCursor C,
                                                             CXString __result)
        Returns the Objective-C type encoding for the specified declaration.
      • nclang_Type_getObjCEncoding

        public static void nclang_Type_getObjCEncoding​(long type,
                                                       long __functionAddress,
                                                       long __result)
        
        public static void nclang_Type_getObjCEncoding​(long type,
                                                       long __result)
        
        Unsafe version of: Type_getObjCEncoding
      • clang_Type_getObjCEncoding

        public static CXString clang_Type_getObjCEncoding​(CXType type,
                                                          CXString __result)
        Returns the Objective-C type encoding for the specified CXType.
      • nclang_getTypeKindSpelling

        public static void nclang_getTypeKindSpelling​(int K,
                                                      long __functionAddress,
                                                      long __result)
        
        public static void nclang_getTypeKindSpelling​(int K,
                                                      long __result)
        
        Unsafe version of: getTypeKindSpelling
      • clang_getTypeKindSpelling

        public static CXString clang_getTypeKindSpelling​(int K,
                                                         CXString __result)
        Retrieve the spelling of a given CXTypeKind.
      • nclang_getFunctionTypeCallingConv

        public static int nclang_getFunctionTypeCallingConv​(long T,
                                                            long __functionAddress)
        
        public static int nclang_getFunctionTypeCallingConv​(long T)
        
        Unsafe version of: getFunctionTypeCallingConv
      • clang_getFunctionTypeCallingConv

        public static int clang_getFunctionTypeCallingConv​(CXType T)
        Retrieve the calling convention associated with a function type.

        If a non-function type is passed in, CallingConv_Invalid is returned.

      • nclang_getResultType

        public static void nclang_getResultType​(long T,
                                                long __functionAddress,
                                                long __result)
        
        public static void nclang_getResultType​(long T,
                                                long __result)
        
        Unsafe version of: getResultType
      • clang_getResultType

        public static CXType clang_getResultType​(CXType T,
                                                 CXType __result)
        Retrieve the return type associated with a function type.

        If a non-function type is passed in, an invalid type is returned.

      • nclang_getExceptionSpecificationType

        public static int nclang_getExceptionSpecificationType​(long T,
                                                               long __functionAddress)
        
        public static int nclang_getExceptionSpecificationType​(long T)
        
      • clang_getExceptionSpecificationType

        public static int clang_getExceptionSpecificationType​(CXType T)
        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.

      • nclang_getNumArgTypes

        public static int nclang_getNumArgTypes​(long T,
                                                long __functionAddress)
        
        public static int nclang_getNumArgTypes​(long T)
        
        Unsafe version of: getNumArgTypes
      • clang_getNumArgTypes

        public static int clang_getNumArgTypes​(CXType T)
        Retrieve the number of non-variadic parameters associated with a function type.

        If a non-function type is passed in, -1 is returned.

      • nclang_getArgType

        public static void nclang_getArgType​(long T,
                                             int i,
                                             long __functionAddress,
                                             long __result)
        
        public static void nclang_getArgType​(long T,
                                             int i,
                                             long __result)
        
        Unsafe version of: getArgType
      • clang_getArgType

        public static CXType clang_getArgType​(CXType T,
                                              int i,
                                              CXType __result)
        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.

      • nclang_Type_getObjCObjectBaseType

        public static void nclang_Type_getObjCObjectBaseType​(long T,
                                                             long __functionAddress,
                                                             long __result)
        
        public static void nclang_Type_getObjCObjectBaseType​(long T,
                                                             long __result)
        
        Unsafe version of: Type_getObjCObjectBaseType
      • clang_Type_getObjCObjectBaseType

        public static CXType clang_Type_getObjCObjectBaseType​(CXType T,
                                                              CXType __result)
        Retrieves the base type of the ObjCObjectType.

        If the type is not an ObjC object, an invalid type is returned.

      • nclang_Type_getNumObjCProtocolRefs

        public static int nclang_Type_getNumObjCProtocolRefs​(long T,
                                                             long __functionAddress)
        
        public static int nclang_Type_getNumObjCProtocolRefs​(long T)
        
        Unsafe version of: Type_getNumObjCProtocolRefs
      • clang_Type_getNumObjCProtocolRefs

        public static int clang_Type_getNumObjCProtocolRefs​(CXType T)
        Retrieve the number of protocol references associated with an ObjC object/id.

        If the type is not an ObjC object, 0 is returned.

      • nclang_Type_getObjCProtocolDecl

        public static void nclang_Type_getObjCProtocolDecl​(long T,
                                                           int i,
                                                           long __functionAddress,
                                                           long __result)
        
        public static void nclang_Type_getObjCProtocolDecl​(long T,
                                                           int i,
                                                           long __result)
        
        Unsafe version of: Type_getObjCProtocolDecl
      • clang_Type_getObjCProtocolDecl

        public static CXCursor clang_Type_getObjCProtocolDecl​(CXType T,
                                                              int i,
                                                              CXCursor __result)
        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.

      • nclang_Type_getNumObjCTypeArgs

        public static int nclang_Type_getNumObjCTypeArgs​(long T,
                                                         long __functionAddress)
        
        public static int nclang_Type_getNumObjCTypeArgs​(long T)
        
        Unsafe version of: Type_getNumObjCTypeArgs
      • clang_Type_getNumObjCTypeArgs

        public static int clang_Type_getNumObjCTypeArgs​(CXType T)
        Retreive the number of type arguments associated with an ObjC object.

        If the type is not an ObjC object, 0 is returned.

      • nclang_Type_getObjCTypeArg

        public static void nclang_Type_getObjCTypeArg​(long T,
                                                      int i,
                                                      long __functionAddress,
                                                      long __result)
        
        public static void nclang_Type_getObjCTypeArg​(long T,
                                                      int i,
                                                      long __result)
        
        Unsafe version of: Type_getObjCTypeArg
      • clang_Type_getObjCTypeArg

        public static CXType clang_Type_getObjCTypeArg​(CXType T,
                                                       int i,
                                                       CXType __result)
        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.

      • nclang_isFunctionTypeVariadic

        public static int nclang_isFunctionTypeVariadic​(long T,
                                                        long __functionAddress)
        
        public static int nclang_isFunctionTypeVariadic​(long T)
        
        Unsafe version of: isFunctionTypeVariadic
      • clang_isFunctionTypeVariadic

        public static boolean clang_isFunctionTypeVariadic​(CXType T)
        Return 1 if the CXType is a variadic function type, and 0 otherwise.
      • nclang_getCursorResultType

        public static void nclang_getCursorResultType​(long C,
                                                      long __functionAddress,
                                                      long __result)
        
        public static void nclang_getCursorResultType​(long C,
                                                      long __result)
        
        Unsafe version of: getCursorResultType
      • clang_getCursorResultType

        public static CXType clang_getCursorResultType​(CXCursor C,
                                                       CXType __result)
        Retrieve the return type associated with a given cursor.

        This only returns a valid type if the cursor refers to a function or method.

      • nclang_getCursorExceptionSpecificationType

        public static int nclang_getCursorExceptionSpecificationType​(long C,
                                                                     long __functionAddress)
        
        public static int nclang_getCursorExceptionSpecificationType​(long C)
        
      • clang_getCursorExceptionSpecificationType

        public static int clang_getCursorExceptionSpecificationType​(CXCursor C)
        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.

      • nclang_isPODType

        public static int nclang_isPODType​(long T,
                                           long __functionAddress)
        
        public static int nclang_isPODType​(long T)
        
        Unsafe version of: isPODType
      • clang_isPODType

        public static boolean clang_isPODType​(CXType T)
        Return 1 if the CXType is a POD (plain old data) type, and 0 otherwise.
      • nclang_getElementType

        public static void nclang_getElementType​(long T,
                                                 long __functionAddress,
                                                 long __result)
        
        public static void nclang_getElementType​(long T,
                                                 long __result)
        
        Unsafe version of: getElementType
      • clang_getElementType

        public static CXType clang_getElementType​(CXType T,
                                                  CXType __result)
        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.

      • nclang_getNumElements

        public static long nclang_getNumElements​(long T,
                                                 long __functionAddress)
        
        public static long nclang_getNumElements​(long T)
        
        Unsafe version of: getNumElements
      • clang_getNumElements

        public static long clang_getNumElements​(CXType T)
        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.

      • nclang_getArrayElementType

        public static void nclang_getArrayElementType​(long T,
                                                      long __functionAddress,
                                                      long __result)
        
        public static void nclang_getArrayElementType​(long T,
                                                      long __result)
        
        Unsafe version of: getArrayElementType
      • clang_getArrayElementType

        public static CXType clang_getArrayElementType​(CXType T,
                                                       CXType __result)
        Return the element type of an array type.

        If a non-array type is passed in, an invalid type is returned.

      • nclang_getArraySize

        public static long nclang_getArraySize​(long T,
                                               long __functionAddress)
        
        public static long nclang_getArraySize​(long T)
        
        Unsafe version of: getArraySize
      • clang_getArraySize

        public static long clang_getArraySize​(CXType T)
        Return the array size of a constant array.

        If a non-array type is passed in, -1 is returned.

      • nclang_Type_getNamedType

        public static void nclang_Type_getNamedType​(long T,
                                                    long __functionAddress,
                                                    long __result)
        
        public static void nclang_Type_getNamedType​(long T,
                                                    long __result)
        
        Unsafe version of: Type_getNamedType
      • clang_Type_getNamedType

        public static CXType clang_Type_getNamedType​(CXType T,
                                                     CXType __result)
        Retrieve the type named by the qualified-id.

        If a non-elaborated type is passed in, an invalid type is returned.

      • nclang_Type_isTransparentTagTypedef

        public static int nclang_Type_isTransparentTagTypedef​(long T,
                                                              long __functionAddress)
        
        public static int nclang_Type_isTransparentTagTypedef​(long T)
        
        Unsafe version of: Type_isTransparentTagTypedef
      • clang_Type_isTransparentTagTypedef

        public static boolean clang_Type_isTransparentTagTypedef​(CXType T)
        Determine if a typedef is 'transparent' tag.

        A typedef is considered 'transparent' if it shares a name and spelling location with its underlying tag type, as is the case with the NS_ENUM macro.

        Returns:
        non-zero if transparent and zero otherwise
      • nclang_Type_getNullability

        public static int nclang_Type_getNullability​(long T,
                                                     long __functionAddress)
        
        public static int nclang_Type_getNullability​(long T)
        
        Unsafe version of: Type_getNullability
      • clang_Type_getNullability

        public static int clang_Type_getNullability​(CXType T)
        Retrieve the nullability kind of a pointer type.
      • nclang_Type_getAlignOf

        public static long nclang_Type_getAlignOf​(long T,
                                                  long __functionAddress)
        
        public static long nclang_Type_getAlignOf​(long T)
        
        Unsafe version of: Type_getAlignOf
      • nclang_Type_getClassType

        public static void nclang_Type_getClassType​(long T,
                                                    long __functionAddress,
                                                    long __result)
        
        public static void nclang_Type_getClassType​(long T,
                                                    long __result)
        
        Unsafe version of: Type_getClassType
      • clang_Type_getClassType

        public static CXType clang_Type_getClassType​(CXType T,
                                                     CXType __result)
        Return the class type of an member pointer type.

        If a non-member-pointer type is passed in, an invalid type is returned.

      • nclang_Type_getSizeOf

        public static long nclang_Type_getSizeOf​(long T,
                                                 long __functionAddress)
        
        public static long nclang_Type_getSizeOf​(long T)
        
        Unsafe version of: Type_getSizeOf
      • nclang_Type_getOffsetOf

        public static long nclang_Type_getOffsetOf​(long T,
                                                   long S,
                                                   long __functionAddress)
        
        public static long nclang_Type_getOffsetOf​(long T,
                                                   long S)
        
        Unsafe version of: Type_getOffsetOf
      • clang_Type_getOffsetOf

        public static long clang_Type_getOffsetOf​(CXType T,
                                                  java.nio.ByteBuffer S)
        
        public static long clang_Type_getOffsetOf​(CXType T,
                                                  java.lang.CharSequence S)
        
        Return the offset of a field named S in a record of type T in bits as it would be returned by __offsetof__ as per C++11[18.2p4]

        If the cursor is not a record field declaration, TypeLayoutError_Invalid is returned. If the field's type declaration is an incomplete type, TypeLayoutError_Incomplete is returned. If the field's type declaration is a dependent type, TypeLayoutError_Dependent is returned. If the field's name S is not found, TypeLayoutError_InvalidFieldName is returned.

      • nclang_Type_getModifiedType

        public static void nclang_Type_getModifiedType​(long T,
                                                       long __functionAddress,
                                                       long __result)
        
        public static void nclang_Type_getModifiedType​(long T,
                                                       long __result)
        
        Unsafe version of: Type_getModifiedType
      • clang_Type_getModifiedType

        public static CXType clang_Type_getModifiedType​(CXType T,
                                                        CXType __result)
        Return the type that was modified by this attributed type.

        If the type is not an attributed type, an invalid type is returned.

      • nclang_Cursor_getOffsetOfField

        public static long nclang_Cursor_getOffsetOfField​(long C,
                                                          long __functionAddress)
        
        public static long nclang_Cursor_getOffsetOfField​(long C)
        
        Unsafe version of: Cursor_getOffsetOfField
      • clang_Cursor_getOffsetOfField

        public static long clang_Cursor_getOffsetOfField​(CXCursor C)
        Return the offset of the field represented by the Cursor.

        If the cursor is not a field declaration, -1 is returned. If the cursor semantic parent is not a record field declaration, TypeLayoutError_Invalid is returned. If the field's type declaration is an incomplete type, TypeLayoutError_Incomplete is returned. If the field's type declaration is a dependent type, TypeLayoutError_Dependent is returned. If the field's name S is not found, TypeLayoutError_InvalidFieldName is returned.

      • nclang_Cursor_isAnonymous

        public static int nclang_Cursor_isAnonymous​(long C,
                                                    long __functionAddress)
        
        public static int nclang_Cursor_isAnonymous​(long C)
        
        Unsafe version of: Cursor_isAnonymous
      • clang_Cursor_isAnonymous

        public static boolean clang_Cursor_isAnonymous​(CXCursor C)
        Determine whether the given cursor represents an anonymous record declaration.
      • nclang_Type_getNumTemplateArguments

        public static int nclang_Type_getNumTemplateArguments​(long T,
                                                              long __functionAddress)
        
        public static int nclang_Type_getNumTemplateArguments​(long T)
        
        Unsafe version of: Type_getNumTemplateArguments
      • clang_Type_getNumTemplateArguments

        public static int clang_Type_getNumTemplateArguments​(CXType T)
        Returns the number of template arguments for given template specialization, or -1 if type T is not a template specialization.
      • nclang_Type_getTemplateArgumentAsType

        public static void nclang_Type_getTemplateArgumentAsType​(long T,
                                                                 int i,
                                                                 long __functionAddress,
                                                                 long __result)
        
        public static void nclang_Type_getTemplateArgumentAsType​(long T,
                                                                 int i,
                                                                 long __result)
        
      • clang_Type_getTemplateArgumentAsType

        public static CXType clang_Type_getTemplateArgumentAsType​(CXType T,
                                                                  int i,
                                                                  CXType __result)
        Returns the type template argument of a template class specialization at given index.

        This function only returns template type arguments and does not handle template template arguments or variadic packs.

      • nclang_Type_getCXXRefQualifier

        public static int nclang_Type_getCXXRefQualifier​(long T,
                                                         long __functionAddress)
        
        public static int nclang_Type_getCXXRefQualifier​(long T)
        
        Unsafe version of: Type_getCXXRefQualifier
      • clang_Type_getCXXRefQualifier

        public static int clang_Type_getCXXRefQualifier​(CXType T)
        Retrieve the ref-qualifier kind of a function or method.

        The ref-qualifier is returned for C++ functions or methods. For other types or non-C++ declarations, RefQualifier_None is returned.

      • nclang_Cursor_isBitField

        public static int nclang_Cursor_isBitField​(long C,
                                                   long __functionAddress)
        
        public static int nclang_Cursor_isBitField​(long C)
        
        Unsafe version of: Cursor_isBitField
      • clang_Cursor_isBitField

        public static boolean clang_Cursor_isBitField​(CXCursor C)
        Returns non-zero if the cursor specifies a Record member that is a bitfield.
      • nclang_isVirtualBase

        public static int nclang_isVirtualBase​(long cursor,
                                               long __functionAddress)
        
        public static int nclang_isVirtualBase​(long cursor)
        
        Unsafe version of: isVirtualBase
      • clang_isVirtualBase

        public static boolean clang_isVirtualBase​(CXCursor cursor)
        Returns 1 if the base class specified by the cursor with kind Cursor_CXXBaseSpecifier is virtual.
      • nclang_getCXXAccessSpecifier

        public static int nclang_getCXXAccessSpecifier​(long cursor,
                                                       long __functionAddress)
        
        public static int nclang_getCXXAccessSpecifier​(long cursor)
        
        Unsafe version of: getCXXAccessSpecifier
      • clang_getCXXAccessSpecifier

        public static int clang_getCXXAccessSpecifier​(CXCursor cursor)
        Returns the access control level for the referenced object.

        If the cursor refers to a C++ declaration, its access control level within its parent scope is returned. Otherwise, if the cursor refers to a base specifier or access specifier, the specifier itself is returned.

      • nclang_Cursor_getStorageClass

        public static int nclang_Cursor_getStorageClass​(long cursor,
                                                        long __functionAddress)
        
        public static int nclang_Cursor_getStorageClass​(long cursor)
        
        Unsafe version of: Cursor_getStorageClass
      • clang_Cursor_getStorageClass

        public static int clang_Cursor_getStorageClass​(CXCursor cursor)
        Returns the storage class for a function or variable declaration.

        If the passed in Cursor is not a function or variable declaration, _SC_Invalid is returned else the storage class.

      • nclang_getNumOverloadedDecls

        public static int nclang_getNumOverloadedDecls​(long cursor,
                                                       long __functionAddress)
        
        public static int nclang_getNumOverloadedDecls​(long cursor)
        
        Unsafe version of: getNumOverloadedDecls
      • clang_getNumOverloadedDecls

        public static int clang_getNumOverloadedDecls​(CXCursor cursor)
        Determine the number of overloaded declarations referenced by a Cursor_OverloadedDeclRef cursor.
        Parameters:
        cursor - the cursor whose overloaded declarations are being queried
        Returns:
        the number of overloaded declarations referenced by cursor. If it is not a CXCursor_OverloadedDeclRef cursor, returns 0.
      • nclang_getOverloadedDecl

        public static void nclang_getOverloadedDecl​(long cursor,
                                                    int index,
                                                    long __functionAddress,
                                                    long __result)
        
        public static void nclang_getOverloadedDecl​(long cursor,
                                                    int index,
                                                    long __result)
        
        Unsafe version of: getOverloadedDecl
      • clang_getOverloadedDecl

        public static CXCursor clang_getOverloadedDecl​(CXCursor cursor,
                                                       int index,
                                                       CXCursor __result)
        Retrieve a cursor for one of the overloaded declarations referenced by a Cursor_OverloadedDeclRef cursor.
        Parameters:
        cursor - the cursor whose overloaded declarations are being queried
        index - the zero-based index into the set of overloaded declarations in the cursor
        __result - a cursor representing the declaration referenced by the given cursor at the specified index. If the cursor does not have an associated set of overloaded declarations, or if the index is out of bounds, returns getNullCursor;
      • nclang_getIBOutletCollectionType

        public static void nclang_getIBOutletCollectionType​(long cursor,
                                                            long __functionAddress,
                                                            long __result)
        
        public static void nclang_getIBOutletCollectionType​(long cursor,
                                                            long __result)
        
        Unsafe version of: getIBOutletCollectionType
      • clang_getIBOutletCollectionType

        public static CXType clang_getIBOutletCollectionType​(CXCursor cursor,
                                                             CXType __result)
        For cursors representing an iboutletcollection attribute, this function returns the collection element type.
      • nclang_visitChildren

        public static int nclang_visitChildren​(long parent,
                                               long visitor,
                                               long client_data,
                                               long __functionAddress)
        
        public static int nclang_visitChildren​(long parent,
                                               long visitor,
                                               long client_data)
        
        Unsafe version of: visitChildren
      • clang_visitChildren

        public static boolean clang_visitChildren​(CXCursor parent,
                                                  CXCursorVisitorI visitor)
        Visit the children of a particular cursor.

        This function visits all the direct children of the given cursor, invoking the given visitor function with the cursors of each visited child. The traversal may be recursive, if the visitor returns ChildVisit_Recurse. The traversal may also be ended prematurely, if the visitor returns ChildVisit_Break.

        Parameters:
        parent - the cursor whose child may be visited. All kinds of cursors can be visited, including invalid cursors (which, by definition, have no children).
        visitor - the visitor function that will be invoked for each child of parent
        Returns:
        a non-zero value if the traversal was terminated prematurely by the visitor returning ChildVisit_Break
      • nclang_getCursorUSR

        public static void nclang_getCursorUSR​(long cursor,
                                               long __functionAddress,
                                               long __result)
        
        public static void nclang_getCursorUSR​(long cursor,
                                               long __result)
        
        Unsafe version of: getCursorUSR
      • clang_getCursorUSR

        public static CXString clang_getCursorUSR​(CXCursor cursor,
                                                  CXString __result)
        Retrieve a Unified Symbol Resolution (USR) for the entity referenced by the given cursor.

        A Unified Symbol Resolution (USR) is a string that identifies a particular entity (function, class, variable, etc.) within a program. USRs can be compared across translation units to determine, e.g., when references in one translation refer to an entity defined in another translation unit.

      • nclang_constructUSR_ObjCClass

        public static void nclang_constructUSR_ObjCClass​(long class_name,
                                                         long __functionAddress,
                                                         long __result)
        
        public static void nclang_constructUSR_ObjCClass​(long class_name,
                                                         long __result)
        
        Unsafe version of: constructUSR_ObjCClass
      • clang_constructUSR_ObjCClass

        public static CXString clang_constructUSR_ObjCClass​(java.nio.ByteBuffer class_name,
                                                            CXString __result)
        
        public static CXString clang_constructUSR_ObjCClass​(java.lang.CharSequence class_name,
                                                            CXString __result)
        
        Construct a USR for a specified Objective-C class.
      • nclang_constructUSR_ObjCCategory

        public static void nclang_constructUSR_ObjCCategory​(long class_name,
                                                            long category_name,
                                                            long __functionAddress,
                                                            long __result)
        
        public static void nclang_constructUSR_ObjCCategory​(long class_name,
                                                            long category_name,
                                                            long __result)
        
        Unsafe version of: constructUSR_ObjCCategory
      • clang_constructUSR_ObjCCategory

        public static CXString clang_constructUSR_ObjCCategory​(java.nio.ByteBuffer class_name,
                                                               java.nio.ByteBuffer category_name,
                                                               CXString __result)
        
        public static CXString clang_constructUSR_ObjCCategory​(java.lang.CharSequence class_name,
                                                               java.lang.CharSequence category_name,
                                                               CXString __result)
        
        Construct a USR for a specified Objective-C category.
      • nclang_constructUSR_ObjCProtocol

        public static void nclang_constructUSR_ObjCProtocol​(long protocol_name,
                                                            long __functionAddress,
                                                            long __result)
        
        public static void nclang_constructUSR_ObjCProtocol​(long protocol_name,
                                                            long __result)
        
        Unsafe version of: constructUSR_ObjCProtocol
      • clang_constructUSR_ObjCProtocol

        public static CXString clang_constructUSR_ObjCProtocol​(java.nio.ByteBuffer protocol_name,
                                                               CXString __result)
        
        public static CXString clang_constructUSR_ObjCProtocol​(java.lang.CharSequence protocol_name,
                                                               CXString __result)
        
        Construct a USR for a specified Objective-C protocol.
      • nclang_constructUSR_ObjCIvar

        public static void nclang_constructUSR_ObjCIvar​(long name,
                                                        long classUSR,
                                                        long __functionAddress,
                                                        long __result)
        
        public static void nclang_constructUSR_ObjCIvar​(long name,
                                                        long classUSR,
                                                        long __result)
        
        Unsafe version of: constructUSR_ObjCIvar
      • clang_constructUSR_ObjCIvar

        public static CXString clang_constructUSR_ObjCIvar​(java.nio.ByteBuffer name,
                                                           CXString classUSR,
                                                           CXString __result)
        
        public static CXString clang_constructUSR_ObjCIvar​(java.lang.CharSequence name,
                                                           CXString classUSR,
                                                           CXString __result)
        
        Construct a USR for a specified Objective-C instance variable and the USR for its containing class.
      • nclang_constructUSR_ObjCMethod

        public static void nclang_constructUSR_ObjCMethod​(long name,
                                                          int isInstanceMethod,
                                                          long classUSR,
                                                          long __functionAddress,
                                                          long __result)
        
        public static void nclang_constructUSR_ObjCMethod​(long name,
                                                          int isInstanceMethod,
                                                          long classUSR,
                                                          long __result)
        
        Unsafe version of: constructUSR_ObjCMethod
      • clang_constructUSR_ObjCMethod

        public static CXString clang_constructUSR_ObjCMethod​(java.nio.ByteBuffer name,
                                                             boolean isInstanceMethod,
                                                             CXString classUSR,
                                                             CXString __result)
        
        public static CXString clang_constructUSR_ObjCMethod​(java.lang.CharSequence name,
                                                             boolean isInstanceMethod,
                                                             CXString classUSR,
                                                             CXString __result)
        
        Construct a USR for a specified Objective-C method and the USR for its containing class.
      • nclang_constructUSR_ObjCProperty

        public static void nclang_constructUSR_ObjCProperty​(long property,
                                                            long classUSR,
                                                            long __functionAddress,
                                                            long __result)
        
        public static void nclang_constructUSR_ObjCProperty​(long property,
                                                            long classUSR,
                                                            long __result)
        
        Unsafe version of: constructUSR_ObjCProperty
      • clang_constructUSR_ObjCProperty

        public static CXString clang_constructUSR_ObjCProperty​(java.nio.ByteBuffer property,
                                                               CXString classUSR,
                                                               CXString __result)
        
        public static CXString clang_constructUSR_ObjCProperty​(java.lang.CharSequence property,
                                                               CXString classUSR,
                                                               CXString __result)
        
        Construct a USR for a specified Objective-C property and the USR for its containing class.
      • nclang_getCursorSpelling

        public static void nclang_getCursorSpelling​(long cursor,
                                                    long __functionAddress,
                                                    long __result)
        
        public static void nclang_getCursorSpelling​(long cursor,
                                                    long __result)
        
        Unsafe version of: getCursorSpelling
      • clang_getCursorSpelling

        public static CXString clang_getCursorSpelling​(CXCursor cursor,
                                                       CXString __result)
        Retrieve a name for the entity referenced by this cursor.
      • nclang_Cursor_getSpellingNameRange

        public static void nclang_Cursor_getSpellingNameRange​(long cursor,
                                                              int pieceIndex,
                                                              int options,
                                                              long __functionAddress,
                                                              long __result)
        
        public static void nclang_Cursor_getSpellingNameRange​(long cursor,
                                                              int pieceIndex,
                                                              int options,
                                                              long __result)
        
        Unsafe version of: Cursor_getSpellingNameRange
      • clang_Cursor_getSpellingNameRange

        public static CXSourceRange clang_Cursor_getSpellingNameRange​(CXCursor cursor,
                                                                      int pieceIndex,
                                                                      int options,
                                                                      CXSourceRange __result)
        Retrieve a range for a piece that forms the cursors spelling name. Most of the times there is only one range for the complete spelling but for Objective-C methods and Objective-C message expressions, there are multiple pieces for each selector identifier.
        Parameters:
        pieceIndex - the index of the spelling name piece. If this is greater than the actual number of pieces, it will return a NULL (invalid) range.
        options - reserved
      • clang_PrintingPolicy_getProperty

        public static int clang_PrintingPolicy_getProperty​(long Policy,
                                                           int Property)
        Get a property value for the given printing policy.
      • clang_PrintingPolicy_setProperty

        public static void clang_PrintingPolicy_setProperty​(long Policy,
                                                            int Property,
                                                            int Value)
        Set a property value for the given printing policy.
      • nclang_getCursorPrintingPolicy

        public static long nclang_getCursorPrintingPolicy​(long cursor,
                                                          long __functionAddress)
        
        public static long nclang_getCursorPrintingPolicy​(long cursor)
        
        Unsafe version of: getCursorPrintingPolicy
      • clang_getCursorPrintingPolicy

        public static long clang_getCursorPrintingPolicy​(CXCursor cursor)
        Retrieve the default policy for the cursor.

        The policy should be released after use with clang_PrintingPolicy_dispose.

      • clang_PrintingPolicy_dispose

        public static void clang_PrintingPolicy_dispose​(long Policy)
        Release a printing policy.
      • nclang_getCursorPrettyPrinted

        public static void nclang_getCursorPrettyPrinted​(long Cursor,
                                                         long Policy,
                                                         long __functionAddress,
                                                         long __result)
        
        public static void nclang_getCursorPrettyPrinted​(long Cursor,
                                                         long Policy,
                                                         long __result)
        
        Unsafe version of: getCursorPrettyPrinted
      • clang_getCursorPrettyPrinted

        public static CXString clang_getCursorPrettyPrinted​(CXCursor Cursor,
                                                            long Policy,
                                                            CXString __result)
        Pretty print declarations.
        Parameters:
        Cursor - the cursor representing a declaration
        Policy - the policy to control the entities being printed. If NULL, a default policy is used.
        __result - the pretty printed declaration or the empty string for other cursors
      • nclang_getCursorDisplayName

        public static void nclang_getCursorDisplayName​(long cursor,
                                                       long __functionAddress,
                                                       long __result)
        
        public static void nclang_getCursorDisplayName​(long cursor,
                                                       long __result)
        
        Unsafe version of: getCursorDisplayName
      • clang_getCursorDisplayName

        public static CXString clang_getCursorDisplayName​(CXCursor cursor,
                                                          CXString __result)
        Retrieve the display name for the entity referenced by this cursor.

        The display name contains extra information that helps identify the cursor, such as the parameters of a function or template or the arguments of a class template specialization.

      • nclang_getCursorReferenced

        public static void nclang_getCursorReferenced​(long cursor,
                                                      long __functionAddress,
                                                      long __result)
        
        public static void nclang_getCursorReferenced​(long cursor,
                                                      long __result)
        
        Unsafe version of: getCursorReferenced
      • clang_getCursorReferenced

        public static CXCursor clang_getCursorReferenced​(CXCursor cursor,
                                                         CXCursor __result)
        For a cursor that is a reference, retrieve a cursor representing the entity that it references.

        Reference cursors refer to other entities in the AST. For example, an Objective-C superclass reference cursor refers to an Objective-C class. This function produces the cursor for the Objective-C class from the cursor for the superclass reference. If the input cursor is a declaration or definition, it returns that declaration or definition unchanged. Otherwise, returns the NULL cursor.

      • nclang_getCursorDefinition

        public static void nclang_getCursorDefinition​(long cursor,
                                                      long __functionAddress,
                                                      long __result)
        
        public static void nclang_getCursorDefinition​(long cursor,
                                                      long __result)
        
        Unsafe version of: getCursorDefinition
      • clang_getCursorDefinition

        public static CXCursor clang_getCursorDefinition​(CXCursor cursor,
                                                         CXCursor __result)
        For a cursor that is either a reference to or a declaration of some entity, retrieve a cursor that describes the definition of that entity.

        Some entities can be declared multiple times within a translation unit, but only one of those declarations can also be a definition. For example, given:

        
           int f(int, int);
           int g(int x, int y) { return f(x, y); }
           int f(int a, int b) { return a + b; }
           int f(int, int);

        there are three declarations of the function "f", but only the second one is a definition. The clang_getCursorDefinition() function will take any cursor pointing to a declaration of "f" (the first or fourth lines of the example) or a cursor referenced that uses "f" (the call to "f' inside "g") and will return a declaration cursor pointing to the definition (the second "f" declaration).

        If given a cursor for which there is no corresponding definition, e.g., because there is no definition of that entity within this translation unit, returns a NULL cursor.

      • nclang_isCursorDefinition

        public static int nclang_isCursorDefinition​(long cursor,
                                                    long __functionAddress)
        
        public static int nclang_isCursorDefinition​(long cursor)
        
        Unsafe version of: isCursorDefinition
      • clang_isCursorDefinition

        public static boolean clang_isCursorDefinition​(CXCursor cursor)
        Determine whether the declaration pointed to by this cursor is also a definition of that entity.
      • nclang_getCanonicalCursor

        public static void nclang_getCanonicalCursor​(long cursor,
                                                     long __functionAddress,
                                                     long __result)
        
        public static void nclang_getCanonicalCursor​(long cursor,
                                                     long __result)
        
        Unsafe version of: getCanonicalCursor
      • clang_getCanonicalCursor

        public static CXCursor clang_getCanonicalCursor​(CXCursor cursor,
                                                        CXCursor __result)
        Retrieve the canonical cursor corresponding to the given cursor.

        In the C family of languages, many kinds of entities can be declared several times within a single translation unit. For example, a structure type can be forward-declared (possibly multiple times) and later defined:

        
          struct X;
          struct X;
          struct X {
            int member;
          };

        The declarations and the definition of X are represented by three different cursors, all of which are declarations of the same underlying entity. One of these cursor is considered the "canonical" cursor, which is effectively the representative for the underlying entity. One can determine if two cursors are declarations of the same underlying entity by comparing their canonical cursors.

        Parameters:
        __result - the canonical cursor for the entity referred to by the given cursor
      • nclang_Cursor_getObjCSelectorIndex

        public static int nclang_Cursor_getObjCSelectorIndex​(long cursor,
                                                             long __functionAddress)
        
        public static int nclang_Cursor_getObjCSelectorIndex​(long cursor)
        
        Unsafe version of: Cursor_getObjCSelectorIndex
      • clang_Cursor_getObjCSelectorIndex

        public static int clang_Cursor_getObjCSelectorIndex​(CXCursor cursor)
        If the cursor points to a selector identifier in an Objective-C method or message expression, this returns the selector index.

        After getting a cursor with getCursor, this can be called to determine if the location points to a selector identifier.

        Returns:
        the selector index if the cursor is an Objective-C method or message expression and the cursor is pointing to a selector identifier, or -1 otherwise
      • nclang_Cursor_isDynamicCall

        public static int nclang_Cursor_isDynamicCall​(long C,
                                                      long __functionAddress)
        
        public static int nclang_Cursor_isDynamicCall​(long C)
        
        Unsafe version of: Cursor_isDynamicCall
      • clang_Cursor_isDynamicCall

        public static boolean clang_Cursor_isDynamicCall​(CXCursor C)
        Given a cursor pointing to a C++ method call or an Objective-C message, returns non-zero if the method/message is "dynamic", meaning:

        For a C++ method: the call is virtual. For an Objective-C message: the receiver is an object instance, not 'super' or a specific class.

        If the method/message is "static" or the cursor does not point to a method/message, it will return zero.

      • nclang_Cursor_getReceiverType

        public static void nclang_Cursor_getReceiverType​(long C,
                                                         long __functionAddress,
                                                         long __result)
        
        public static void nclang_Cursor_getReceiverType​(long C,
                                                         long __result)
        
        Unsafe version of: Cursor_getReceiverType
      • clang_Cursor_getReceiverType

        public static CXType clang_Cursor_getReceiverType​(CXCursor C,
                                                          CXType __result)
        Given a cursor pointing to an Objective-C message or property reference, or C++ method call, returns the CXType of the receiver.
      • nclang_Cursor_getObjCPropertyAttributes

        public static int nclang_Cursor_getObjCPropertyAttributes​(long C,
                                                                  int reserved,
                                                                  long __functionAddress)
        
        public static int nclang_Cursor_getObjCPropertyAttributes​(long C,
                                                                  int reserved)
        
      • clang_Cursor_getObjCPropertyAttributes

        public static int clang_Cursor_getObjCPropertyAttributes​(CXCursor C,
                                                                 int reserved)
        Given a cursor that represents a property declaration, return the associated property attributes. The bits are formed from CXObjCPropertyAttrKind.
        Parameters:
        reserved - reserved for future use, pass 0
      • nclang_Cursor_getObjCPropertyGetterName

        public static void nclang_Cursor_getObjCPropertyGetterName​(long C,
                                                                   long __functionAddress,
                                                                   long __result)
        
        public static void nclang_Cursor_getObjCPropertyGetterName​(long C,
                                                                   long __result)
        
      • clang_Cursor_getObjCPropertyGetterName

        public static CXString clang_Cursor_getObjCPropertyGetterName​(CXCursor C,
                                                                      CXString __result)
        Given a cursor that represents a property declaration, return the name of the method that implements the getter.
      • nclang_Cursor_getObjCPropertySetterName

        public static void nclang_Cursor_getObjCPropertySetterName​(long C,
                                                                   long __functionAddress,
                                                                   long __result)
        
        public static void nclang_Cursor_getObjCPropertySetterName​(long C,
                                                                   long __result)
        
      • clang_Cursor_getObjCPropertySetterName

        public static CXString clang_Cursor_getObjCPropertySetterName​(CXCursor C,
                                                                      CXString __result)
        Given a cursor that represents a property declaration, return the name of the method that implements the setter, if any.
      • nclang_Cursor_getObjCDeclQualifiers

        public static int nclang_Cursor_getObjCDeclQualifiers​(long C,
                                                              long __functionAddress)
        
        public static int nclang_Cursor_getObjCDeclQualifiers​(long C)
        
        Unsafe version of: Cursor_getObjCDeclQualifiers
      • clang_Cursor_getObjCDeclQualifiers

        public static int clang_Cursor_getObjCDeclQualifiers​(CXCursor C)
        Given a cursor that represents an Objective-C method or parameter declaration, return the associated Objective-C qualifiers for the return type or the parameter respectively. The bits are formed from CXObjCDeclQualifierKind.
      • nclang_Cursor_isObjCOptional

        public static int nclang_Cursor_isObjCOptional​(long C,
                                                       long __functionAddress)
        
        public static int nclang_Cursor_isObjCOptional​(long C)
        
        Unsafe version of: Cursor_isObjCOptional
      • clang_Cursor_isObjCOptional

        public static boolean clang_Cursor_isObjCOptional​(CXCursor C)
        Given a cursor that represents an Objective-C method or property declaration, return non-zero if the declaration was affected by "@optional". Returns zero if the cursor is not such a declaration or it is "@required".
      • nclang_Cursor_isVariadic

        public static int nclang_Cursor_isVariadic​(long C,
                                                   long __functionAddress)
        
        public static int nclang_Cursor_isVariadic​(long C)
        
        Unsafe version of: Cursor_isVariadic
      • clang_Cursor_isVariadic

        public static boolean clang_Cursor_isVariadic​(CXCursor C)
        Returns non-zero if the given cursor is a variadic function or method.
      • nclang_Cursor_isExternalSymbol

        public static int nclang_Cursor_isExternalSymbol​(long C,
                                                         long language,
                                                         long definedIn,
                                                         long isGenerated,
                                                         long __functionAddress)
        
        public static int nclang_Cursor_isExternalSymbol​(long C,
                                                         long language,
                                                         long definedIn,
                                                         long isGenerated)
        
        Unsafe version of: Cursor_isExternalSymbol
      • clang_Cursor_isExternalSymbol

        public static boolean clang_Cursor_isExternalSymbol​(CXCursor C,
                                                            @Nullable
                                                            CXString.Buffer language,
                                                            @Nullable
                                                            CXString.Buffer definedIn,
                                                            @Nullable
                                                            java.nio.IntBuffer isGenerated)
        Returns non-zero if the given cursor points to a symbol marked with external_source_symbol attribute.
        Parameters:
        language - if non-NULL, and the attribute is present, will be set to the 'language' string from the attribute
        definedIn - if non-NULL, and the attribute is present, will be set to the 'definedIn' string from the attribute
        isGenerated - if non-NULL, and the attribute is present, will be set to non-zero if the 'generated_declaration' is set in the attribute
      • nclang_Cursor_getCommentRange

        public static void nclang_Cursor_getCommentRange​(long C,
                                                         long __functionAddress,
                                                         long __result)
        
        public static void nclang_Cursor_getCommentRange​(long C,
                                                         long __result)
        
        Unsafe version of: Cursor_getCommentRange
      • clang_Cursor_getCommentRange

        public static CXSourceRange clang_Cursor_getCommentRange​(CXCursor C,
                                                                 CXSourceRange __result)
        Given a cursor that represents a declaration, return the associated comment's source range. The range may include multiple consecutive comments with whitespace in between.
      • nclang_Cursor_getRawCommentText

        public static void nclang_Cursor_getRawCommentText​(long C,
                                                           long __functionAddress,
                                                           long __result)
        
        public static void nclang_Cursor_getRawCommentText​(long C,
                                                           long __result)
        
        Unsafe version of: Cursor_getRawCommentText
      • clang_Cursor_getRawCommentText

        public static CXString clang_Cursor_getRawCommentText​(CXCursor C,
                                                              CXString __result)
        Given a cursor that represents a declaration, return the associated comment text, including comment markers.
      • nclang_Cursor_getBriefCommentText

        public static void nclang_Cursor_getBriefCommentText​(long C,
                                                             long __functionAddress,
                                                             long __result)
        
        public static void nclang_Cursor_getBriefCommentText​(long C,
                                                             long __result)
        
        Unsafe version of: Cursor_getBriefCommentText
      • clang_Cursor_getBriefCommentText

        public static CXString clang_Cursor_getBriefCommentText​(CXCursor C,
                                                                CXString __result)
        Given a cursor that represents a documentable entity (e.g., declaration), return the associated; otherwise return the

        first paragraph.

      • nclang_Cursor_getMangling

        public static void nclang_Cursor_getMangling​(long cursor,
                                                     long __functionAddress,
                                                     long __result)
        
        public static void nclang_Cursor_getMangling​(long cursor,
                                                     long __result)
        
        Unsafe version of: Cursor_getMangling
      • clang_Cursor_getMangling

        public static CXString clang_Cursor_getMangling​(CXCursor cursor,
                                                        CXString __result)
        Retrieve the CXString representing the mangled name of the cursor.
      • nclang_Cursor_getCXXManglings

        public static long nclang_Cursor_getCXXManglings​(long cursor,
                                                         long __functionAddress)
        
        public static long nclang_Cursor_getCXXManglings​(long cursor)
        
        Unsafe version of: Cursor_getCXXManglings
      • clang_Cursor_getCXXManglings

        @Nullable
        public static CXStringSet clang_Cursor_getCXXManglings​(CXCursor cursor)
        Retrieve the CXStrings representing the mangled symbols of the C++ constructor or destructor at the cursor.
      • nclang_Cursor_getObjCManglings

        public static long nclang_Cursor_getObjCManglings​(long cursor,
                                                          long __functionAddress)
        
        public static long nclang_Cursor_getObjCManglings​(long cursor)
        
        Unsafe version of: Cursor_getObjCManglings
      • clang_Cursor_getObjCManglings

        @Nullable
        public static CXStringSet clang_Cursor_getObjCManglings​(CXCursor cursor)
        Retrieve the CXStrings representing the mangled symbols of the ObjC class interface or implementation at the cursor.
      • nclang_Cursor_getModule

        public static long nclang_Cursor_getModule​(long C,
                                                   long __functionAddress)
        
        public static long nclang_Cursor_getModule​(long C)
        
        Unsafe version of: Cursor_getModule
      • clang_getModuleForFile

        public static long clang_getModuleForFile​(long TU,
                                                  long file)
        Given a CXFile header file, return the module that contains it, if one exists.
      • clang_Module_getASTFile

        public static long clang_Module_getASTFile​(long Module)
        Parameters:
        Module - a module object
        Returns:
        the module file where the provided module object came from
      • clang_Module_getParent

        public static long clang_Module_getParent​(long Module)
        Parameters:
        Module - a module object
        Returns:
        the parent of a sub-module or NULL if the given module is top-level, e.g. for 'std.vector' it will return the 'std' module.
      • nclang_Module_getName

        public static void nclang_Module_getName​(long Module,
                                                 long __functionAddress,
                                                 long __result)
        
        public static void nclang_Module_getName​(long Module,
                                                 long __result)
        
        Unsafe version of: Module_getName
      • clang_Module_getName

        public static CXString clang_Module_getName​(long Module,
                                                    CXString __result)
        Parameters:
        Module - a module object
        __result - the name of the module, e.g. for the 'std.vector' sub-module it will return "vector".
      • nclang_Module_getFullName

        public static void nclang_Module_getFullName​(long Module,
                                                     long __functionAddress,
                                                     long __result)
        
        public static void nclang_Module_getFullName​(long Module,
                                                     long __result)
        
        Unsafe version of: Module_getFullName
      • clang_Module_getFullName

        public static CXString clang_Module_getFullName​(long Module,
                                                        CXString __result)
        Parameters:
        Module - a module object
        __result - the full name of the module, e.g. "std.vector".
      • clang_Module_isSystem

        public static boolean clang_Module_isSystem​(long Module)
        Parameters:
        Module - a module object
        Returns:
        non-zero if the module is a system one
      • clang_Module_getNumTopLevelHeaders

        public static int clang_Module_getNumTopLevelHeaders​(long TU,
                                                             long Module)
        Parameters:
        Module - a module object
        Returns:
        the number of top level headers associated with this module
      • clang_Module_getTopLevelHeader

        public static long clang_Module_getTopLevelHeader​(long TU,
                                                          long Module,
                                                          int Index)
        Parameters:
        Module - a module object
        Index - top level header index (zero-based)
        Returns:
        the specified top level header associated with the module
      • nclang_CXXConstructor_isConvertingConstructor

        public static int nclang_CXXConstructor_isConvertingConstructor​(long C,
                                                                        long __functionAddress)
        
        public static int nclang_CXXConstructor_isConvertingConstructor​(long C)
        
      • clang_CXXConstructor_isConvertingConstructor

        public static boolean clang_CXXConstructor_isConvertingConstructor​(CXCursor C)
        Determine if a C++ constructor is a converting constructor.
      • nclang_CXXConstructor_isCopyConstructor

        public static int nclang_CXXConstructor_isCopyConstructor​(long C,
                                                                  long __functionAddress)
        
        public static int nclang_CXXConstructor_isCopyConstructor​(long C)
        
      • clang_CXXConstructor_isCopyConstructor

        public static boolean clang_CXXConstructor_isCopyConstructor​(CXCursor C)
        Determine if a C++ constructor is a copy constructor.
      • nclang_CXXConstructor_isDefaultConstructor

        public static int nclang_CXXConstructor_isDefaultConstructor​(long C,
                                                                     long __functionAddress)
        
        public static int nclang_CXXConstructor_isDefaultConstructor​(long C)
        
      • clang_CXXConstructor_isDefaultConstructor

        public static boolean clang_CXXConstructor_isDefaultConstructor​(CXCursor C)
        Determine if a C++ constructor is the default constructor.
      • nclang_CXXConstructor_isMoveConstructor

        public static int nclang_CXXConstructor_isMoveConstructor​(long C,
                                                                  long __functionAddress)
        
        public static int nclang_CXXConstructor_isMoveConstructor​(long C)
        
      • clang_CXXConstructor_isMoveConstructor

        public static boolean clang_CXXConstructor_isMoveConstructor​(CXCursor C)
        Determine if a C++ constructor is a move constructor.
      • nclang_CXXField_isMutable

        public static int nclang_CXXField_isMutable​(long C,
                                                    long __functionAddress)
        
        public static int nclang_CXXField_isMutable​(long C)
        
        Unsafe version of: CXXField_isMutable
      • clang_CXXField_isMutable

        public static boolean clang_CXXField_isMutable​(CXCursor C)
        Determine if a C++ field is declared 'mutable'.
      • nclang_CXXMethod_isDefaulted

        public static int nclang_CXXMethod_isDefaulted​(long C,
                                                       long __functionAddress)
        
        public static int nclang_CXXMethod_isDefaulted​(long C)
        
        Unsafe version of: CXXMethod_isDefaulted
      • clang_CXXMethod_isDefaulted

        public static boolean clang_CXXMethod_isDefaulted​(CXCursor C)
        Determine if a C++ method is declared '= default'.
      • nclang_CXXMethod_isPureVirtual

        public static int nclang_CXXMethod_isPureVirtual​(long C,
                                                         long __functionAddress)
        
        public static int nclang_CXXMethod_isPureVirtual​(long C)
        
        Unsafe version of: CXXMethod_isPureVirtual
      • clang_CXXMethod_isPureVirtual

        public static boolean clang_CXXMethod_isPureVirtual​(CXCursor C)
        Determine if a C++ member function or member function template is pure virtual.
      • nclang_CXXMethod_isStatic

        public static int nclang_CXXMethod_isStatic​(long C,
                                                    long __functionAddress)
        
        public static int nclang_CXXMethod_isStatic​(long C)
        
        Unsafe version of: CXXMethod_isStatic
      • clang_CXXMethod_isStatic

        public static boolean clang_CXXMethod_isStatic​(CXCursor C)
        Determine if a C++ member function or member function template is declared 'static'.
      • nclang_CXXMethod_isVirtual

        public static int nclang_CXXMethod_isVirtual​(long C,
                                                     long __functionAddress)
        
        public static int nclang_CXXMethod_isVirtual​(long C)
        
        Unsafe version of: CXXMethod_isVirtual
      • clang_CXXMethod_isVirtual

        public static boolean clang_CXXMethod_isVirtual​(CXCursor C)
        Determine if a C++ member function or member function template is explicitly declared 'virtual' or if it overrides a virtual method from one of the base classes.
      • nclang_CXXRecord_isAbstract

        public static int nclang_CXXRecord_isAbstract​(long C,
                                                      long __functionAddress)
        
        public static int nclang_CXXRecord_isAbstract​(long C)
        
        Unsafe version of: CXXRecord_isAbstract
      • clang_CXXRecord_isAbstract

        public static boolean clang_CXXRecord_isAbstract​(CXCursor C)
        Determine if a C++ record is abstract, i.e. whether a class or struct has a pure virtual member function.
      • nclang_EnumDecl_isScoped

        public static int nclang_EnumDecl_isScoped​(long C,
                                                   long __functionAddress)
        
        public static int nclang_EnumDecl_isScoped​(long C)
        
        Unsafe version of: EnumDecl_isScoped
      • clang_EnumDecl_isScoped

        public static boolean clang_EnumDecl_isScoped​(CXCursor C)
        Determine if an enum declaration refers to a scoped enum.
      • nclang_CXXMethod_isConst

        public static int nclang_CXXMethod_isConst​(long C,
                                                   long __functionAddress)
        
        public static int nclang_CXXMethod_isConst​(long C)
        
        Unsafe version of: CXXMethod_isConst
      • clang_CXXMethod_isConst

        public static boolean clang_CXXMethod_isConst​(CXCursor C)
        Determine if a C++ member function or member function template is declared 'const'.
      • nclang_getTemplateCursorKind

        public static int nclang_getTemplateCursorKind​(long C,
                                                       long __functionAddress)
        
        public static int nclang_getTemplateCursorKind​(long C)
        
        Unsafe version of: getTemplateCursorKind
      • clang_getTemplateCursorKind

        public static int clang_getTemplateCursorKind​(CXCursor C)
        Given a cursor that represents a template, determine the cursor kind of the specializations would be generated by instantiating the template.

        This routine can be used to determine what flavor of function template, class template, or class template partial specialization is stored in the cursor. For example, it can describe whether a class template cursor is declared with "struct", "class" or "union".

        Parameters:
        C - the cursor to query. This cursor should represent a template declaration.
        Returns:
        the cursor kind of the specializations that would be generated by instantiating the template C. If C is not a template, returns Cursor_NoDeclFound.
      • nclang_getSpecializedCursorTemplate

        public static void nclang_getSpecializedCursorTemplate​(long C,
                                                               long __functionAddress,
                                                               long __result)
        
        public static void nclang_getSpecializedCursorTemplate​(long C,
                                                               long __result)
        
        Unsafe version of: getSpecializedCursorTemplate
      • clang_getSpecializedCursorTemplate

        public static CXCursor clang_getSpecializedCursorTemplate​(CXCursor C,
                                                                  CXCursor __result)
        Given a cursor that may represent a specialization or instantiation of a template, retrieve the cursor that represents the template that it specializes or from which it was instantiated.

        This routine determines the template involved both for explicit specializations of templates and for implicit instantiations of the template, both of which are referred to as "specializations". For a class template specialization (e.g., std::vector<bool>), this routine will return either the primary template (std::vector) or, if the specialization was instantiated from a class template partial specialization, the class template partial specialization. For a class template partial specialization and a function template specialization (including instantiations), this this routine will return the specialized template.

        For members of a class template (e.g., member functions, member classes, or static data members), returns the specialized or instantiated member. Although not strictly "templates" in the C++ language, members of class templates have the same notions of specializations and instantiations that templates do, so this routine treats them similarly.

        Parameters:
        C - a cursor that may be a specialization of a template or a member of a template
        __result - if the given cursor is a specialization or instantiation of a template or a member thereof, the template or member that it specializes or from which it was instantiated. Otherwise, returns a NULL cursor.
      • nclang_getCursorReferenceNameRange

        public static void nclang_getCursorReferenceNameRange​(long C,
                                                              int NameFlags,
                                                              int PieceIndex,
                                                              long __functionAddress,
                                                              long __result)
        
        public static void nclang_getCursorReferenceNameRange​(long C,
                                                              int NameFlags,
                                                              int PieceIndex,
                                                              long __result)
        
        Unsafe version of: getCursorReferenceNameRange
      • clang_getCursorReferenceNameRange

        public static CXSourceRange clang_getCursorReferenceNameRange​(CXCursor C,
                                                                      int NameFlags,
                                                                      int PieceIndex,
                                                                      CXSourceRange __result)
        Given a cursor that references something else, return the source range covering that reference.
        Parameters:
        C - a cursor pointing to a member reference, a declaration reference, or an operator call
        NameFlags - a bitset with three independent flags: NameRange_WantQualifier, NameRange_WantTemplateArgs, and NameRange_WantSinglePiece
        PieceIndex - for contiguous names or when passing the flag NameRange_WantSinglePiece, only one piece with index 0 is available. When the NameRange_WantSinglePiece flag is not passed for a non-contiguous names, this index can be used to retrieve the individual pieces of the name. See also NameRange_WantSinglePiece.
        __result - the piece of the name pointed to by the given cursor. If there is no name, or if the PieceIndex is out-of-range, a null-cursor will be returned.
      • nclang_getToken

        public static long nclang_getToken​(long TU,
                                           long Location,
                                           long __functionAddress)
        
        public static long nclang_getToken​(long TU,
                                           long Location)
        
        Unsafe version of: getToken
      • clang_getToken

        @Nullable
        public static CXToken clang_getToken​(long TU,
                                             CXSourceLocation Location)
        Get the raw lexical token starting with the given location.
        Parameters:
        TU - the translation unit whose text is being tokenized
        Location - the source location with which the token starts
        Returns:
        the token starting with the given location or NULL if no such token exist. The returned pointer must be freed with disposeTokens before the translation unit is destroyed.
      • nclang_getTokenKind

        public static int nclang_getTokenKind​(long token,
                                              long __functionAddress)
        
        public static int nclang_getTokenKind​(long token)
        
        Unsafe version of: getTokenKind
      • clang_getTokenKind

        public static int clang_getTokenKind​(CXToken token)
        Determine the kind of the given token.
      • nclang_getTokenSpelling

        public static void nclang_getTokenSpelling​(long TU,
                                                   long token,
                                                   long __functionAddress,
                                                   long __result)
        
        public static void nclang_getTokenSpelling​(long TU,
                                                   long token,
                                                   long __result)
        
        Unsafe version of: getTokenSpelling
      • clang_getTokenSpelling

        public static CXString clang_getTokenSpelling​(long TU,
                                                      CXToken token,
                                                      CXString __result)
        Determine the spelling of the given token.

        The spelling of a token is the textual representation of that token, e.g., the text of an identifier or keyword.

      • nclang_getTokenLocation

        public static void nclang_getTokenLocation​(long TU,
                                                   long token,
                                                   long __functionAddress,
                                                   long __result)
        
        public static void nclang_getTokenLocation​(long TU,
                                                   long token,
                                                   long __result)
        
        Unsafe version of: getTokenLocation
      • nclang_getTokenExtent

        public static void nclang_getTokenExtent​(long TU,
                                                 long token,
                                                 long __functionAddress,
                                                 long __result)
        
        public static void nclang_getTokenExtent​(long TU,
                                                 long token,
                                                 long __result)
        
        Unsafe version of: getTokenExtent
      • clang_getTokenExtent

        public static CXSourceRange clang_getTokenExtent​(long TU,
                                                         CXToken token,
                                                         CXSourceRange __result)
        Retrieve a source range that covers the given token.
      • nclang_tokenize

        public static void nclang_tokenize​(long TU,
                                           long Range,
                                           long Tokens,
                                           long NumTokens,
                                           long __functionAddress)
        
        public static void nclang_tokenize​(long TU,
                                           long Range,
                                           long Tokens,
                                           long NumTokens)
        
        Unsafe version of: tokenize
      • clang_tokenize

        public static void clang_tokenize​(long TU,
                                          CXSourceRange Range,
                                          org.lwjgl.PointerBuffer Tokens,
                                          java.nio.IntBuffer NumTokens)
        Tokenize the source code described by the given range into raw lexical tokens.
        Parameters:
        TU - the translation unit whose text is being tokenized
        Range - the source range in which text should be tokenized. All of the tokens produced by tokenization will fall within this source range,
        Tokens - this pointer will be set to point to the array of tokens that occur within the given source range. The returned pointer must be freed with disposeTokens before the translation unit is destroyed.
        NumTokens - will be set to the number of tokens in the *Tokens array
      • nclang_annotateTokens

        public static void nclang_annotateTokens​(long TU,
                                                 long Tokens,
                                                 int NumTokens,
                                                 long Cursors)
        Unsafe version of: annotateTokens
        Parameters:
        NumTokens - the number of tokens in Tokens
      • clang_annotateTokens

        public static void clang_annotateTokens​(long TU,
                                                CXToken.Buffer Tokens,
                                                CXCursor.Buffer Cursors)
        Annotate the given set of tokens by providing cursors for each token that can be mapped to a specific entity within the abstract syntax tree.

        This token-annotation routine is equivalent to invoking getCursor for the source locations of each of the tokens. The cursors provided are filtered, so that only those cursors that have a direct correspondence to the token are accepted. For example, given a function call f(x), clang_getCursor() would provide the following cursors:

        • when the cursor is over the 'f', a DeclRefExpr cursor referring to 'f'.
        • when the cursor is over the '(' or the ')', a CallExpr referring to 'f'.
        • when the cursor is over the 'x', a DeclRefExpr cursor referring to 'x'.

        Only the first and last of these cursors will occur within the annotate, since the tokens "f" and "x' directly refer to a function and a variable, respectively, but the parentheses are just a small part of the full syntax of the function call expression, which is not provided as an annotation.

        Parameters:
        TU - the translation unit that owns the given tokens
        Tokens - the set of tokens to annotate
        Cursors - an array of NumTokens cursors, whose contents will be replaced with the cursors corresponding to each token
      • nclang_disposeTokens

        public static void nclang_disposeTokens​(long TU,
                                                long Tokens,
                                                int NumTokens)
        Unsafe version of: disposeTokens
      • clang_disposeTokens

        public static void clang_disposeTokens​(long TU,
                                               CXToken.Buffer Tokens)
        Free the given set of tokens.
      • nclang_getCursorKindSpelling

        public static void nclang_getCursorKindSpelling​(int Kind,
                                                        long __functionAddress,
                                                        long __result)
      • nclang_getCursorKindSpelling

        public static void nclang_getCursorKindSpelling​(int Kind,
                                                        long __result)
      • clang_getCursorKindSpelling

        public static CXString clang_getCursorKindSpelling​(int Kind,
                                                           CXString __result)
      • nclang_getDefinitionSpellingAndExtent

        public static void nclang_getDefinitionSpellingAndExtent​(long cursor,
                                                                 long startBuf,
                                                                 long endBuf,
                                                                 long startLine,
                                                                 long startColumn,
                                                                 long endLine,
                                                                 long endColumn,
                                                                 long __functionAddress)
      • nclang_getDefinitionSpellingAndExtent

        public static void nclang_getDefinitionSpellingAndExtent​(long cursor,
                                                                 long startBuf,
                                                                 long endBuf,
                                                                 long startLine,
                                                                 long startColumn,
                                                                 long endLine,
                                                                 long endColumn)
      • clang_getDefinitionSpellingAndExtent

        public static void clang_getDefinitionSpellingAndExtent​(CXCursor cursor,
                                                                @Nullable
                                                                org.lwjgl.PointerBuffer startBuf,
                                                                @Nullable
                                                                org.lwjgl.PointerBuffer endBuf,
                                                                @Nullable
                                                                java.nio.IntBuffer startLine,
                                                                @Nullable
                                                                java.nio.IntBuffer startColumn,
                                                                @Nullable
                                                                java.nio.IntBuffer endLine,
                                                                @Nullable
                                                                java.nio.IntBuffer endColumn)
      • clang_enableStackTraces

        public static void clang_enableStackTraces()
      • nclang_executeOnThread

        public static void nclang_executeOnThread​(long fn,
                                                  long user_data,
                                                  int stack_size)
      • clang_executeOnThread

        public static void clang_executeOnThread​(CXExecuteOnThreadI fn,
                                                 long user_data,
                                                 int stack_size)
      • clang_getCompletionChunkKind

        public static int clang_getCompletionChunkKind​(long completion_string,
                                                       int chunk_number)
        Determine the kind of a particular chunk within a completion string.
        Parameters:
        completion_string - the completion string to query
        chunk_number - the 0-based index of the chunk in the completion string
        Returns:
        the kind of the chunk at the index chunk_number
      • nclang_getCompletionChunkText

        public static void nclang_getCompletionChunkText​(long completion_string,
                                                         int chunk_number,
                                                         long __functionAddress,
                                                         long __result)
        
        public static void nclang_getCompletionChunkText​(long completion_string,
                                                         int chunk_number,
                                                         long __result)
        
        Unsafe version of: getCompletionChunkText
      • clang_getCompletionChunkText

        public static CXString clang_getCompletionChunkText​(long completion_string,
                                                            int chunk_number,
                                                            CXString __result)
        Retrieve the text associated with a particular chunk within a completion string.
        Parameters:
        completion_string - the completion string to query
        chunk_number - the 0-based index of the chunk in the completion string
        __result - the text associated with the chunk at index chunk_number
      • clang_getCompletionChunkCompletionString

        public static long clang_getCompletionChunkCompletionString​(long completion_string,
                                                                    int chunk_number)
        Retrieve the completion string associated with a particular chunk within a completion string.
        Parameters:
        completion_string - the completion string to query
        chunk_number - the 0-based index of the chunk in the completion string
        Returns:
        the completion string associated with the chunk at index chunk_number
      • clang_getNumCompletionChunks

        public static int clang_getNumCompletionChunks​(long completion_string)
        Retrieve the number of chunks in the given code-completion string.
      • clang_getCompletionPriority

        public static int clang_getCompletionPriority​(long completion_string)
        Determine the priority of this code completion.

        The priority of a code completion indicates how likely it is that this particular completion is the completion that the user will select. The priority is selected by various internal heuristics.

        Parameters:
        completion_string - the completion string to query
        Returns:
        the priority of this completion string. Smaller values indicate higher-priority (more likely) completions.
      • clang_getCompletionAvailability

        public static int clang_getCompletionAvailability​(long completion_string)
        Determine the availability of the entity that this code-completion string refers to.
        Parameters:
        completion_string - the completion string to query
        Returns:
        the availability of the completion string
      • clang_getCompletionNumAnnotations

        public static int clang_getCompletionNumAnnotations​(long completion_string)
        Retrieve the number of annotations associated with the given completion string.
        Parameters:
        completion_string - the completion string to query
        Returns:
        the number of annotations associated with the given completion string
      • nclang_getCompletionAnnotation

        public static void nclang_getCompletionAnnotation​(long completion_string,
                                                          int annotation_number,
                                                          long __functionAddress,
                                                          long __result)
        
        public static void nclang_getCompletionAnnotation​(long completion_string,
                                                          int annotation_number,
                                                          long __result)
        
        Unsafe version of: getCompletionAnnotation
      • clang_getCompletionAnnotation

        public static CXString clang_getCompletionAnnotation​(long completion_string,
                                                             int annotation_number,
                                                             CXString __result)
        Retrieve the annotation associated with the given completion string.
        Parameters:
        completion_string - the completion string to query
        annotation_number - the 0-based index of the annotation of the completion string
        __result - annotation string associated with the completion at index annotation_number, or a NULL string if that annotation is not available
      • nclang_getCompletionParent

        public static void nclang_getCompletionParent​(long completion_string,
                                                      long kind,
                                                      long __functionAddress,
                                                      long __result)
        
        public static void nclang_getCompletionParent​(long completion_string,
                                                      long kind,
                                                      long __result)
        
        Unsafe version of: getCompletionParent
      • clang_getCompletionParent

        public static CXString clang_getCompletionParent​(long completion_string,
                                                         @Nullable
                                                         java.nio.IntBuffer kind,
                                                         CXString __result)
        Retrieve the parent context of the given completion string.

        The parent context of a completion string is the semantic parent of the declaration (if any) that the code completion represents. For example, a code completion for an Objective-C method would have the method's class or protocol as its context.

        Parameters:
        completion_string - the code completion string whose parent is being queried
        kind - DEPRECATED: always set to Cursor_NotImplemented if non-NULL
        __result - the name of the completion parent, e.g., "NSObject" if the completion string represents a method in the NSObject class.
      • nclang_getCompletionBriefComment

        public static void nclang_getCompletionBriefComment​(long completion_string,
                                                            long __functionAddress,
                                                            long __result)
        
        public static void nclang_getCompletionBriefComment​(long completion_string,
                                                            long __result)
        
        Unsafe version of: getCompletionBriefComment
      • clang_getCompletionBriefComment

        public static CXString clang_getCompletionBriefComment​(long completion_string,
                                                               CXString __result)
        Retrieve the brief documentation comment attached to the declaration that corresponds to the given completion string.
      • nclang_getCursorCompletionString

        public static long nclang_getCursorCompletionString​(long cursor,
                                                            long __functionAddress)
        
        public static long nclang_getCursorCompletionString​(long cursor)
        
        Unsafe version of: getCursorCompletionString
      • clang_getCursorCompletionString

        public static long clang_getCursorCompletionString​(CXCursor cursor)
        Retrieve a completion string for an arbitrary declaration or macro definition cursor.
        Parameters:
        cursor - the cursor to query
        Returns:
        a non-context-sensitive completion string for declaration and macro definition cursors, or NULL for other kinds of cursors
      • nclang_getCompletionNumFixIts

        public static int nclang_getCompletionNumFixIts​(long results,
                                                        int completion_index)
        Unsafe version of: getCompletionNumFixIts
      • clang_getCompletionNumFixIts

        public static int clang_getCompletionNumFixIts​(CXCodeCompleteResults results,
                                                       int completion_index)
        Retrieve the number of fix-its for the given completion index.

        Calling this makes sense only if CodeComplete_IncludeCompletionsWithFixIts option was set.

        Parameters:
        results - the structure keeping all completion results
        completion_index - the index of the completion
        Returns:
        the number of fix-its which must be applied before the completion at completion_index can be applied
      • nclang_getCompletionFixIt

        public static void nclang_getCompletionFixIt​(long results,
                                                     int completion_index,
                                                     int fixit_index,
                                                     long replacement_range,
                                                     long __functionAddress,
                                                     long __result)
        
        public static void nclang_getCompletionFixIt​(long results,
                                                     int completion_index,
                                                     int fixit_index,
                                                     long replacement_range,
                                                     long __result)
        
        Unsafe version of: getCompletionFixIt
      • clang_getCompletionFixIt

        public static CXString clang_getCompletionFixIt​(CXCodeCompleteResults results,
                                                        int completion_index,
                                                        int fixit_index,
                                                        CXSourceRange replacement_range,
                                                        CXString __result)
        Fix-its that must be applied before inserting the text for the corresponding completion.

        By default, codeCompleteAt only returns completions with empty fix-its. Extra completions with non-empty fix-its should be explicitly requested by setting CodeComplete_IncludeCompletionsWithFixIts.

        For the clients to be able to compute position of the cursor after applying fix-its, the following conditions are guaranteed to hold for replacement_range of the stored fix-its:

        • Ranges in the fix-its are guaranteed to never contain the completion point (or identifier under completion point, if any) inside them, except at the start or at the end of the range.
        • If a fix-it range starts or ends with completion point (or starts or ends after the identifier under completion point), it will contain at least one character. It allows to unambiguously recompute completion point after applying the fix-it.

        The intuition is that provided fix-its change code around the identifier we complete, but are not allowed to touch the identifier itself or the completion point. One example of completions with corrections are the ones replacing '.' with '->' and vice versa:

        std::unique_ptr<std::vector<int>> vec_ptr; In 'vec_ptr.^', one of the completions is 'push_back', it requires replacing '.' with '->'. In 'vec_ptr->^', one of the completions is 'release', it requires replacing '->' with '.'.

        Parameters:
        results - the structure keeping all completion results
        completion_index - the index of the completion
        fixit_index - the index of the fix-it for the completion at completion_index
        replacement_range - the fix-it range that must be replaced before the completion at completion_index can be applied
        __result - the fix-it string that must replace the code at replacement_range before the completion at completion_index can be applied
      • clang_defaultCodeCompleteOptions

        public static int clang_defaultCodeCompleteOptions()
        Returns a default set of code-completion options that can be passed to codeCompleteAt.
      • nclang_codeCompleteAt

        public static long nclang_codeCompleteAt​(long TU,
                                                 long complete_filename,
                                                 int complete_line,
                                                 int complete_column,
                                                 long unsaved_files,
                                                 int num_unsaved_files,
                                                 int options)
        Unsafe version of: codeCompleteAt
        Parameters:
        num_unsaved_files - the number of unsaved file entries in unsaved_files
      • clang_codeCompleteAt

        @Nullable
        public static CXCodeCompleteResults clang_codeCompleteAt​(long TU,
                                                                 java.nio.ByteBuffer complete_filename,
                                                                 int complete_line,
                                                                 int complete_column,
                                                                 @Nullable
                                                                 CXUnsavedFile.Buffer unsaved_files,
                                                                 int options)
        
        @Nullable
        public static CXCodeCompleteResults clang_codeCompleteAt​(long TU,
                                                                 java.lang.CharSequence complete_filename,
                                                                 int complete_line,
                                                                 int complete_column,
                                                                 @Nullable
                                                                 CXUnsavedFile.Buffer unsaved_files,
                                                                 int options)
        
        Perform code completion at a given location in a translation unit.

        This function performs code completion at a particular file, line, and column within source code, providing results that suggest potential code snippets based on the context of the completion. The basic model for code completion is that Clang will parse a complete source file, performing syntax checking up to the location where code-completion has been requested. At that point, a special code-completion token is passed to the parser, which recognizes this token and determines, based on the current location in the C/Objective-C/C++ grammar and the state of semantic analysis, what completions to provide. These completions are returned via a new CXCodeCompleteResults structure.

        Code completion itself is meant to be triggered by the client when the user types punctuation characters or whitespace, at which point the code-completion location will coincide with the cursor. For example, if p is a pointer, code-completion might be triggered after the "-" and then after the ">" in p->. When the code-completion location is after the ">", the completion results will provide, e.g., the members of the struct that "p" points to. The client is responsible for placing the cursor at the beginning of the token currently being typed, then filtering the results based on the contents of the token. For example, when code-completing for the expression p->get, the client should provide the location just after the ">" (e.g., pointing at the "g") to this code-completion hook. Then, the client can filter the results based on the current token text ("get"), only showing those results that start with "get". The intent of this interface is to separate the relatively high-latency acquisition of code-completion results from the filtering of results on a per-character basis, which must have a lower latency.

        Parameters:
        TU - the translation unit in which code-completion should occur. The source files for this translation unit need not be completely up-to-date (and the contents of those source files may be overridden via unsaved_files). Cursors referring into the translation unit may be invalidated by this invocation.
        complete_filename - the name of the source file where code completion should be performed. This filename may be any file included in the translation unit.
        complete_line - the line at which code-completion should occur
        complete_column - the column at which code-completion should occur. Note that the column should point just after the syntactic construct that initiated code completion, and not in the middle of a lexical token.
        unsaved_files - the Files that have not yet been saved to disk but may be required for parsing or code completion, including the contents of those files. The contents and name of these files (as specified by CXUnsavedFile) are copied when necessary, so the client only needs to guarantee their validity until the call to this function returns.
        options - extra options that control the behavior of code completion, expressed as a bitwise OR of the enumerators of the CXCodeComplete_Flags enumeration. The defaultCodeCompleteOptions function returns a default set of code-completion options.
        Returns:
        if successful, a new CXCodeCompleteResults structure containing code-completion results, which should eventually be freed with disposeCodeCompleteResults. If code completion fails, returns NULL.
      • nclang_sortCodeCompletionResults

        public static void nclang_sortCodeCompletionResults​(long Results,
                                                            int NumResults)
        Unsafe version of: sortCodeCompletionResults
        Parameters:
        NumResults - the number of results in Results
      • clang_sortCodeCompletionResults

        public static void clang_sortCodeCompletionResults​(CXCompletionResult.Buffer Results)
        Sort the code-completion results in case-insensitive alphabetical order.
        Parameters:
        Results - the set of results to sort
      • nclang_disposeCodeCompleteResults

        public static void nclang_disposeCodeCompleteResults​(long Results)
        Unsafe version of: disposeCodeCompleteResults
      • clang_disposeCodeCompleteResults

        public static void clang_disposeCodeCompleteResults​(CXCodeCompleteResults Results)
        Free the given set of code-completion results.
      • nclang_codeCompleteGetNumDiagnostics

        public static int nclang_codeCompleteGetNumDiagnostics​(long Results)
      • clang_codeCompleteGetNumDiagnostics

        public static int clang_codeCompleteGetNumDiagnostics​(CXCodeCompleteResults Results)
        Determine the number of diagnostics produced prior to the location where code completion was performed.
      • nclang_codeCompleteGetDiagnostic

        public static long nclang_codeCompleteGetDiagnostic​(long Results,
                                                            int Index)
        Unsafe version of: codeCompleteGetDiagnostic
      • clang_codeCompleteGetDiagnostic

        public static long clang_codeCompleteGetDiagnostic​(CXCodeCompleteResults Results,
                                                           int Index)
        Retrieve a diagnostic associated with the given code completion.
        Parameters:
        Results - the code completion results to query
        Index - the zero-based diagnostic number to retrieve
        Returns:
        the requested diagnostic. This diagnostic must be freed via a call to disposeDiagnostic.
      • nclang_codeCompleteGetContexts

        public static long nclang_codeCompleteGetContexts​(long Results)
        Unsafe version of: codeCompleteGetContexts
      • clang_codeCompleteGetContexts

        public static long clang_codeCompleteGetContexts​(CXCodeCompleteResults Results)
        Determines what completions are appropriate for the context the given code completion.
        Parameters:
        Results - the code completion results to query
        Returns:
        the kinds of completions that are appropriate for use along with the given code completion results
      • nclang_codeCompleteGetContainerKind

        public static int nclang_codeCompleteGetContainerKind​(long Results,
                                                              long IsIncomplete)
        Unsafe version of: codeCompleteGetContainerKind
      • clang_codeCompleteGetContainerKind

        public static int clang_codeCompleteGetContainerKind​(CXCodeCompleteResults Results,
                                                             java.nio.IntBuffer IsIncomplete)
        Returns the cursor kind for the container for the current code completion context. The container is only guaranteed to be set for contexts where a container exists (i.e. member accesses or Objective-C message sends); if there is not a container, this function will return Cursor_InvalidCode.
        Parameters:
        Results - the code completion results to query
        IsIncomplete - on return, this value will be false if Clang has complete information about the container. If Clang does not have complete information, this value will be true.
        Returns:
        the container kind, or Cursor_InvalidCode if there is not a container
      • nclang_codeCompleteGetContainerUSR

        public static void nclang_codeCompleteGetContainerUSR​(long Results,
                                                              long __functionAddress,
                                                              long __result)
        
        public static void nclang_codeCompleteGetContainerUSR​(long Results,
                                                              long __result)
        
        Unsafe version of: codeCompleteGetContainerUSR
      • clang_codeCompleteGetContainerUSR

        public static CXString clang_codeCompleteGetContainerUSR​(CXCodeCompleteResults Results,
                                                                 CXString __result)
        Returns the USR for the container for the current code completion context. If there is not a container for the current context, this function will return the empty string.
        Parameters:
        Results - the code completion results to query
        __result - the USR for the container
      • nclang_codeCompleteGetObjCSelector

        public static void nclang_codeCompleteGetObjCSelector​(long Results,
                                                              long __functionAddress,
                                                              long __result)
        
        public static void nclang_codeCompleteGetObjCSelector​(long Results,
                                                              long __result)
        
        Unsafe version of: codeCompleteGetObjCSelector
      • clang_codeCompleteGetObjCSelector

        public static CXString clang_codeCompleteGetObjCSelector​(CXCodeCompleteResults Results,
                                                                 CXString __result)
        Returns the currently-entered selector for an Objective-C message send, formatted like "initWithFoo:bar:". Only guaranteed to return a non-empty string for CompletionContext_ObjCInstanceMessage and CompletionContext_ObjCClassMessage.
        Parameters:
        Results - the code completion results to query
        __result - the selector (or partial selector) that has been entered thus far for an Objective-C message send
      • nclang_getClangVersion

        public static void nclang_getClangVersion​(long __functionAddress,
                                                  long __result)
        
        public static void nclang_getClangVersion​(long __result)
        
        Unsafe version of: getClangVersion
      • clang_getClangVersion

        public static CXString clang_getClangVersion​(CXString __result)
        Return a version string, suitable for showing to a user, but not intended to be parsed (the format is not guaranteed to be stable).
      • clang_toggleCrashRecovery

        public static void clang_toggleCrashRecovery​(boolean isEnabled)
        Enable/disable crash recovery.
        Parameters:
        isEnabled - flag to indicate if crash recovery is enabled. A non-zero value enables crash recovery, while 0 disables it.
      • nclang_getInclusions

        public static void nclang_getInclusions​(long tu,
                                                long visitor,
                                                long client_data)
        Unsafe version of: getInclusions
      • clang_getInclusions

        public static void clang_getInclusions​(long tu,
                                               CXInclusionVisitorI visitor,
                                               long client_data)
        Visit the set of preprocessor inclusions in a translation unit. The visitor function is called with the provided data for every included file. This does not include headers included by the PCH file (unless one is inspecting the inclusions in the PCH file itself).
      • nclang_Cursor_Evaluate

        public static long nclang_Cursor_Evaluate​(long C,
                                                  long __functionAddress)
        
        public static long nclang_Cursor_Evaluate​(long C)
        
        Unsafe version of: Cursor_Evaluate
      • clang_Cursor_Evaluate

        public static long clang_Cursor_Evaluate​(CXCursor C)
        If cursor is a statement declaration tries to evaluate the statement and if its variable, tries to evaluate its initializer, into its corresponding type.
      • clang_EvalResult_getKind

        public static int clang_EvalResult_getKind​(long E)
        Returns the kind of the evaluated result.
      • clang_EvalResult_getAsInt

        public static int clang_EvalResult_getAsInt​(long E)
        Returns the evaluation result as integer if the kind is Int.
      • clang_EvalResult_getAsLongLong

        public static long clang_EvalResult_getAsLongLong​(long E)
        Returns the evaluation result as a long long integer if the kind is Int. This prevents overflows that may happen if the result is returned with EvalResult_getAsInt.
      • clang_EvalResult_isUnsignedInt

        public static boolean clang_EvalResult_isUnsignedInt​(long E)
        Returns a non-zero value if the kind is Int and the evaluation result resulted in an unsigned integer.
      • clang_EvalResult_getAsUnsigned

        public static long clang_EvalResult_getAsUnsigned​(long E)
        Returns the evaluation result as an unsigned integer if the kind is Int and EvalResult_isUnsignedInt is non-zero.
      • clang_EvalResult_getAsDouble

        public static double clang_EvalResult_getAsDouble​(long E)
        Returns the evaluation result as double if the kind is double.
      • nclang_EvalResult_getAsStr

        public static long nclang_EvalResult_getAsStr​(long E)
        Unsafe version of: EvalResult_getAsStr
      • clang_EvalResult_getAsStr

        @Nullable
        public static java.lang.String clang_EvalResult_getAsStr​(long E)
        Returns the evaluation result as a constant string if the kind is other than Int or float. User must not free this pointer, instead call EvalResult_dispose on the CXEvalResult returned by Cursor_Evaluate.
      • clang_EvalResult_dispose

        public static void clang_EvalResult_dispose​(long E)
        Disposes the created Eval memory.
      • nclang_getRemappings

        public static long nclang_getRemappings​(long path)
        Unsafe version of: getRemappings
      • clang_getRemappings

        public static long clang_getRemappings​(java.nio.ByteBuffer path)
        
        public static long clang_getRemappings​(java.lang.CharSequence path)
        
        Retrieve a remapping.
        Parameters:
        path - the path that contains metadata about remappings
        Returns:
        the requested remapping. This remapping must be freed via a call to remap_dispose. Can return NULL if an error occurred.
      • nclang_getRemappingsFromFileList

        public static long nclang_getRemappingsFromFileList​(long filePaths,
                                                            int numFiles)
        Unsafe version of: getRemappingsFromFileList
        Parameters:
        numFiles - number of file paths
      • clang_getRemappingsFromFileList

        public static long clang_getRemappingsFromFileList​(org.lwjgl.PointerBuffer filePaths)
        Retrieve a remapping.
        Parameters:
        filePaths - pointer to an array of file paths containing remapping info
        Returns:
        the requested remapping. This remapping must be freed via a call to remap_dispose. Can return NULL if an error occurred.
      • clang_remap_getNumFiles

        public static int clang_remap_getNumFiles​(long Remapping)
        Determine the number of remappings.
      • nclang_remap_getFilenames

        public static void nclang_remap_getFilenames​(long Remapping,
                                                     int index,
                                                     long original,
                                                     long transformed)
        Unsafe version of: remap_getFilenames
      • clang_remap_getFilenames

        public static void clang_remap_getFilenames​(long Remapping,
                                                    int index,
                                                    @Nullable
                                                    CXString original,
                                                    @Nullable
                                                    CXString transformed)
        Get the original and the associated filename from the remapping.
        Parameters:
        original - if non-NULL, will be set to the original filename
        transformed - if non-NULL, will be set to the filename that the original is associated with
      • clang_remap_dispose

        public static void clang_remap_dispose​(long Remapping)
        Dispose the remapping.
      • nclang_findReferencesInFile

        public static int nclang_findReferencesInFile​(long cursor,
                                                      long file,
                                                      long visitor,
                                                      long __functionAddress)
        
        public static int nclang_findReferencesInFile​(long cursor,
                                                      long file,
                                                      long visitor)
        
        Unsafe version of: findReferencesInFile
      • clang_findReferencesInFile

        public static int clang_findReferencesInFile​(CXCursor cursor,
                                                     long file,
                                                     CXCursorAndRangeVisitor visitor)
        Find references of a declaration in a specific file.
        Parameters:
        cursor - pointing to a declaration or a reference of one
        file - to search for references
        visitor - callback that will receive pairs of CXCursor/CXSourceRange for each reference found. The CXSourceRange will point inside the file; if the reference is inside a macro (and not a macro argument) the CXSourceRange will be invalid.
        Returns:
        one of the CXResult enumerators
      • nclang_findIncludesInFile

        public static int nclang_findIncludesInFile​(long TU,
                                                    long file,
                                                    long visitor,
                                                    long __functionAddress)
        
        public static int nclang_findIncludesInFile​(long TU,
                                                    long file,
                                                    long visitor)
        
        Unsafe version of: findIncludesInFile
      • clang_findIncludesInFile

        public static int clang_findIncludesInFile​(long TU,
                                                   long file,
                                                   CXCursorAndRangeVisitor visitor)
        Find #import/#include directives in a specific file.
        Parameters:
        TU - translation unit containing the file to query
        file - to search for #import/#include directives
        visitor - callback that will receive pairs of CXCursor/CXSourceRange for each directive found
        Returns:
        one of the CXResult enumerators
      • clang_index_isEntityObjCContainerKind

        public static boolean clang_index_isEntityObjCContainerKind​(int kind)
      • nclang_index_getObjCContainerDeclInfo

        public static long nclang_index_getObjCContainerDeclInfo​(long info)
      • nclang_index_getObjCInterfaceDeclInfo

        public static long nclang_index_getObjCInterfaceDeclInfo​(long info)
      • nclang_index_getObjCCategoryDeclInfo

        public static long nclang_index_getObjCCategoryDeclInfo​(long info)
      • nclang_index_getObjCProtocolRefListInfo

        public static long nclang_index_getObjCProtocolRefListInfo​(long info)
      • nclang_index_getObjCPropertyDeclInfo

        public static long nclang_index_getObjCPropertyDeclInfo​(long info)
      • nclang_index_getIBOutletCollectionAttrInfo

        public static long nclang_index_getIBOutletCollectionAttrInfo​(long info)
      • nclang_index_getCXXClassDeclInfo

        public static long nclang_index_getCXXClassDeclInfo​(long info)
      • nclang_index_getClientContainer

        public static long nclang_index_getClientContainer​(long info)
        Unsafe version of: index_getClientContainer
      • clang_index_getClientContainer

        public static long clang_index_getClientContainer​(CXIdxContainerInfo info)
        For retrieving a custom CXIdxClientContainer attached to a container.
      • nclang_index_setClientContainer

        public static void nclang_index_setClientContainer​(long info,
                                                           long container)
        Unsafe version of: index_setClientContainer
      • clang_index_setClientContainer

        public static void clang_index_setClientContainer​(CXIdxContainerInfo info,
                                                          long container)
        For setting a custom CXIdxClientContainer attached to a container.
      • nclang_index_getClientEntity

        public static long nclang_index_getClientEntity​(long info)
        Unsafe version of: index_getClientEntity
      • clang_index_getClientEntity

        public static long clang_index_getClientEntity​(CXIdxEntityInfo info)
        For retrieving a custom CXIdxClientEntity attached to an entity.
      • nclang_index_setClientEntity

        public static void nclang_index_setClientEntity​(long info,
                                                        long entity)
        Unsafe version of: index_setClientEntity
      • clang_index_setClientEntity

        public static void clang_index_setClientEntity​(CXIdxEntityInfo info,
                                                       long entity)
        For setting a custom CXIdxClientEntity attached to an entity.
      • clang_IndexAction_create

        public static long clang_IndexAction_create​(long CIdx)
        An indexing action/session, to be applied to one or multiple translation units.
        Parameters:
        CIdx - the index object with which the index action will be associated
      • clang_IndexAction_dispose

        public static void clang_IndexAction_dispose​(long action)
        Destroy the given index action.

        The index action must not be destroyed until all of the translation units created within that index action have been destroyed.

      • nclang_indexSourceFile

        public static int nclang_indexSourceFile​(long action,
                                                 long client_data,
                                                 long index_callbacks,
                                                 int index_callbacks_size,
                                                 int index_options,
                                                 long source_filename,
                                                 long command_line_args,
                                                 int num_command_line_args,
                                                 long unsaved_files,
                                                 int num_unsaved_files,
                                                 long out_TU,
                                                 int TU_options)
        Unsafe version of: indexSourceFile
      • clang_indexSourceFile

        public static int clang_indexSourceFile​(long action,
                                                long client_data,
                                                IndexerCallbacks index_callbacks,
                                                int index_callbacks_size,
                                                int index_options,
                                                java.nio.ByteBuffer source_filename,
                                                @Nullable
                                                org.lwjgl.PointerBuffer command_line_args,
                                                @Nullable
                                                CXUnsavedFile.Buffer unsaved_files,
                                                @Nullable
                                                org.lwjgl.PointerBuffer out_TU,
                                                int TU_options)
        
        public static int clang_indexSourceFile​(long action,
                                                long client_data,
                                                IndexerCallbacks index_callbacks,
                                                int index_callbacks_size,
                                                int index_options,
                                                java.lang.CharSequence source_filename,
                                                @Nullable
                                                org.lwjgl.PointerBuffer command_line_args,
                                                @Nullable
                                                CXUnsavedFile.Buffer unsaved_files,
                                                @Nullable
                                                org.lwjgl.PointerBuffer out_TU,
                                                int TU_options)
        
        Index the given source file and the translation unit corresponding to that file via callbacks implemented through IndexerCallbacks.

        The rest of the parameters are the same as parseTranslationUnit.

        Parameters:
        client_data - pointer data supplied by the client, which will be passed to the invoked callbacks
        index_callbacks - pointer to indexing callbacks that the client implements
        index_callbacks_size - size of IndexerCallbacks structure that gets passed in index_callbacks
        index_options - a bitmask of options that affects how indexing is performed. This should be a bitwise OR of the CXIndexOpt_XXX flags.
        out_TU - pointer to store a CXTranslationUnit that can be reused after indexing is finished. Set to NULL if you do not require it.
        Returns:
        0 on success or if there were errors from which the compiler could recover. If there is a failure from which there is no recovery, returns a non-zero CXErrorCode.
      • nclang_indexSourceFileFullArgv

        public static int nclang_indexSourceFileFullArgv​(long action,
                                                         long client_data,
                                                         long index_callbacks,
                                                         int index_callbacks_size,
                                                         int index_options,
                                                         long source_filename,
                                                         long command_line_args,
                                                         int num_command_line_args,
                                                         long unsaved_files,
                                                         int num_unsaved_files,
                                                         long out_TU,
                                                         int TU_options)
        Unsafe version of: indexSourceFileFullArgv
      • clang_indexSourceFileFullArgv

        public static int clang_indexSourceFileFullArgv​(long action,
                                                        long client_data,
                                                        IndexerCallbacks index_callbacks,
                                                        int index_callbacks_size,
                                                        int index_options,
                                                        java.nio.ByteBuffer source_filename,
                                                        org.lwjgl.PointerBuffer command_line_args,
                                                        @Nullable
                                                        CXUnsavedFile.Buffer unsaved_files,
                                                        @Nullable
                                                        org.lwjgl.PointerBuffer out_TU,
                                                        int TU_options)
        
        public static int clang_indexSourceFileFullArgv​(long action,
                                                        long client_data,
                                                        IndexerCallbacks index_callbacks,
                                                        int index_callbacks_size,
                                                        int index_options,
                                                        java.lang.CharSequence source_filename,
                                                        org.lwjgl.PointerBuffer command_line_args,
                                                        @Nullable
                                                        CXUnsavedFile.Buffer unsaved_files,
                                                        @Nullable
                                                        org.lwjgl.PointerBuffer out_TU,
                                                        int TU_options)
        
        Same as indexSourceFile but requires a full command line for command_line_args including argv[0]. This is useful if the standard library paths are relative to the binary.
      • nclang_indexTranslationUnit

        public static int nclang_indexTranslationUnit​(long action,
                                                      long client_data,
                                                      long index_callbacks,
                                                      int index_callbacks_size,
                                                      int index_options,
                                                      long TU)
        Unsafe version of: indexTranslationUnit
      • clang_indexTranslationUnit

        public static boolean clang_indexTranslationUnit​(long action,
                                                         long client_data,
                                                         IndexerCallbacks index_callbacks,
                                                         int index_callbacks_size,
                                                         int index_options,
                                                         long TU)
        Index the given translation unit via callbacks implemented through IndexerCallbacks.

        The order of callback invocations is not guaranteed to be the same as when indexing a source file. The high level order will be:

        • Preprocessor callbacks invocations
        • Declaration/reference callbacks invocations
        • Diagnostic callback invocations

        The parameters are the same as indexSourceFile.

        Returns:
        if there is a failure from which there is no recovery, returns non-zero, otherwise returns 0
      • nclang_indexLoc_getFileLocation

        public static void nclang_indexLoc_getFileLocation​(long loc,
                                                           long indexFile,
                                                           long file,
                                                           long line,
                                                           long column,
                                                           long offset,
                                                           long __functionAddress)
        
        public static void nclang_indexLoc_getFileLocation​(long loc,
                                                           long indexFile,
                                                           long file,
                                                           long line,
                                                           long column,
                                                           long offset)
        
        Unsafe version of: indexLoc_getFileLocation
      • clang_indexLoc_getFileLocation

        public static void clang_indexLoc_getFileLocation​(CXIdxLoc loc,
                                                          @Nullable
                                                          org.lwjgl.PointerBuffer indexFile,
                                                          @Nullable
                                                          org.lwjgl.PointerBuffer file,
                                                          @Nullable
                                                          java.nio.IntBuffer line,
                                                          @Nullable
                                                          java.nio.IntBuffer column,
                                                          @Nullable
                                                          java.nio.IntBuffer offset)
        Retrieve the CXIdxFile, file, line, column, and offset represented by the given CXIdxLoc.

        If the location refers into a macro expansion, retrieves the location of the macro expansion and if it refers into a macro argument retrieves the location of the argument.

      • nclang_indexLoc_getCXSourceLocation

        public static void nclang_indexLoc_getCXSourceLocation​(long loc,
                                                               long __functionAddress,
                                                               long __result)
        
        public static void nclang_indexLoc_getCXSourceLocation​(long loc,
                                                               long __result)
        
        Unsafe version of: indexLoc_getCXSourceLocation
      • clang_indexLoc_getCXSourceLocation

        public static CXSourceLocation clang_indexLoc_getCXSourceLocation​(CXIdxLoc loc,
                                                                          CXSourceLocation __result)
        Retrieve the CXSourceLocation represented by the given CXIdxLoc.
      • nclang_Type_visitFields

        public static int nclang_Type_visitFields​(long T,
                                                  long visitor,
                                                  long client_data,
                                                  long __functionAddress)
        
        public static int nclang_Type_visitFields​(long T,
                                                  long visitor,
                                                  long client_data)
        
        Unsafe version of: Type_visitFields
      • clang_Type_visitFields

        public static boolean clang_Type_visitFields​(CXType T,
                                                     CXFieldVisitorI visitor)
        Visit the fields of a particular type.

        This function visits all the direct fields of the given cursor, invoking the given visitor function with the cursors of each visited field. The traversal may be ended prematurely, if the visitor returns Visit_Break.

        Parameters:
        T - the record type whose field may be visited
        visitor - the visitor function that will be invoked for each field of T
        Returns:
        a non-zero value if the traversal was terminated prematurely by the visitor returning Visit_Break