Class LLVMDebugInfo


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

      • LLVMDebugMetadataVersion

        public static int LLVMDebugMetadataVersion()
        The current debug metadata version number.
      • LLVMGetModuleDebugMetadataVersion

        public static int LLVMGetModuleDebugMetadataVersion​(long Module)
        The version of debug metadata that's present in the provided Module.
      • LLVMStripModuleDebugInfo

        public static boolean LLVMStripModuleDebugInfo​(long Module)
        Strip debug info in the module if it exists. To do this, we remove all calls to the debugger intrinsics and any named metadata for debugging. We also remove debug locations for instructions. Return true if module is modified.
      • LLVMCreateDIBuilderDisallowUnresolved

        public static long LLVMCreateDIBuilderDisallowUnresolved​(long M)
        Construct a builder for a module, and do not allow for unresolved nodes attached to the module.
      • LLVMCreateDIBuilder

        public static long LLVMCreateDIBuilder​(long M)
        Construct a builder for a module and collect unresolved nodes attached to the module in order to resolve cycles during a call to LLVMDIBuilderFinalize.
      • LLVMDisposeDIBuilder

        public static void LLVMDisposeDIBuilder​(long Builder)
        Deallocates the DIBuilder and everything it owns.
        Note

        You must call {@link #LLVMDIBuilderFinalize DIBuilderFinalize} before this

      • LLVMDIBuilderFinalize

        public static void LLVMDIBuilderFinalize​(long Builder)
        Construct any deferred debug info descriptors.
      • nLLVMDIBuilderCreateCompileUnit

        public static long nLLVMDIBuilderCreateCompileUnit​(long Builder,
                                                           int Lang,
                                                           long FileRef,
                                                           long Producer,
                                                           long ProducerLen,
                                                           int isOptimized,
                                                           long Flags,
                                                           long FlagsLen,
                                                           int RuntimeVer,
                                                           long SplitName,
                                                           long SplitNameLen,
                                                           int Kind,
                                                           int DWOId,
                                                           int SplitDebugInlining,
                                                           int DebugInfoForProfiling)
        Unsafe version of: DIBuilderCreateCompileUnit
        Parameters:
        ProducerLen - the length of the C string passed to Producer
        FlagsLen - the length of the C string passed to Flags
        SplitNameLen - the length of the C string passed to SplitName
      • LLVMDIBuilderCreateCompileUnit

        public static long LLVMDIBuilderCreateCompileUnit​(long Builder,
                                                          int Lang,
                                                          long FileRef,
                                                          java.nio.ByteBuffer Producer,
                                                          boolean isOptimized,
                                                          java.nio.ByteBuffer Flags,
                                                          int RuntimeVer,
                                                          java.nio.ByteBuffer SplitName,
                                                          int Kind,
                                                          int DWOId,
                                                          boolean SplitDebugInlining,
                                                          boolean DebugInfoForProfiling)
        
        public static long LLVMDIBuilderCreateCompileUnit​(long Builder,
                                                          int Lang,
                                                          long FileRef,
                                                          java.lang.CharSequence Producer,
                                                          boolean isOptimized,
                                                          java.lang.CharSequence Flags,
                                                          int RuntimeVer,
                                                          java.lang.CharSequence SplitName,
                                                          int Kind,
                                                          int DWOId,
                                                          boolean SplitDebugInlining,
                                                          boolean DebugInfoForProfiling)
        
        A CompileUnit provides an anchor for all debugging information generated during this instance of compilation.
        Parameters:
        Lang - source programming language, eg. LLVMDWARFSourceLanguageC99
        FileRef - file info
        Producer - identify the producer of debugging information and code. Usually this is a compiler version string.
        isOptimized - a boolean flag which indicates whether optimization is enabled or not
        Flags - this string lists command line options. This string is directly embedded in debug info output which may be used by a tool analyzing generated debugging information.
        RuntimeVer - this indicates runtime version for languages like Objective-C
        SplitName - the name of the file that we'll split debug info out into
        Kind - the kind of debug information to generate
        DWOId - the DWOId if this is a split skeleton compile unit
        SplitDebugInlining - whether to emit inline debug info
        DebugInfoForProfiling - whether to emit extra debug info for profile collection
      • nLLVMDIBuilderCreateFile

        public static long nLLVMDIBuilderCreateFile​(long Builder,
                                                    long Filename,
                                                    long FilenameLen,
                                                    long Directory,
                                                    long DirectoryLen)
        Unsafe version of: DIBuilderCreateFile
        Parameters:
        FilenameLen - the length of the C string passed to Filename
        DirectoryLen - the length of the C string passed to Directory
      • LLVMDIBuilderCreateFile

        public static long LLVMDIBuilderCreateFile​(long Builder,
                                                   java.nio.ByteBuffer Filename,
                                                   java.nio.ByteBuffer Directory)
        
        public static long LLVMDIBuilderCreateFile​(long Builder,
                                                   java.lang.CharSequence Filename,
                                                   java.lang.CharSequence Directory)
        
        Create a file descriptor to hold debugging information for a file.
        Parameters:
        Builder - the DIBuilder
        Filename - file name
        Directory - directory
      • nLLVMDIBuilderCreateModule

        public static long nLLVMDIBuilderCreateModule​(long Builder,
                                                      long ParentScope,
                                                      long Name,
                                                      long NameLen,
                                                      long ConfigMacros,
                                                      long ConfigMacrosLen,
                                                      long IncludePath,
                                                      long IncludePathLen,
                                                      long ISysRoot,
                                                      long ISysRootLen)
        Unsafe version of: DIBuilderCreateModule
        Parameters:
        NameLen - the length of the C string passed to Name
        ConfigMacrosLen - the length of the C string passed to ConfigMacros
        IncludePathLen - the length of the C string passed to IncludePath
        ISysRootLen - the length of the C string passed to ISysRoot
      • LLVMDIBuilderCreateModule

        public static long LLVMDIBuilderCreateModule​(long Builder,
                                                     long ParentScope,
                                                     java.nio.ByteBuffer Name,
                                                     java.nio.ByteBuffer ConfigMacros,
                                                     java.nio.ByteBuffer IncludePath,
                                                     java.nio.ByteBuffer ISysRoot)
        
        public static long LLVMDIBuilderCreateModule​(long Builder,
                                                     long ParentScope,
                                                     java.lang.CharSequence Name,
                                                     java.lang.CharSequence ConfigMacros,
                                                     java.lang.CharSequence IncludePath,
                                                     java.lang.CharSequence ISysRoot)
        
        Creates a new descriptor for a module with the specified parent scope.
        Parameters:
        Builder - the DIBuilder
        ParentScope - the parent scope containing this module declaration
        Name - module name
        ConfigMacros - a space-separated shell-quoted list of -D macro definitions as they would appear on a command line
        IncludePath - the path to the module map file
        ISysRoot - the Clang system root (value of -isysroot)
      • nLLVMDIBuilderCreateNameSpace

        public static long nLLVMDIBuilderCreateNameSpace​(long Builder,
                                                         long ParentScope,
                                                         long Name,
                                                         long NameLen,
                                                         int ExportSymbols)
        Unsafe version of: DIBuilderCreateNameSpace
        Parameters:
        NameLen - the length of the C string passed to Name
      • LLVMDIBuilderCreateNameSpace

        public static long LLVMDIBuilderCreateNameSpace​(long Builder,
                                                        long ParentScope,
                                                        java.nio.ByteBuffer Name,
                                                        boolean ExportSymbols)
        
        public static long LLVMDIBuilderCreateNameSpace​(long Builder,
                                                        long ParentScope,
                                                        java.lang.CharSequence Name,
                                                        boolean ExportSymbols)
        
        Creates a new descriptor for a namespace with the specified parent scope.
        Parameters:
        Builder - the DIBuilder
        ParentScope - the parent scope containing this module declaration
        Name - nameSpace name
        ExportSymbols - whether or not the namespace exports symbols, e.g. this is true of C++ inline namespaces.
      • nLLVMDIBuilderCreateFunction

        public static long nLLVMDIBuilderCreateFunction​(long Builder,
                                                        long Scope,
                                                        long Name,
                                                        long NameLen,
                                                        long LinkageName,
                                                        long LinkageNameLen,
                                                        long File,
                                                        int LineNo,
                                                        long Ty,
                                                        int IsLocalToUnit,
                                                        int IsDefinition,
                                                        int ScopeLine,
                                                        int Flags,
                                                        int IsOptimized)
        Unsafe version of: DIBuilderCreateFunction
        Parameters:
        NameLen - length of enumeration name
        LinkageNameLen - length of linkage name
      • LLVMDIBuilderCreateFunction

        public static long LLVMDIBuilderCreateFunction​(long Builder,
                                                       long Scope,
                                                       java.nio.ByteBuffer Name,
                                                       java.nio.ByteBuffer LinkageName,
                                                       long File,
                                                       int LineNo,
                                                       long Ty,
                                                       boolean IsLocalToUnit,
                                                       boolean IsDefinition,
                                                       int ScopeLine,
                                                       int Flags,
                                                       boolean IsOptimized)
        
        public static long LLVMDIBuilderCreateFunction​(long Builder,
                                                       long Scope,
                                                       java.lang.CharSequence Name,
                                                       java.lang.CharSequence LinkageName,
                                                       long File,
                                                       int LineNo,
                                                       long Ty,
                                                       boolean IsLocalToUnit,
                                                       boolean IsDefinition,
                                                       int ScopeLine,
                                                       int Flags,
                                                       boolean IsOptimized)
        
        Create a new descriptor for the specified subprogram.
        Parameters:
        Builder - the DIBuilder
        Scope - function scope
        Name - function name
        LinkageName - mangled function name
        File - file where this variable is defined
        LineNo - line number
        Ty - function type
        IsLocalToUnit - true if this function is not externally visible
        IsDefinition - true if this is a function definition
        ScopeLine - set to the beginning of the scope this starts
        Flags - e.g.: LLVMDIFlagLValueReference. These flags are used to emit dwarf attributes.
        IsOptimized - true if optimization is ON
      • LLVMDIBuilderCreateLexicalBlock

        public static long LLVMDIBuilderCreateLexicalBlock​(long Builder,
                                                           long Scope,
                                                           long File,
                                                           int Line,
                                                           int Column)
        Create a descriptor for a lexical block with the specified parent context.
        Parameters:
        Builder - the DIBuilder
        Scope - parent lexical block
        File - source file
        Line - the line in the source file
        Column - the column in the source file
      • LLVMDIBuilderCreateLexicalBlockFile

        public static long LLVMDIBuilderCreateLexicalBlockFile​(long Builder,
                                                               long Scope,
                                                               long File,
                                                               int Discriminator)
        Create a descriptor for a lexical block with a new file attached.
        Parameters:
        Builder - the DIBuilder
        Scope - lexical block
        File - source file
        Discriminator - DWARF path discriminator value
      • LLVMDIBuilderCreateImportedModuleFromNamespace

        public static long LLVMDIBuilderCreateImportedModuleFromNamespace​(long Builder,
                                                                          long Scope,
                                                                          long NS,
                                                                          long File,
                                                                          int Line)
        Create a descriptor for an imported namespace. Suitable for e.g. C++ using declarations.
        Parameters:
        Builder - the DIBuilder
        Scope - the scope this module is imported into
        File - file where the declaration is located
        Line - line number of the declaration
      • LLVMDIBuilderCreateImportedModuleFromAlias

        public static long LLVMDIBuilderCreateImportedModuleFromAlias​(long Builder,
                                                                      long Scope,
                                                                      long ImportedEntity,
                                                                      long File,
                                                                      int Line)
        Create a descriptor for an imported module that aliases another imported entity descriptor.
        Parameters:
        Builder - the DIBuilder
        Scope - the scope this module is imported into
        ImportedEntity - previous imported entity to alias
        File - file where the declaration is located
        Line - line number of the declaration
      • LLVMDIBuilderCreateImportedModuleFromModule

        public static long LLVMDIBuilderCreateImportedModuleFromModule​(long Builder,
                                                                       long Scope,
                                                                       long M,
                                                                       long File,
                                                                       int Line)
        Create a descriptor for an imported module.
        Parameters:
        Builder - the DIBuilder
        Scope - the scope this module is imported into
        M - the module being imported here
        File - file where the declaration is located
        Line - line number of the declaration
      • nLLVMDIBuilderCreateImportedDeclaration

        public static long nLLVMDIBuilderCreateImportedDeclaration​(long Builder,
                                                                   long Scope,
                                                                   long Decl,
                                                                   long File,
                                                                   int Line,
                                                                   long Name,
                                                                   long NameLen)
        Parameters:
        NameLen - the length of the C string passed to Name
      • LLVMDIBuilderCreateImportedDeclaration

        public static long LLVMDIBuilderCreateImportedDeclaration​(long Builder,
                                                                  long Scope,
                                                                  long Decl,
                                                                  long File,
                                                                  int Line,
                                                                  java.nio.ByteBuffer Name)
        
        public static long LLVMDIBuilderCreateImportedDeclaration​(long Builder,
                                                                  long Scope,
                                                                  long Decl,
                                                                  long File,
                                                                  int Line,
                                                                  java.lang.CharSequence Name)
        
        Create a descriptor for an imported function, type, or variable. Suitable for e.g. FORTRAN-style USE declarations.
        Parameters:
        Builder - the DIBuilder
        Scope - the scope this module is imported into
        Decl - the declaration (or definition) of a function, type, or variable
        File - file where the declaration is located
        Line - line number of the declaration
        Name - a name that uniquely identifies this imported declaration
      • LLVMDIBuilderCreateDebugLocation

        public static long LLVMDIBuilderCreateDebugLocation​(long Ctx,
                                                            int Line,
                                                            int Column,
                                                            long Scope,
                                                            long InlinedAt)
        Creates a new DebugLocation that describes a source location.
        Note

        If the item to which this location is attached cannot be attributed to a source line, pass 0 for the line and column.

        Parameters:
        Line - the line in the source file
        Column - the column in the source file
        Scope - the scope in which the location resides
        InlinedAt - the scope where this location was inlined, if at all. (optional).
      • LLVMDILocationGetLine

        public static int LLVMDILocationGetLine​(long Location)
        Get the line number of this debug location.
        Parameters:
        Location - the debug location
      • LLVMDILocationGetColumn

        public static int LLVMDILocationGetColumn​(long Location)
        Get the column number of this debug location.
        Parameters:
        Location - the debug location
      • LLVMDILocationGetScope

        public static long LLVMDILocationGetScope​(long Location)
        Get the local scope associated with this debug location.
        Parameters:
        Location - the debug location
      • nLLVMDIBuilderGetOrCreateTypeArray

        public static long nLLVMDIBuilderGetOrCreateTypeArray​(long Builder,
                                                              long Data,
                                                              long NumElements)
        Parameters:
        NumElements - number of type elements
      • LLVMDIBuilderGetOrCreateTypeArray

        public static long LLVMDIBuilderGetOrCreateTypeArray​(long Builder,
                                                             PointerBuffer Data)
        Create a type array.
        Parameters:
        Builder - the DIBuilder
        Data - the type elements
      • nLLVMDIBuilderCreateSubroutineType

        public static long nLLVMDIBuilderCreateSubroutineType​(long Builder,
                                                              long File,
                                                              long ParameterTypes,
                                                              int NumParameterTypes,
                                                              int Flags)
        Parameters:
        NumParameterTypes - the number of parameter types in ParameterTypes
      • LLVMDIBuilderCreateSubroutineType

        public static long LLVMDIBuilderCreateSubroutineType​(long Builder,
                                                             long File,
                                                             PointerBuffer ParameterTypes,
                                                             int Flags)
        Create subroutine type.
        Parameters:
        Builder - the DIBuilder
        File - the file in which the subroutine resides
        ParameterTypes - an array of subroutine parameter types. This includes return type at 0th index.
        Flags - e.g.: LLVMDIFlagLValueReference. These flags are used to emit dwarf attributes.
      • nLLVMDIBuilderCreateEnumerationType

        public static long nLLVMDIBuilderCreateEnumerationType​(long Builder,
                                                               long Scope,
                                                               long Name,
                                                               long NameLen,
                                                               long File,
                                                               int LineNumber,
                                                               long SizeInBits,
                                                               int AlignInBits,
                                                               long Elements,
                                                               int NumElements,
                                                               long ClassTy)
        Parameters:
        NameLen - length of enumeration name
        NumElements - number of enumeration elements
      • LLVMDIBuilderCreateEnumerationType

        public static long LLVMDIBuilderCreateEnumerationType​(long Builder,
                                                              long Scope,
                                                              java.nio.ByteBuffer Name,
                                                              long File,
                                                              int LineNumber,
                                                              long SizeInBits,
                                                              int AlignInBits,
                                                              PointerBuffer Elements,
                                                              long ClassTy)
        
        public static long LLVMDIBuilderCreateEnumerationType​(long Builder,
                                                              long Scope,
                                                              java.lang.CharSequence Name,
                                                              long File,
                                                              int LineNumber,
                                                              long SizeInBits,
                                                              int AlignInBits,
                                                              PointerBuffer Elements,
                                                              long ClassTy)
        
        Create debugging information entry for an enumeration.
        Parameters:
        Builder - the DIBuilder
        Scope - scope in which this enumeration is defined
        Name - enumeration name
        File - file where this member is defined
        LineNumber - line number
        SizeInBits - member size
        AlignInBits - member alignment
        Elements - enumeration elements
        ClassTy - underlying type of a C++11/ObjC fixed enum
      • nLLVMDIBuilderCreateUnionType

        public static long nLLVMDIBuilderCreateUnionType​(long Builder,
                                                         long Scope,
                                                         long Name,
                                                         long NameLen,
                                                         long File,
                                                         int LineNumber,
                                                         long SizeInBits,
                                                         int AlignInBits,
                                                         int Flags,
                                                         long Elements,
                                                         int NumElements,
                                                         int RunTimeLang,
                                                         long UniqueId,
                                                         long UniqueIdLen)
        Unsafe version of: DIBuilderCreateUnionType
        Parameters:
        NameLen - length of union name
        NumElements - number of union elements
        UniqueIdLen - length of unique identifier
      • LLVMDIBuilderCreateUnionType

        public static long LLVMDIBuilderCreateUnionType​(long Builder,
                                                        long Scope,
                                                        java.nio.ByteBuffer Name,
                                                        long File,
                                                        int LineNumber,
                                                        long SizeInBits,
                                                        int AlignInBits,
                                                        int Flags,
                                                        PointerBuffer Elements,
                                                        int RunTimeLang,
                                                        java.nio.ByteBuffer UniqueId)
        
        public static long LLVMDIBuilderCreateUnionType​(long Builder,
                                                        long Scope,
                                                        java.lang.CharSequence Name,
                                                        long File,
                                                        int LineNumber,
                                                        long SizeInBits,
                                                        int AlignInBits,
                                                        int Flags,
                                                        PointerBuffer Elements,
                                                        int RunTimeLang,
                                                        java.lang.CharSequence UniqueId)
        
        Create debugging information entry for a union.
        Parameters:
        Builder - the DIBuilder
        Scope - scope in which this union is defined
        Name - union name
        File - file where this member is defined
        LineNumber - line number
        SizeInBits - member size
        AlignInBits - member alignment
        Flags - flags to encode member attribute, e.g. private
        Elements - union elements
        RunTimeLang - optional parameter, Objective-C runtime version
        UniqueId - a unique identifier for the union
      • nLLVMDIBuilderCreateArrayType

        public static long nLLVMDIBuilderCreateArrayType​(long Builder,
                                                         long Size,
                                                         int AlignInBits,
                                                         long Ty,
                                                         long Subscripts,
                                                         int NumSubscripts)
        Unsafe version of: DIBuilderCreateArrayType
        Parameters:
        NumSubscripts - number of subscripts
      • LLVMDIBuilderCreateArrayType

        public static long LLVMDIBuilderCreateArrayType​(long Builder,
                                                        long Size,
                                                        int AlignInBits,
                                                        long Ty,
                                                        PointerBuffer Subscripts)
        Create debugging information entry for an array.
        Parameters:
        Builder - the DIBuilder
        Size - array size
        AlignInBits - alignment
        Ty - element type
        Subscripts - subscripts
      • nLLVMDIBuilderCreateVectorType

        public static long nLLVMDIBuilderCreateVectorType​(long Builder,
                                                          long Size,
                                                          int AlignInBits,
                                                          long Ty,
                                                          long Subscripts,
                                                          int NumSubscripts)
        Unsafe version of: DIBuilderCreateVectorType
        Parameters:
        NumSubscripts - number of subscripts
      • LLVMDIBuilderCreateVectorType

        public static long LLVMDIBuilderCreateVectorType​(long Builder,
                                                         long Size,
                                                         int AlignInBits,
                                                         long Ty,
                                                         PointerBuffer Subscripts)
        Create debugging information entry for a vector type.
        Parameters:
        Builder - the DIBuilder
        Size - vector size
        AlignInBits - alignment
        Ty - element type
        Subscripts - subscripts
      • nLLVMDIBuilderCreateUnspecifiedType

        public static long nLLVMDIBuilderCreateUnspecifiedType​(long Builder,
                                                               long Name,
                                                               long NameLen)
        Parameters:
        NameLen - length of type name
      • LLVMDIBuilderCreateUnspecifiedType

        public static long LLVMDIBuilderCreateUnspecifiedType​(long Builder,
                                                              java.nio.ByteBuffer Name)
        
        public static long LLVMDIBuilderCreateUnspecifiedType​(long Builder,
                                                              java.lang.CharSequence Name)
        
        Create a DWARF unspecified type.
        Parameters:
        Builder - the DIBuilder
        Name - the unspecified type's name
      • nLLVMDIBuilderCreateBasicType

        public static long nLLVMDIBuilderCreateBasicType​(long Builder,
                                                         long Name,
                                                         long NameLen,
                                                         long SizeInBits,
                                                         int Encoding,
                                                         int Flags)
        Unsafe version of: DIBuilderCreateBasicType
        Parameters:
        NameLen - length of type name
      • LLVMDIBuilderCreateBasicType

        public static long LLVMDIBuilderCreateBasicType​(long Builder,
                                                        java.nio.ByteBuffer Name,
                                                        long SizeInBits,
                                                        int Encoding,
                                                        int Flags)
        
        public static long LLVMDIBuilderCreateBasicType​(long Builder,
                                                        java.lang.CharSequence Name,
                                                        long SizeInBits,
                                                        int Encoding,
                                                        int Flags)
        
        Create debugging information entry for a basic type.
        Parameters:
        Builder - the DIBuilder
        Name - type name
        SizeInBits - size of the type
        Encoding - DWARF encoding code, e.g. LLVMDWARFTypeEncoding_float.
        Flags - flags to encode optional attribute like endianity
      • nLLVMDIBuilderCreatePointerType

        public static long nLLVMDIBuilderCreatePointerType​(long Builder,
                                                           long PointeeTy,
                                                           long SizeInBits,
                                                           int AlignInBits,
                                                           int AddressSpace,
                                                           long Name,
                                                           long NameLen)
        Unsafe version of: DIBuilderCreatePointerType
        Parameters:
        NameLen - length of pointer type name. (optional)
      • LLVMDIBuilderCreatePointerType

        public static long LLVMDIBuilderCreatePointerType​(long Builder,
                                                          long PointeeTy,
                                                          long SizeInBits,
                                                          int AlignInBits,
                                                          int AddressSpace,
                                                          java.nio.ByteBuffer Name)
        
        public static long LLVMDIBuilderCreatePointerType​(long Builder,
                                                          long PointeeTy,
                                                          long SizeInBits,
                                                          int AlignInBits,
                                                          int AddressSpace,
                                                          java.lang.CharSequence Name)
        
        Create debugging information entry for a pointer.
        Parameters:
        Builder - the DIBuilder
        PointeeTy - type pointed by this pointer
        SizeInBits - size
        AlignInBits - alignment. (optional, pass 0 to ignore)
        AddressSpace - DWARF address space. (optional, pass 0 to ignore)
        Name - pointer type name. (optional)
      • nLLVMDIBuilderCreateStructType

        public static long nLLVMDIBuilderCreateStructType​(long Builder,
                                                          long Scope,
                                                          long Name,
                                                          long NameLen,
                                                          long File,
                                                          int LineNumber,
                                                          long SizeInBits,
                                                          int AlignInBits,
                                                          int Flags,
                                                          long DerivedFrom,
                                                          long Elements,
                                                          int NumElements,
                                                          int RunTimeLang,
                                                          long VTableHolder,
                                                          long UniqueId,
                                                          long UniqueIdLen)
        Unsafe version of: DIBuilderCreateStructType
        Parameters:
        NameLen - struct name length
        NumElements - number of struct elements
        UniqueIdLen - length of the unique identifier for the struct
      • LLVMDIBuilderCreateStructType

        public static long LLVMDIBuilderCreateStructType​(long Builder,
                                                         long Scope,
                                                         java.nio.ByteBuffer Name,
                                                         long File,
                                                         int LineNumber,
                                                         long SizeInBits,
                                                         int AlignInBits,
                                                         int Flags,
                                                         long DerivedFrom,
                                                         PointerBuffer Elements,
                                                         int RunTimeLang,
                                                         long VTableHolder,
                                                         java.nio.ByteBuffer UniqueId)
        
        public static long LLVMDIBuilderCreateStructType​(long Builder,
                                                         long Scope,
                                                         java.lang.CharSequence Name,
                                                         long File,
                                                         int LineNumber,
                                                         long SizeInBits,
                                                         int AlignInBits,
                                                         int Flags,
                                                         long DerivedFrom,
                                                         PointerBuffer Elements,
                                                         int RunTimeLang,
                                                         long VTableHolder,
                                                         java.lang.CharSequence UniqueId)
        
        Create debugging information entry for a struct.
        Parameters:
        Builder - the DIBuilder
        Scope - scope in which this struct is defined
        Name - struct name
        File - file where this member is defined
        LineNumber - line number
        SizeInBits - member size
        AlignInBits - member alignment
        Flags - flags to encode member attribute, e.g. private
        Elements - struct elements
        RunTimeLang - optional parameter, Objective-C runtime version
        VTableHolder - the object containing the vtable for the struct
        UniqueId - a unique identifier for the struct
      • nLLVMDIBuilderCreateMemberType

        public static long nLLVMDIBuilderCreateMemberType​(long Builder,
                                                          long Scope,
                                                          long Name,
                                                          long NameLen,
                                                          long File,
                                                          int LineNo,
                                                          long SizeInBits,
                                                          int AlignInBits,
                                                          long OffsetInBits,
                                                          int Flags,
                                                          long Ty)
        Unsafe version of: DIBuilderCreateMemberType
        Parameters:
        NameLen - length of member name
      • LLVMDIBuilderCreateMemberType

        public static long LLVMDIBuilderCreateMemberType​(long Builder,
                                                         long Scope,
                                                         java.nio.ByteBuffer Name,
                                                         long File,
                                                         int LineNo,
                                                         long SizeInBits,
                                                         int AlignInBits,
                                                         long OffsetInBits,
                                                         int Flags,
                                                         long Ty)
        
        public static long LLVMDIBuilderCreateMemberType​(long Builder,
                                                         long Scope,
                                                         java.lang.CharSequence Name,
                                                         long File,
                                                         int LineNo,
                                                         long SizeInBits,
                                                         int AlignInBits,
                                                         long OffsetInBits,
                                                         int Flags,
                                                         long Ty)
        
        Create debugging information entry for a member.
        Parameters:
        Builder - the DIBuilder
        Scope - member scope
        Name - member name
        File - file where this member is defined
        LineNo - line number
        SizeInBits - member size
        AlignInBits - member alignment
        OffsetInBits - member offset
        Flags - flags to encode member attribute, e.g. private
        Ty - parent type
      • nLLVMDIBuilderCreateStaticMemberType

        public static long nLLVMDIBuilderCreateStaticMemberType​(long Builder,
                                                                long Scope,
                                                                long Name,
                                                                long NameLen,
                                                                long File,
                                                                int LineNumber,
                                                                long Type,
                                                                int Flags,
                                                                long ConstantVal,
                                                                int AlignInBits)
        Parameters:
        NameLen - length of member name
      • LLVMDIBuilderCreateStaticMemberType

        public static long LLVMDIBuilderCreateStaticMemberType​(long Builder,
                                                               long Scope,
                                                               java.nio.ByteBuffer Name,
                                                               long File,
                                                               int LineNumber,
                                                               long Type,
                                                               int Flags,
                                                               long ConstantVal,
                                                               int AlignInBits)
        
        public static long LLVMDIBuilderCreateStaticMemberType​(long Builder,
                                                               long Scope,
                                                               java.lang.CharSequence Name,
                                                               long File,
                                                               int LineNumber,
                                                               long Type,
                                                               int Flags,
                                                               long ConstantVal,
                                                               int AlignInBits)
        
        Create debugging information entry for a C++ static data member.
        Parameters:
        Builder - the DIBuilder
        Scope - member scope
        Name - member name
        File - file where this member is declared
        LineNumber - line number
        Type - type of the static member
        Flags - flags to encode member attribute, e.g. private.
        ConstantVal - const initializer of the member
        AlignInBits - member alignment
      • LLVMDIBuilderCreateMemberPointerType

        public static long LLVMDIBuilderCreateMemberPointerType​(long Builder,
                                                                long PointeeType,
                                                                long ClassType,
                                                                long SizeInBits,
                                                                int AlignInBits,
                                                                int Flags)
        Create debugging information entry for a pointer to member.
        Parameters:
        Builder - the DIBuilder
        PointeeType - type pointed to by this pointer
        ClassType - type for which this pointer points to members of
        SizeInBits - size
        AlignInBits - alignment
        Flags - flags
      • nLLVMDIBuilderCreateObjCIVar

        public static long nLLVMDIBuilderCreateObjCIVar​(long Builder,
                                                        long Name,
                                                        long NameLen,
                                                        long File,
                                                        int LineNo,
                                                        long SizeInBits,
                                                        int AlignInBits,
                                                        long OffsetInBits,
                                                        int Flags,
                                                        long Ty,
                                                        long PropertyNode)
        Unsafe version of: DIBuilderCreateObjCIVar
        Parameters:
        NameLen - the length of the C string passed to Name
      • LLVMDIBuilderCreateObjCIVar

        public static long LLVMDIBuilderCreateObjCIVar​(long Builder,
                                                       java.nio.ByteBuffer Name,
                                                       long File,
                                                       int LineNo,
                                                       long SizeInBits,
                                                       int AlignInBits,
                                                       long OffsetInBits,
                                                       int Flags,
                                                       long Ty,
                                                       long PropertyNode)
        
        public static long LLVMDIBuilderCreateObjCIVar​(long Builder,
                                                       java.lang.CharSequence Name,
                                                       long File,
                                                       int LineNo,
                                                       long SizeInBits,
                                                       int AlignInBits,
                                                       long OffsetInBits,
                                                       int Flags,
                                                       long Ty,
                                                       long PropertyNode)
        
        Create debugging information entry for Objective-C instance variable.
        Parameters:
        Builder - the DIBuilder
        Name - member name
        File - file where this member is defined
        LineNo - line number
        SizeInBits - member size
        AlignInBits - member alignment
        OffsetInBits - member offset
        Flags - flags to encode member attribute, e.g. private
        Ty - parent type
        PropertyNode - property associated with this ivar
      • nLLVMDIBuilderCreateObjCProperty

        public static long nLLVMDIBuilderCreateObjCProperty​(long Builder,
                                                            long Name,
                                                            long NameLen,
                                                            long File,
                                                            int LineNo,
                                                            long GetterName,
                                                            long GetterNameLen,
                                                            long SetterName,
                                                            long SetterNameLen,
                                                            int PropertyAttributes,
                                                            long Ty)
        Unsafe version of: DIBuilderCreateObjCProperty
        Parameters:
        NameLen - the length of the C string passed to Name
        GetterNameLen - the length of the C string passed to GetterName
        SetterNameLen - the length of the C string passed to SetterName
      • LLVMDIBuilderCreateObjCProperty

        public static long LLVMDIBuilderCreateObjCProperty​(long Builder,
                                                           java.nio.ByteBuffer Name,
                                                           long File,
                                                           int LineNo,
                                                           java.nio.ByteBuffer GetterName,
                                                           java.nio.ByteBuffer SetterName,
                                                           int PropertyAttributes,
                                                           long Ty)
        
        public static long LLVMDIBuilderCreateObjCProperty​(long Builder,
                                                           java.lang.CharSequence Name,
                                                           long File,
                                                           int LineNo,
                                                           java.lang.CharSequence GetterName,
                                                           java.lang.CharSequence SetterName,
                                                           int PropertyAttributes,
                                                           long Ty)
        
        Create debugging information entry for Objective-C property.
        Parameters:
        Builder - the DIBuilder
        Name - property name
        File - file where this property is defined
        LineNo - line number
        GetterName - name of the Objective C property getter selector
        SetterName - name of the Objective C property setter selector
        PropertyAttributes - objective C property attributes
        Ty - type
      • LLVMDIBuilderCreateObjectPointerType

        public static long LLVMDIBuilderCreateObjectPointerType​(long Builder,
                                                                long Type)
        Create a uniqued DIType* clone with FlagObjectPointer and FlagArtificial set.
        Parameters:
        Builder - the DIBuilder
        Type - the underlying type to which this pointer points
      • LLVMDIBuilderCreateQualifiedType

        public static long LLVMDIBuilderCreateQualifiedType​(long Builder,
                                                            int Tag,
                                                            long Type)
        Create debugging information entry for a qualified type, e.g. 'const int'.
        Parameters:
        Builder - the DIBuilder
        Tag - tag identifying type, e.g. LLVMDWARFTypeQualifier_volatile_type
        Type - base Type
      • LLVMDIBuilderCreateReferenceType

        public static long LLVMDIBuilderCreateReferenceType​(long Builder,
                                                            int Tag,
                                                            long Type)
        Create debugging information entry for a c++ style reference or rvalue reference type.
        Parameters:
        Builder - the DIBuilder
        Tag - tag identifying type,
        Type - base Type
      • LLVMDIBuilderCreateNullPtrType

        public static long LLVMDIBuilderCreateNullPtrType​(long Builder)
        Create C++11 nullptr type.
        Parameters:
        Builder - the DIBuilder
      • nLLVMDIBuilderCreateTypedef

        public static long nLLVMDIBuilderCreateTypedef​(long Builder,
                                                       long Type,
                                                       long Name,
                                                       long NameLen,
                                                       long File,
                                                       int LineNo,
                                                       long Scope)
        Unsafe version of: DIBuilderCreateTypedef
      • LLVMDIBuilderCreateTypedef

        public static long LLVMDIBuilderCreateTypedef​(long Builder,
                                                      long Type,
                                                      java.nio.ByteBuffer Name,
                                                      long File,
                                                      int LineNo,
                                                      long Scope)
        
        public static long LLVMDIBuilderCreateTypedef​(long Builder,
                                                      long Type,
                                                      java.lang.CharSequence Name,
                                                      long File,
                                                      int LineNo,
                                                      long Scope)
        
        Create debugging information entry for a typedef.
        Parameters:
        Builder - the DIBuilder
        Type - original type
        Name - typedef name
        File - file where this type is defined
        LineNo - line number
        Scope - the surrounding context for the typedef
      • LLVMDIBuilderCreateInheritance

        public static long LLVMDIBuilderCreateInheritance​(long Builder,
                                                          long Ty,
                                                          long BaseTy,
                                                          long BaseOffset,
                                                          int VBPtrOffset,
                                                          int Flags)
        Create debugging information entry to establish inheritance relationship between two types.
        Parameters:
        Builder - the DIBuilder
        Ty - original type
        BaseTy - base type. Ty is inherits from base.
        BaseOffset - base offset
        VBPtrOffset - virtual base pointer offset
        Flags - flags to describe inheritance attribute, e.g. private
      • nLLVMDIBuilderCreateForwardDecl

        public static long nLLVMDIBuilderCreateForwardDecl​(long Builder,
                                                           int Tag,
                                                           long Name,
                                                           long NameLen,
                                                           long Scope,
                                                           long File,
                                                           int Line,
                                                           int RuntimeLang,
                                                           long SizeInBits,
                                                           int AlignInBits,
                                                           long UniqueIdentifier,
                                                           long UniqueIdentifierLen)
        Unsafe version of: DIBuilderCreateForwardDecl
        Parameters:
        NameLen - length of type name
        UniqueIdentifierLen - length of the unique identifier
      • LLVMDIBuilderCreateForwardDecl

        public static long LLVMDIBuilderCreateForwardDecl​(long Builder,
                                                          int Tag,
                                                          java.nio.ByteBuffer Name,
                                                          long Scope,
                                                          long File,
                                                          int Line,
                                                          int RuntimeLang,
                                                          long SizeInBits,
                                                          int AlignInBits,
                                                          java.nio.ByteBuffer UniqueIdentifier)
        
        public static long LLVMDIBuilderCreateForwardDecl​(long Builder,
                                                          int Tag,
                                                          java.lang.CharSequence Name,
                                                          long Scope,
                                                          long File,
                                                          int Line,
                                                          int RuntimeLang,
                                                          long SizeInBits,
                                                          int AlignInBits,
                                                          java.lang.CharSequence UniqueIdentifier)
        
        Create a permanent forward-declared type.
        Parameters:
        Builder - the DIBuilder
        Tag - a unique tag for this type
        Name - type name
        Scope - type scope
        File - file where this type is defined
        Line - line number where this type is defined
        RuntimeLang - indicates runtime version for languages like Objective-C
        SizeInBits - member size
        AlignInBits - member alignment
        UniqueIdentifier - a unique identifier for the type
      • nLLVMDIBuilderCreateReplaceableCompositeType

        public static long nLLVMDIBuilderCreateReplaceableCompositeType​(long Builder,
                                                                        int Tag,
                                                                        long Name,
                                                                        long NameLen,
                                                                        long Scope,
                                                                        long File,
                                                                        int Line,
                                                                        int RuntimeLang,
                                                                        long SizeInBits,
                                                                        int AlignInBits,
                                                                        int Flags,
                                                                        long UniqueIdentifier,
                                                                        long UniqueIdentifierLen)
        Parameters:
        NameLen - length of type name
        UniqueIdentifierLen - length of the unique identifier
      • LLVMDIBuilderCreateReplaceableCompositeType

        public static long LLVMDIBuilderCreateReplaceableCompositeType​(long Builder,
                                                                       int Tag,
                                                                       java.nio.ByteBuffer Name,
                                                                       long Scope,
                                                                       long File,
                                                                       int Line,
                                                                       int RuntimeLang,
                                                                       long SizeInBits,
                                                                       int AlignInBits,
                                                                       int Flags,
                                                                       java.nio.ByteBuffer UniqueIdentifier)
        
        public static long LLVMDIBuilderCreateReplaceableCompositeType​(long Builder,
                                                                       int Tag,
                                                                       java.lang.CharSequence Name,
                                                                       long Scope,
                                                                       long File,
                                                                       int Line,
                                                                       int RuntimeLang,
                                                                       long SizeInBits,
                                                                       int AlignInBits,
                                                                       int Flags,
                                                                       java.lang.CharSequence UniqueIdentifier)
        
        Create a temporary forward-declared type.
        Parameters:
        Builder - the DIBuilder
        Tag - a unique tag for this type
        Name - type name
        Scope - type scope
        File - file where this type is defined
        Line - line number where this type is defined
        RuntimeLang - indicates runtime version for languages like Objective-C
        SizeInBits - member size
        AlignInBits - member alignment
        Flags - flags
        UniqueIdentifier - a unique identifier for the type
      • nLLVMDIBuilderCreateBitFieldMemberType

        public static long nLLVMDIBuilderCreateBitFieldMemberType​(long Builder,
                                                                  long Scope,
                                                                  long Name,
                                                                  long NameLen,
                                                                  long File,
                                                                  int LineNumber,
                                                                  long SizeInBits,
                                                                  long OffsetInBits,
                                                                  long StorageOffsetInBits,
                                                                  int Flags,
                                                                  long Type)
        Parameters:
        NameLen - length of member name
      • LLVMDIBuilderCreateBitFieldMemberType

        public static long LLVMDIBuilderCreateBitFieldMemberType​(long Builder,
                                                                 long Scope,
                                                                 java.nio.ByteBuffer Name,
                                                                 long File,
                                                                 int LineNumber,
                                                                 long SizeInBits,
                                                                 long OffsetInBits,
                                                                 long StorageOffsetInBits,
                                                                 int Flags,
                                                                 long Type)
        
        public static long LLVMDIBuilderCreateBitFieldMemberType​(long Builder,
                                                                 long Scope,
                                                                 java.lang.CharSequence Name,
                                                                 long File,
                                                                 int LineNumber,
                                                                 long SizeInBits,
                                                                 long OffsetInBits,
                                                                 long StorageOffsetInBits,
                                                                 int Flags,
                                                                 long Type)
        
        Create debugging information entry for a bit field member.
        Parameters:
        Builder - the DIBuilder
        Scope - member scope
        Name - member name
        File - file where this member is defined
        LineNumber - line number
        SizeInBits - member size
        OffsetInBits - member offset
        StorageOffsetInBits - member storage offset
        Flags - flags to encode member attribute
        Type - parent type
      • nLLVMDIBuilderCreateClassType

        public static long nLLVMDIBuilderCreateClassType​(long Builder,
                                                         long Scope,
                                                         long Name,
                                                         long NameLen,
                                                         long File,
                                                         int LineNumber,
                                                         long SizeInBits,
                                                         int AlignInBits,
                                                         long OffsetInBits,
                                                         int Flags,
                                                         long DerivedFrom,
                                                         long Elements,
                                                         int NumElements,
                                                         long VTableHolder,
                                                         long TemplateParamsNode,
                                                         long UniqueIdentifier,
                                                         long UniqueIdentifierLen)
        Unsafe version of: DIBuilderCreateClassType
        Parameters:
        NameLen - the length of the C string passed to Name
        NumElements - number of class elements
        UniqueIdentifierLen - length of the unique identifier
      • LLVMDIBuilderCreateClassType

        public static long LLVMDIBuilderCreateClassType​(long Builder,
                                                        long Scope,
                                                        java.nio.ByteBuffer Name,
                                                        long File,
                                                        int LineNumber,
                                                        long SizeInBits,
                                                        int AlignInBits,
                                                        long OffsetInBits,
                                                        int Flags,
                                                        long DerivedFrom,
                                                        PointerBuffer Elements,
                                                        long VTableHolder,
                                                        long TemplateParamsNode,
                                                        java.nio.ByteBuffer UniqueIdentifier)
        
        public static long LLVMDIBuilderCreateClassType​(long Builder,
                                                        long Scope,
                                                        java.lang.CharSequence Name,
                                                        long File,
                                                        int LineNumber,
                                                        long SizeInBits,
                                                        int AlignInBits,
                                                        long OffsetInBits,
                                                        int Flags,
                                                        long DerivedFrom,
                                                        PointerBuffer Elements,
                                                        long VTableHolder,
                                                        long TemplateParamsNode,
                                                        java.lang.CharSequence UniqueIdentifier)
        
        Create debugging information entry for a class.
        Parameters:
        Scope - scope in which this class is defined
        Name - class name
        File - file where this member is defined
        LineNumber - line number
        SizeInBits - member size
        AlignInBits - member alignment
        OffsetInBits - member offset
        Flags - flags to encode member attribute, e.g. private.
        DerivedFrom - debug info of the base class of this type
        Elements - class members
        VTableHolder - debug info of the base class that contains vtable for this type. This is used in DW_AT_containing_type. See DWARF documentation for more info.
        TemplateParamsNode - template type parameters
        UniqueIdentifier - a unique identifier for the type
      • LLVMDIBuilderCreateArtificialType

        public static long LLVMDIBuilderCreateArtificialType​(long Builder,
                                                             long Type)
        Create a uniqued DIType* clone with FlagArtificial set.
        Parameters:
        Builder - the DIBuilder
        Type - the underlying type
      • nLLVMDITypeGetName

        public static long nLLVMDITypeGetName​(long DType,
                                              long Length)
        Unsafe version of: DITypeGetName
        Parameters:
        Length - the length of the returned string
      • LLVMDITypeGetName

        @Nullable
        public static java.lang.String LLVMDITypeGetName​(long DType)
        Get the name of this DIType.
        Parameters:
        DType - the DIType
      • LLVMDITypeGetSizeInBits

        public static long LLVMDITypeGetSizeInBits​(long DType)
        Get the size of this DIType in bits.
        Parameters:
        DType - the DIType
      • LLVMDITypeGetOffsetInBits

        public static long LLVMDITypeGetOffsetInBits​(long DType)
        Get the offset of this DIType in bits.
        Parameters:
        DType - the DIType
      • LLVMDITypeGetAlignInBits

        public static int LLVMDITypeGetAlignInBits​(long DType)
        Get the alignment of this DIType in bits.
        Parameters:
        DType - the DIType
      • LLVMDITypeGetLine

        public static int LLVMDITypeGetLine​(long DType)
        Get the source line where this DIType is declared.
        Parameters:
        DType - the DIType
      • LLVMDITypeGetFlags

        public static int LLVMDITypeGetFlags​(long DType)
        Get the flags associated with this DIType.
        Parameters:
        DType - the DIType
      • LLVMDIBuilderGetOrCreateSubrange

        public static long LLVMDIBuilderGetOrCreateSubrange​(long Builder,
                                                            long LowerBound,
                                                            long Count)
        Create a descriptor for a value range.
        Parameters:
        Builder - the DIBuilder
        LowerBound - lower bound of the subrange, e.g. 0 for C, 1 for Fortran.
        Count - count of elements in the subrange
      • nLLVMDIBuilderGetOrCreateArray

        public static long nLLVMDIBuilderGetOrCreateArray​(long Builder,
                                                          long Data,
                                                          long NumElements)
        Unsafe version of: DIBuilderGetOrCreateArray
        Parameters:
        NumElements - number of DI Node elements
      • LLVMDIBuilderGetOrCreateArray

        public static long LLVMDIBuilderGetOrCreateArray​(long Builder,
                                                         PointerBuffer Data)
        Create an array of DI Nodes.
        Parameters:
        Builder - the DIBuilder
        Data - the DI Node elements
      • nLLVMDIBuilderCreateExpression

        public static long nLLVMDIBuilderCreateExpression​(long Builder,
                                                          long Addr,
                                                          long Length)
        Unsafe version of: DIBuilderCreateExpression
        Parameters:
        Length - length of the address operation array
      • LLVMDIBuilderCreateExpression

        public static long LLVMDIBuilderCreateExpression​(long Builder,
                                                         java.nio.LongBuffer Addr)
        Create a new descriptor for the specified variable which has a complex address expression for its address.
        Parameters:
        Builder - the DIBuilder
        Addr - an array of complex address operations
      • LLVMDIBuilderCreateConstantValueExpression

        public static long LLVMDIBuilderCreateConstantValueExpression​(long Builder,
                                                                      long Value)
        Create a new descriptor for the specified variable that does not have an address, but does have a constant value.
        Parameters:
        Builder - the DIBuilder
        Value - the constant value
      • nLLVMDIBuilderCreateGlobalVariableExpression

        public static long nLLVMDIBuilderCreateGlobalVariableExpression​(long Builder,
                                                                        long Scope,
                                                                        long Name,
                                                                        long NameLen,
                                                                        long Linkage,
                                                                        long LinkLen,
                                                                        long File,
                                                                        int LineNo,
                                                                        long Ty,
                                                                        int LocalToUnit,
                                                                        long Expr,
                                                                        long Decl,
                                                                        int AlignInBits)
        Parameters:
        NameLen - the length of the C string passed to Name
        LinkLen - the length of the C string passed to Linkage
      • LLVMDIBuilderCreateGlobalVariableExpression

        public static long LLVMDIBuilderCreateGlobalVariableExpression​(long Builder,
                                                                       long Scope,
                                                                       java.nio.ByteBuffer Name,
                                                                       java.nio.ByteBuffer Linkage,
                                                                       long File,
                                                                       int LineNo,
                                                                       long Ty,
                                                                       boolean LocalToUnit,
                                                                       long Expr,
                                                                       long Decl,
                                                                       int AlignInBits)
        
        public static long LLVMDIBuilderCreateGlobalVariableExpression​(long Builder,
                                                                       long Scope,
                                                                       java.lang.CharSequence Name,
                                                                       java.lang.CharSequence Linkage,
                                                                       long File,
                                                                       int LineNo,
                                                                       long Ty,
                                                                       boolean LocalToUnit,
                                                                       long Expr,
                                                                       long Decl,
                                                                       int AlignInBits)
        
        Create a new descriptor for the specified variable.
        Parameters:
        Scope - variable scope
        Name - name of the variable
        Linkage - mangled name of the variable
        File - file where this variable is defined
        LineNo - line number
        Ty - variable Type
        LocalToUnit - boolean flag indicate whether this variable is externally visible or not
        Expr - the location of the global relative to the attached GlobalVariable
        Decl - reference to the corresponding declaration. variables.
        AlignInBits - variable alignment(or 0 if no alignment attr was specified)
      • nLLVMTemporaryMDNode

        public static long nLLVMTemporaryMDNode​(long Ctx,
                                                long Data,
                                                long NumElements)
        Unsafe version of: TemporaryMDNode
        Parameters:
        NumElements - number of metadata elements
      • LLVMTemporaryMDNode

        public static long LLVMTemporaryMDNode​(long Ctx,
                                               PointerBuffer Data)
        Create a new temporary MDNode. Suitable for use in constructing cyclic MDNode structures. A temporary MDNode is not uniqued, may be RAUW'd, and must be manually deleted with LLVMDisposeTemporaryMDNode.
        Parameters:
        Ctx - the context in which to construct the temporary node
        Data - the metadata elements
      • LLVMDisposeTemporaryMDNode

        public static void LLVMDisposeTemporaryMDNode​(long TempNode)
        Deallocate a temporary node.

        Calls replaceAllUsesWith(nullptr) before deleting, so any remaining references will be reset.

        Parameters:
        TempNode - the temporary metadata node
      • LLVMMetadataReplaceAllUsesWith

        public static void LLVMMetadataReplaceAllUsesWith​(long TempTargetMetadata,
                                                          long Replacement)
        Replace all uses of temporary metadata.
        Parameters:
        TempTargetMetadata - the temporary metadata node
        Replacement - the replacement metadata node
      • nLLVMDIBuilderCreateTempGlobalVariableFwdDecl

        public static long nLLVMDIBuilderCreateTempGlobalVariableFwdDecl​(long Builder,
                                                                         long Scope,
                                                                         long Name,
                                                                         long NameLen,
                                                                         long Linkage,
                                                                         long LnkLen,
                                                                         long File,
                                                                         int LineNo,
                                                                         long Ty,
                                                                         int LocalToUnit,
                                                                         long Decl,
                                                                         int AlignInBits)
        Parameters:
        NameLen - the length of the C string passed to Name
        LnkLen - the length of the C string passed to Linkage
      • LLVMDIBuilderCreateTempGlobalVariableFwdDecl

        public static long LLVMDIBuilderCreateTempGlobalVariableFwdDecl​(long Builder,
                                                                        long Scope,
                                                                        java.nio.ByteBuffer Name,
                                                                        java.nio.ByteBuffer Linkage,
                                                                        long File,
                                                                        int LineNo,
                                                                        long Ty,
                                                                        boolean LocalToUnit,
                                                                        long Decl,
                                                                        int AlignInBits)
        
        public static long LLVMDIBuilderCreateTempGlobalVariableFwdDecl​(long Builder,
                                                                        long Scope,
                                                                        java.lang.CharSequence Name,
                                                                        java.lang.CharSequence Linkage,
                                                                        long File,
                                                                        int LineNo,
                                                                        long Ty,
                                                                        boolean LocalToUnit,
                                                                        long Decl,
                                                                        int AlignInBits)
        
        Create a new descriptor for the specified global variable that is temporary and meant to be RAUWed.
        Parameters:
        Scope - variable scope
        Name - name of the variable
        Linkage - mangled name of the variable
        File - file where this variable is defined
        LineNo - line number
        Ty - variable Type
        LocalToUnit - boolean flag indicate whether this variable is externally visible or not
        Decl - reference to the corresponding declaration
        AlignInBits - variable alignment(or 0 if no alignment attr was specified)
      • LLVMDIBuilderInsertDeclareBefore

        public static long LLVMDIBuilderInsertDeclareBefore​(long Builder,
                                                            long Storage,
                                                            long VarInfo,
                                                            long Expr,
                                                            long DebugLoc,
                                                            long Instr)
        Insert a new llvm.dbg.declare intrinsic call before the given instruction.
        Parameters:
        Builder - the DIBuilder
        Storage - the storage of the variable to declare
        VarInfo - the variable's debug info descriptor
        Expr - a complex location expression for the variable
        DebugLoc - debug info location
        Instr - instruction acting as a location for the new intrinsic
      • LLVMDIBuilderInsertDeclareAtEnd

        public static long LLVMDIBuilderInsertDeclareAtEnd​(long Builder,
                                                           long Storage,
                                                           long VarInfo,
                                                           long Expr,
                                                           long DebugLoc,
                                                           long Block)
        Insert a new llvm.dbg.declare intrinsic call at the end of the given basic block. If the basic block has a terminator instruction, the intrinsic is inserted before that terminator instruction.
        Parameters:
        Builder - the DIBuilder
        Storage - the storage of the variable to declare
        VarInfo - the variable's debug info descriptor
        Expr - a complex location expression for the variable
        DebugLoc - debug info location
        Block - basic block acting as a location for the new intrinsic
      • LLVMDIBuilderInsertDbgValueBefore

        public static long LLVMDIBuilderInsertDbgValueBefore​(long Builder,
                                                             long Val,
                                                             long VarInfo,
                                                             long Expr,
                                                             long DebugLoc,
                                                             long Instr)
        Insert a new llvm.dbg.value intrinsic call before the given instruction.
        Parameters:
        Builder - the DIBuilder
        Val - the value of the variable
        VarInfo - the variable's debug info descriptor
        Expr - a complex location expression for the variable
        DebugLoc - debug info location
        Instr - instruction acting as a location for the new intrinsic
      • LLVMDIBuilderInsertDbgValueAtEnd

        public static long LLVMDIBuilderInsertDbgValueAtEnd​(long Builder,
                                                            long Val,
                                                            long VarInfo,
                                                            long Expr,
                                                            long DebugLoc,
                                                            long Block)
        Insert a new llvm.dbg.value intrinsic call at the end of the given basic block. If the basic block has a terminator instruction, the intrinsic is inserted before that terminator instruction.
        Parameters:
        Builder - the DIBuilder
        Val - the value of the variable
        VarInfo - the variable's debug info descriptor
        Expr - a complex location expression for the variable
        DebugLoc - debug info location
        Block - basic block acting as a location for the new intrinsic
      • nLLVMDIBuilderCreateAutoVariable

        public static long nLLVMDIBuilderCreateAutoVariable​(long Builder,
                                                            long Scope,
                                                            long Name,
                                                            long NameLen,
                                                            long File,
                                                            int LineNo,
                                                            long Ty,
                                                            int AlwaysPreserve,
                                                            int Flags,
                                                            int AlignInBits)
        Unsafe version of: DIBuilderCreateAutoVariable
        Parameters:
        NameLen - length of variable name
      • LLVMDIBuilderCreateAutoVariable

        public static long LLVMDIBuilderCreateAutoVariable​(long Builder,
                                                           long Scope,
                                                           java.nio.ByteBuffer Name,
                                                           long File,
                                                           int LineNo,
                                                           long Ty,
                                                           boolean AlwaysPreserve,
                                                           int Flags,
                                                           int AlignInBits)
        
        public static long LLVMDIBuilderCreateAutoVariable​(long Builder,
                                                           long Scope,
                                                           java.lang.CharSequence Name,
                                                           long File,
                                                           int LineNo,
                                                           long Ty,
                                                           boolean AlwaysPreserve,
                                                           int Flags,
                                                           int AlignInBits)
        
        Create a new descriptor for a local auto variable.
        Parameters:
        Builder - the DIBuilder
        Scope - the local scope the variable is declared in
        Name - variable name
        File - file where this variable is defined
        LineNo - line number
        Ty - metadata describing the type of the variable
        AlwaysPreserve - if true, this descriptor will survive optimizations
        Flags - flags
        AlignInBits - variable alignment
      • nLLVMDIBuilderCreateParameterVariable

        public static long nLLVMDIBuilderCreateParameterVariable​(long Builder,
                                                                 long Scope,
                                                                 long Name,
                                                                 long NameLen,
                                                                 int ArgNo,
                                                                 long File,
                                                                 int LineNo,
                                                                 long Ty,
                                                                 int AlwaysPreserve,
                                                                 int Flags)
        Parameters:
        NameLen - length of variable name
      • LLVMDIBuilderCreateParameterVariable

        public static long LLVMDIBuilderCreateParameterVariable​(long Builder,
                                                                long Scope,
                                                                java.nio.ByteBuffer Name,
                                                                int ArgNo,
                                                                long File,
                                                                int LineNo,
                                                                long Ty,
                                                                boolean AlwaysPreserve,
                                                                int Flags)
        
        public static long LLVMDIBuilderCreateParameterVariable​(long Builder,
                                                                long Scope,
                                                                java.lang.CharSequence Name,
                                                                int ArgNo,
                                                                long File,
                                                                int LineNo,
                                                                long Ty,
                                                                boolean AlwaysPreserve,
                                                                int Flags)
        
        Create a new descriptor for a function parameter variable.
        Parameters:
        Builder - the DIBuilder
        Scope - the local scope the variable is declared in
        Name - variable name
        ArgNo - unique argument number for this variable; starts at 1
        File - file where this variable is defined
        LineNo - line number
        Ty - metadata describing the type of the variable
        AlwaysPreserve - if true, this descriptor will survive optimizations
        Flags - flags
      • LLVMGetSubprogram

        public static long LLVMGetSubprogram​(long Func)
        Get the metadata of the subprogram attached to a function.
      • LLVMSetSubprogram

        public static void LLVMSetSubprogram​(long Func,
                                             long SP)
        Set the subprogram attached to a function.
      • LLVMGetMetadataKind

        public static int LLVMGetMetadataKind​(long Metadata)
        Obtain the enumerated type of a Metadata instance.