Package org.lwjgl.llvm
Class LLVMDebugInfo
- java.lang.Object
-
- org.lwjgl.llvm.LLVMDebugInfo
-
public class LLVMDebugInfo extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LLVMDebugInfo.Functions
Contains the function pointers loaded fromLLVMCore.getLibrary()
.
-
Field Summary
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description 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 toLLVMDIBuilderFinalize
.static long
LLVMCreateDIBuilderDisallowUnresolved(long M)
Construct a builder for a module, and do not allow for unresolved nodes attached to the module.static int
LLVMDebugMetadataVersion()
The current debug metadata version number.static long
LLVMDIBuilderCreateArrayType(long Builder, long Size, int AlignInBits, long Ty, org.lwjgl.PointerBuffer Subscripts)
Create debugging information entry for an array.static long
LLVMDIBuilderCreateArtificialType(long Builder, long Type)
Create a uniquedDIType*
clone withFlagArtificial
set.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.static long
LLVMDIBuilderCreateAutoVariable(long Builder, long Scope, java.nio.ByteBuffer Name, long File, int LineNo, long Ty, boolean AlwaysPreserve, int Flags, int AlignInBits)
Create a new descriptor for a local auto variable.static long
LLVMDIBuilderCreateBasicType(long Builder, java.lang.CharSequence Name, long SizeInBits, int Encoding, int Flags)
Create debugging information entry for a basic type.static long
LLVMDIBuilderCreateBasicType(long Builder, java.nio.ByteBuffer Name, long SizeInBits, int Encoding, int Flags)
Create debugging information entry for a basic type.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.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)
Create debugging information entry for a bit field member.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, org.lwjgl.PointerBuffer Elements, long VTableHolder, long TemplateParamsNode, java.lang.CharSequence UniqueIdentifier)
Create debugging information entry for a class.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, org.lwjgl.PointerBuffer Elements, long VTableHolder, long TemplateParamsNode, java.nio.ByteBuffer UniqueIdentifier)
Create debugging information entry for a class.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)
ACompileUnit
provides an anchor for all debugging information generated during this instance of compilation.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)
ACompileUnit
provides an anchor for all debugging information generated during this instance of compilation.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.static long
LLVMDIBuilderCreateDebugLocation(long Ctx, int Line, int Column, long Scope, long InlinedAt)
Creates a new DebugLocation that describes a source location.static long
LLVMDIBuilderCreateEnumerationType(long Builder, long Scope, java.lang.CharSequence Name, long File, int LineNumber, long SizeInBits, int AlignInBits, org.lwjgl.PointerBuffer Elements, long ClassTy)
Create debugging information entry for an enumeration.static long
LLVMDIBuilderCreateEnumerationType(long Builder, long Scope, java.nio.ByteBuffer Name, long File, int LineNumber, long SizeInBits, int AlignInBits, org.lwjgl.PointerBuffer Elements, long ClassTy)
Create debugging information entry for an enumeration.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.static long
LLVMDIBuilderCreateFile(long Builder, java.lang.CharSequence Filename, java.lang.CharSequence Directory)
Create a file descriptor to hold debugging information for a file.static long
LLVMDIBuilderCreateFile(long Builder, java.nio.ByteBuffer Filename, java.nio.ByteBuffer Directory)
Create a file descriptor to hold debugging information for a file.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.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)
Create a permanent forward-declared type.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.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)
Create a new descriptor for the specified subprogram.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.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)
Create a new descriptor for the specified variable.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.static long
LLVMDIBuilderCreateImportedDeclaration(long Builder, long Scope, long Decl, long File, int Line, java.nio.ByteBuffer Name)
Create a descriptor for an imported function, type, or variable.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.static long
LLVMDIBuilderCreateImportedModuleFromModule(long Builder, long Scope, long M, long File, int Line)
Create a descriptor for an imported module.static long
LLVMDIBuilderCreateImportedModuleFromNamespace(long Builder, long Scope, long NS, long File, int Line)
Create a descriptor for an imported namespace.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.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.static long
LLVMDIBuilderCreateLexicalBlockFile(long Builder, long Scope, long File, int Discriminator)
Create a descriptor for a lexical block with a new file attached.static long
LLVMDIBuilderCreateMemberPointerType(long Builder, long PointeeType, long ClassType, long SizeInBits, int AlignInBits, int Flags)
Create debugging information entry for a pointer to member.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.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)
Create debugging information entry for a member.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.static long
LLVMDIBuilderCreateModule(long Builder, long ParentScope, java.nio.ByteBuffer Name, java.nio.ByteBuffer ConfigMacros, java.nio.ByteBuffer IncludePath, java.nio.ByteBuffer ISysRoot)
Creates a new descriptor for a module with the specified parent scope.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.static long
LLVMDIBuilderCreateNameSpace(long Builder, long ParentScope, java.nio.ByteBuffer Name, boolean ExportSymbols)
Creates a new descriptor for a namespace with the specified parent scope.static long
LLVMDIBuilderCreateNullPtrType(long Builder)
Create C++11nullptr
type.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.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)
Create debugging information entry for Objective-C instance variable.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.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)
Create debugging information entry for Objective-C property.static long
LLVMDIBuilderCreateObjectPointerType(long Builder, long Type)
Create a uniqued DIType* clone with FlagObjectPointer and FlagArtificial set.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.static long
LLVMDIBuilderCreateParameterVariable(long Builder, long Scope, java.nio.ByteBuffer Name, int ArgNo, long File, int LineNo, long Ty, boolean AlwaysPreserve, int Flags)
Create a new descriptor for a function parameter variable.static long
LLVMDIBuilderCreatePointerType(long Builder, long PointeeTy, long SizeInBits, int AlignInBits, int AddressSpace, java.lang.CharSequence Name)
Create debugging information entry for a pointer.static long
LLVMDIBuilderCreatePointerType(long Builder, long PointeeTy, long SizeInBits, int AlignInBits, int AddressSpace, java.nio.ByteBuffer Name)
Create debugging information entry for a pointer.static long
LLVMDIBuilderCreateQualifiedType(long Builder, int Tag, long Type)
Create debugging information entry for a qualified type, e.g.static long
LLVMDIBuilderCreateReferenceType(long Builder, int Tag, long Type)
Create debugging information entry for a c++ style reference orrvalue
reference type.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.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)
Create a temporary forward-declared type.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.static long
LLVMDIBuilderCreateStaticMemberType(long Builder, long Scope, java.nio.ByteBuffer Name, long File, int LineNumber, long Type, int Flags, long ConstantVal, int AlignInBits)
Create debugging information entry for a C++ static data member.static long
LLVMDIBuilderCreateStructType(long Builder, long Scope, java.lang.CharSequence Name, long File, int LineNumber, long SizeInBits, int AlignInBits, int Flags, long DerivedFrom, org.lwjgl.PointerBuffer Elements, int RunTimeLang, long VTableHolder, java.lang.CharSequence UniqueId)
Create debugging information entry for a struct.static long
LLVMDIBuilderCreateStructType(long Builder, long Scope, java.nio.ByteBuffer Name, long File, int LineNumber, long SizeInBits, int AlignInBits, int Flags, long DerivedFrom, org.lwjgl.PointerBuffer Elements, int RunTimeLang, long VTableHolder, java.nio.ByteBuffer UniqueId)
Create debugging information entry for a struct.static long
LLVMDIBuilderCreateSubroutineType(long Builder, long File, org.lwjgl.PointerBuffer ParameterTypes, int Flags)
Create subroutine type.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.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)
Create a new descriptor for the specified global variable that is temporary and meant to be RAUWed.static long
LLVMDIBuilderCreateTypedef(long Builder, long Type, java.lang.CharSequence Name, long File, int LineNo, long Scope)
Create debugging information entry for a typedef.static long
LLVMDIBuilderCreateTypedef(long Builder, long Type, java.nio.ByteBuffer Name, long File, int LineNo, long Scope)
Create debugging information entry for a typedef.static long
LLVMDIBuilderCreateUnionType(long Builder, long Scope, java.lang.CharSequence Name, long File, int LineNumber, long SizeInBits, int AlignInBits, int Flags, org.lwjgl.PointerBuffer Elements, int RunTimeLang, java.lang.CharSequence UniqueId)
Create debugging information entry for a union.static long
LLVMDIBuilderCreateUnionType(long Builder, long Scope, java.nio.ByteBuffer Name, long File, int LineNumber, long SizeInBits, int AlignInBits, int Flags, org.lwjgl.PointerBuffer Elements, int RunTimeLang, java.nio.ByteBuffer UniqueId)
Create debugging information entry for a union.static long
LLVMDIBuilderCreateUnspecifiedType(long Builder, java.lang.CharSequence Name)
Create a DWARF unspecified type.static long
LLVMDIBuilderCreateUnspecifiedType(long Builder, java.nio.ByteBuffer Name)
Create a DWARF unspecified type.static long
LLVMDIBuilderCreateVectorType(long Builder, long Size, int AlignInBits, long Ty, org.lwjgl.PointerBuffer Subscripts)
Create debugging information entry for a vector type.static void
LLVMDIBuilderFinalize(long Builder)
Construct any deferred debug info descriptors.static long
LLVMDIBuilderGetOrCreateArray(long Builder, org.lwjgl.PointerBuffer Data)
Create an array ofDI
Nodes.static long
LLVMDIBuilderGetOrCreateSubrange(long Builder, long LowerBound, long Count)
Create a descriptor for a value range.static long
LLVMDIBuilderGetOrCreateTypeArray(long Builder, org.lwjgl.PointerBuffer Data)
Create a type array.static long
LLVMDIBuilderInsertDbgValueAtEnd(long Builder, long Val, long VarInfo, long Expr, long DebugLoc, long Block)
Insert a newllvm.dbg.value
intrinsic call at the end of the given basic block.static long
LLVMDIBuilderInsertDbgValueBefore(long Builder, long Val, long VarInfo, long Expr, long DebugLoc, long Instr)
Insert a newllvm.dbg.value
intrinsic call before the given instruction.static long
LLVMDIBuilderInsertDeclareAtEnd(long Builder, long Storage, long VarInfo, long Expr, long DebugLoc, long Block)
Insert a newllvm.dbg.declare
intrinsic call at the end of the given basic block.static long
LLVMDIBuilderInsertDeclareBefore(long Builder, long Storage, long VarInfo, long Expr, long DebugLoc, long Instr)
Insert a newllvm.dbg.declare
intrinsic call before the given instruction.static int
LLVMDILocationGetColumn(long Location)
Get the column number of this debug location.static int
LLVMDILocationGetLine(long Location)
Get the line number of this debug location.static long
LLVMDILocationGetScope(long Location)
Get the local scope associated with this debug location.static void
LLVMDisposeDIBuilder(long Builder)
Deallocates theDIBuilder
and everything it owns.static void
LLVMDisposeTemporaryMDNode(long TempNode)
Deallocate a temporary node.static int
LLVMDITypeGetAlignInBits(long DType)
Get the alignment of thisDIType
in bits.static int
LLVMDITypeGetFlags(long DType)
Get the flags associated with thisDIType
.static int
LLVMDITypeGetLine(long DType)
Get the source line where thisDIType
is declared.static java.lang.String
LLVMDITypeGetName(long DType)
Get the name of thisDIType
.static long
LLVMDITypeGetOffsetInBits(long DType)
Get the offset of thisDIType
in bits.static long
LLVMDITypeGetSizeInBits(long DType)
Get the size of thisDIType
in bits.static int
LLVMGetMetadataKind(long Metadata)
Obtain the enumerated type of a Metadata instance.static int
LLVMGetModuleDebugMetadataVersion(long Module)
The version of debug metadata that's present in the providedModule
.static long
LLVMGetSubprogram(long Func)
Get the metadata of the subprogram attached to a function.static void
LLVMMetadataReplaceAllUsesWith(long TempTargetMetadata, long Replacement)
Replace all uses of temporary metadata.static void
LLVMSetSubprogram(long Func, long SP)
Set the subprogram attached to a function.static boolean
LLVMStripModuleDebugInfo(long Module)
Strip debug info in the module if it exists.static long
LLVMTemporaryMDNode(long Ctx, org.lwjgl.PointerBuffer Data)
Create a new temporaryMDNode
.static long
nLLVMDIBuilderCreateArrayType(long Builder, long Size, int AlignInBits, long Ty, long Subscripts, int NumSubscripts)
Unsafe version of:DIBuilderCreateArrayType
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
static long
nLLVMDIBuilderCreateBasicType(long Builder, long Name, long NameLen, long SizeInBits, int Encoding, int Flags)
Unsafe version of:DIBuilderCreateBasicType
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)
Unsafe version of:DIBuilderCreateBitFieldMemberType
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
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
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)
Unsafe version of:DIBuilderCreateEnumerationType
static long
nLLVMDIBuilderCreateExpression(long Builder, long Addr, long Length)
Unsafe version of:DIBuilderCreateExpression
static long
nLLVMDIBuilderCreateFile(long Builder, long Filename, long FilenameLen, long Directory, long DirectoryLen)
Unsafe version of:DIBuilderCreateFile
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
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
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)
Unsafe version of:DIBuilderCreateGlobalVariableExpression
static long
nLLVMDIBuilderCreateImportedDeclaration(long Builder, long Scope, long Decl, long File, int Line, long Name, long NameLen)
Unsafe version of:DIBuilderCreateImportedDeclaration
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
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
static long
nLLVMDIBuilderCreateNameSpace(long Builder, long ParentScope, long Name, long NameLen, int ExportSymbols)
Unsafe version of:DIBuilderCreateNameSpace
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
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
static long
nLLVMDIBuilderCreateParameterVariable(long Builder, long Scope, long Name, long NameLen, int ArgNo, long File, int LineNo, long Ty, int AlwaysPreserve, int Flags)
Unsafe version of:DIBuilderCreateParameterVariable
static long
nLLVMDIBuilderCreatePointerType(long Builder, long PointeeTy, long SizeInBits, int AlignInBits, int AddressSpace, long Name, long NameLen)
Unsafe version of:DIBuilderCreatePointerType
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)
Unsafe version of:DIBuilderCreateReplaceableCompositeType
static long
nLLVMDIBuilderCreateStaticMemberType(long Builder, long Scope, long Name, long NameLen, long File, int LineNumber, long Type, int Flags, long ConstantVal, int AlignInBits)
Unsafe version of:DIBuilderCreateStaticMemberType
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
static long
nLLVMDIBuilderCreateSubroutineType(long Builder, long File, long ParameterTypes, int NumParameterTypes, int Flags)
Unsafe version of:DIBuilderCreateSubroutineType
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)
Unsafe version of:DIBuilderCreateTempGlobalVariableFwdDecl
static long
nLLVMDIBuilderCreateTypedef(long Builder, long Type, long Name, long NameLen, long File, int LineNo, long Scope)
Unsafe version of:DIBuilderCreateTypedef
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
static long
nLLVMDIBuilderCreateUnspecifiedType(long Builder, long Name, long NameLen)
Unsafe version of:DIBuilderCreateUnspecifiedType
static long
nLLVMDIBuilderCreateVectorType(long Builder, long Size, int AlignInBits, long Ty, long Subscripts, int NumSubscripts)
Unsafe version of:DIBuilderCreateVectorType
static long
nLLVMDIBuilderGetOrCreateArray(long Builder, long Data, long NumElements)
Unsafe version of:DIBuilderGetOrCreateArray
static long
nLLVMDIBuilderGetOrCreateTypeArray(long Builder, long Data, long NumElements)
Unsafe version of:DIBuilderGetOrCreateTypeArray
static long
nLLVMDITypeGetName(long DType, long Length)
Unsafe version of:DITypeGetName
static long
nLLVMTemporaryMDNode(long Ctx, long Data, long NumElements)
Unsafe version of:TemporaryMDNode
-
-
-
Field Detail
-
LLVMDIFlagZero, LLVMDIFlagPrivate, LLVMDIFlagProtected, LLVMDIFlagPublic, LLVMDIFlagFwdDecl, LLVMDIFlagAppleBlock, LLVMDIFlagBlockByrefStruct, LLVMDIFlagVirtual, LLVMDIFlagArtificial, LLVMDIFlagExplicit, LLVMDIFlagPrototyped, LLVMDIFlagObjcClassComplete, LLVMDIFlagObjectPointer, LLVMDIFlagVector, LLVMDIFlagStaticMember, LLVMDIFlagLValueReference, LLVMDIFlagRValueReference, LLVMDIFlagReserved, LLVMDIFlagSingleInheritance, LLVMDIFlagMultipleInheritance, LLVMDIFlagVirtualInheritance, LLVMDIFlagIntroducedVirtual, LLVMDIFlagBitField, LLVMDIFlagNoReturn, LLVMDIFlagMainSubprogram, LLVMDIFlagTypePassByValue, LLVMDIFlagTypePassByReference, LLVMDIFlagEnumClass, LLVMDIFlagFixedEnum, LLVMDIFlagThunk, LLVMDIFlagTrivial, LLVMDIFlagBigEndian, LLVMDIFlagLittleEndian, LLVMDIFlagIndirectVirtualBase, LLVMDIFlagAccessibility, LLVMDIFlagPtrToMemberRep
Debug info flags.(
LLVMDIFlags
)Enum values:
DIFlagZero
DIFlagPrivate
DIFlagProtected
DIFlagPublic
DIFlagFwdDecl
DIFlagAppleBlock
DIFlagBlockByrefStruct
DIFlagVirtual
DIFlagArtificial
DIFlagExplicit
DIFlagPrototyped
DIFlagObjcClassComplete
DIFlagObjectPointer
DIFlagVector
DIFlagStaticMember
DIFlagLValueReference
DIFlagRValueReference
DIFlagReserved
DIFlagSingleInheritance
DIFlagMultipleInheritance
DIFlagVirtualInheritance
DIFlagIntroducedVirtual
DIFlagBitField
DIFlagNoReturn
DIFlagMainSubprogram
DIFlagTypePassByValue
DIFlagTypePassByReference
DIFlagEnumClass
DIFlagFixedEnum
DIFlagThunk
DIFlagTrivial
DIFlagBigEndian
DIFlagLittleEndian
DIFlagIndirectVirtualBase
DIFlagAccessibility
DIFlagPtrToMemberRep
-
LLVMDWARFSourceLanguageC89, LLVMDWARFSourceLanguageC, LLVMDWARFSourceLanguageAda83, LLVMDWARFSourceLanguageC_plus_plus, LLVMDWARFSourceLanguageCobol74, LLVMDWARFSourceLanguageCobol85, LLVMDWARFSourceLanguageFortran77, LLVMDWARFSourceLanguageFortran90, LLVMDWARFSourceLanguagePascal83, LLVMDWARFSourceLanguageModula2, LLVMDWARFSourceLanguageJava, LLVMDWARFSourceLanguageC99, LLVMDWARFSourceLanguageAda95, LLVMDWARFSourceLanguageFortran95, LLVMDWARFSourceLanguagePLI, LLVMDWARFSourceLanguageObjC, LLVMDWARFSourceLanguageObjC_plus_plus, LLVMDWARFSourceLanguageUPC, LLVMDWARFSourceLanguageD, LLVMDWARFSourceLanguagePython, LLVMDWARFSourceLanguageOpenCL, LLVMDWARFSourceLanguageGo, LLVMDWARFSourceLanguageModula3, LLVMDWARFSourceLanguageHaskell, LLVMDWARFSourceLanguageC_plus_plus_03, LLVMDWARFSourceLanguageC_plus_plus_11, LLVMDWARFSourceLanguageOCaml, LLVMDWARFSourceLanguageRust, LLVMDWARFSourceLanguageC11, LLVMDWARFSourceLanguageSwift, LLVMDWARFSourceLanguageJulia, LLVMDWARFSourceLanguageDylan, LLVMDWARFSourceLanguageC_plus_plus_14, LLVMDWARFSourceLanguageFortran03, LLVMDWARFSourceLanguageFortran08, LLVMDWARFSourceLanguageRenderScript, LLVMDWARFSourceLanguageBLISS, LLVMDWARFSourceLanguageMips_Assembler, LLVMDWARFSourceLanguageGOOGLE_RenderScript, LLVMDWARFSourceLanguageBORLAND_Delphi
Source languages known by DWARF.(
LLVMDWARFSourceLanguage
)Enum values:
DWARFSourceLanguageC89
DWARFSourceLanguageC
DWARFSourceLanguageAda83
DWARFSourceLanguageC_plus_plus
DWARFSourceLanguageCobol74
DWARFSourceLanguageCobol85
DWARFSourceLanguageFortran77
DWARFSourceLanguageFortran90
DWARFSourceLanguagePascal83
DWARFSourceLanguageModula2
DWARFSourceLanguageJava
- New in DWARF v3:DWARFSourceLanguageC99
- New in DWARF v3:DWARFSourceLanguageAda95
- New in DWARF v3:DWARFSourceLanguageFortran95
- New in DWARF v3:DWARFSourceLanguagePLI
- New in DWARF v3:DWARFSourceLanguageObjC
- New in DWARF v3:DWARFSourceLanguageObjC_plus_plus
- New in DWARF v3:DWARFSourceLanguageUPC
- New in DWARF v3:DWARFSourceLanguageD
- New in DWARF v3:DWARFSourceLanguagePython
- New in DWARF v4:DWARFSourceLanguageOpenCL
- New in DWARF v5:DWARFSourceLanguageGo
- New in DWARF v5:DWARFSourceLanguageModula3
- New in DWARF v5:DWARFSourceLanguageHaskell
- New in DWARF v5:DWARFSourceLanguageC_plus_plus_03
- New in DWARF v5:DWARFSourceLanguageC_plus_plus_11
- New in DWARF v5:DWARFSourceLanguageOCaml
- New in DWARF v5:DWARFSourceLanguageRust
- New in DWARF v5:DWARFSourceLanguageC11
- New in DWARF v5:DWARFSourceLanguageSwift
- New in DWARF v5:DWARFSourceLanguageJulia
- New in DWARF v5:DWARFSourceLanguageDylan
- New in DWARF v5:DWARFSourceLanguageC_plus_plus_14
- New in DWARF v5:DWARFSourceLanguageFortran03
- New in DWARF v5:DWARFSourceLanguageFortran08
- New in DWARF v5:DWARFSourceLanguageRenderScript
- New in DWARF v5:DWARFSourceLanguageBLISS
- New in DWARF v5:DWARFSourceLanguageMips_Assembler
- Vendor extensions:DWARFSourceLanguageGOOGLE_RenderScript
- Vendor extensions:DWARFSourceLanguageBORLAND_Delphi
- Vendor extensions:
-
LLVMDWARFEmissionNone, LLVMDWARFEmissionFull, LLVMDWARFEmissionLineTablesOnly
The amount of debug information to emit.(
LLVMDWARFEmissionKind
)Enum values:
-
LLVMMDStringMetadataKind, LLVMConstantAsMetadataMetadataKind, LLVMLocalAsMetadataMetadataKind, LLVMDistinctMDOperandPlaceholderMetadataKind, LLVMMDTupleMetadataKind, LLVMDILocationMetadataKind, LLVMDIExpressionMetadataKind, LLVMDIGlobalVariableExpressionMetadataKind, LLVMGenericDINodeMetadataKind, LLVMDISubrangeMetadataKind, LLVMDIEnumeratorMetadataKind, LLVMDIBasicTypeMetadataKind, LLVMDIDerivedTypeMetadataKind, LLVMDICompositeTypeMetadataKind, LLVMDISubroutineTypeMetadataKind, LLVMDIFileMetadataKind, LLVMDICompileUnitMetadataKind, LLVMDISubprogramMetadataKind, LLVMDILexicalBlockMetadataKind, LLVMDILexicalBlockFileMetadataKind, LLVMDINamespaceMetadataKind, LLVMDIModuleMetadataKind, LLVMDITemplateTypeParameterMetadataKind, LLVMDITemplateValueParameterMetadataKind, LLVMDIGlobalVariableMetadataKind, LLVMDILocalVariableMetadataKind, LLVMDILabelMetadataKind, LLVMDIObjCPropertyMetadataKind, LLVMDIImportedEntityMetadataKind, LLVMDIMacroMetadataKind, LLVMDIMacroFileMetadataKind
The kind of metadata nodes.Enum values:
MDStringMetadataKind
ConstantAsMetadataMetadataKind
LocalAsMetadataMetadataKind
DistinctMDOperandPlaceholderMetadataKind
MDTupleMetadataKind
DILocationMetadataKind
DIExpressionMetadataKind
DIGlobalVariableExpressionMetadataKind
GenericDINodeMetadataKind
DISubrangeMetadataKind
DIEnumeratorMetadataKind
DIBasicTypeMetadataKind
DIDerivedTypeMetadataKind
DICompositeTypeMetadataKind
DISubroutineTypeMetadataKind
DIFileMetadataKind
DICompileUnitMetadataKind
DISubprogramMetadataKind
DILexicalBlockMetadataKind
DILexicalBlockFileMetadataKind
DINamespaceMetadataKind
DIModuleMetadataKind
DITemplateTypeParameterMetadataKind
DITemplateValueParameterMetadataKind
DIGlobalVariableMetadataKind
DILocalVariableMetadataKind
DILabelMetadataKind
DIObjCPropertyMetadataKind
DIImportedEntityMetadataKind
DIMacroMetadataKind
DIMacroFileMetadataKind
-
-
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 providedModule
.
-
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 toLLVMDIBuilderFinalize
.
-
LLVMDisposeDIBuilder
public static void LLVMDisposeDIBuilder(long Builder)
Deallocates theDIBuilder
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 toProducer
FlagsLen
- the length of the C string passed toFlags
SplitNameLen
- the length of the C string passed toSplitName
-
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)
ACompileUnit
provides an anchor for all debugging information generated during this instance of compilation.- Parameters:
Lang
- source programming language, eg.LLVMDWARFSourceLanguageC99
FileRef
- file infoProducer
- 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 notFlags
- 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-CSplitName
- the name of the file that we'll split debug info out intoKind
- the kind of debug information to generateDWOId
- the DWOId if this is a split skeleton compile unitSplitDebugInlining
- whether to emit inline debug infoDebugInfoForProfiling
- 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 toFilename
DirectoryLen
- the length of the C string passed toDirectory
-
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
- theDIBuilder
Filename
- file nameDirectory
- 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 toName
ConfigMacrosLen
- the length of the C string passed toConfigMacros
IncludePathLen
- the length of the C string passed toIncludePath
ISysRootLen
- the length of the C string passed toISysRoot
-
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
- theDIBuilder
ParentScope
- the parent scope containing this module declarationName
- module nameConfigMacros
- a space-separated shell-quoted list of-D
macro definitions as they would appear on a command lineIncludePath
- the path to the module map fileISysRoot
- 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 toName
-
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
- theDIBuilder
ParentScope
- the parent scope containing this module declarationName
- nameSpace nameExportSymbols
- 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 nameLinkageNameLen
- 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
- theDIBuilder
Scope
- function scopeName
- function nameLinkageName
- mangled function nameFile
- file where this variable is definedLineNo
- line numberTy
- function typeIsLocalToUnit
- true if this function is not externally visibleIsDefinition
- true if this is a function definitionScopeLine
- set to the beginning of the scope this startsFlags
- 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
- theDIBuilder
Scope
- parent lexical blockFile
- source fileLine
- the line in the source fileColumn
- 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
- theDIBuilder
Scope
- lexical blockFile
- source fileDiscriminator
- 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
- theDIBuilder
Scope
- the scope this module is imported intoFile
- file where the declaration is locatedLine
- 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
- theDIBuilder
Scope
- the scope this module is imported intoImportedEntity
- previous imported entity to aliasFile
- file where the declaration is locatedLine
- 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
- theDIBuilder
Scope
- the scope this module is imported intoM
- the module being imported hereFile
- file where the declaration is locatedLine
- line number of the declaration
-
nLLVMDIBuilderCreateImportedDeclaration
public static long nLLVMDIBuilderCreateImportedDeclaration(long Builder, long Scope, long Decl, long File, int Line, long Name, long NameLen)
Unsafe version of:DIBuilderCreateImportedDeclaration
- Parameters:
NameLen
- the length of the C string passed toName
-
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 DIBuilderScope
- the scope this module is imported intoDecl
- the declaration (or definition) of a function, type, or variableFile
- file where the declaration is locatedLine
- line number of the declarationName
- 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 fileColumn
- the column in the source fileScope
- the scope in which the location residesInlinedAt
- 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)
Unsafe version of:DIBuilderGetOrCreateTypeArray
- Parameters:
NumElements
- number of type elements
-
LLVMDIBuilderGetOrCreateTypeArray
public static long LLVMDIBuilderGetOrCreateTypeArray(long Builder, org.lwjgl.PointerBuffer Data)
Create a type array.- Parameters:
Builder
- the DIBuilderData
- the type elements
-
nLLVMDIBuilderCreateSubroutineType
public static long nLLVMDIBuilderCreateSubroutineType(long Builder, long File, long ParameterTypes, int NumParameterTypes, int Flags)
Unsafe version of:DIBuilderCreateSubroutineType
- Parameters:
NumParameterTypes
- the number of parameter types inParameterTypes
-
LLVMDIBuilderCreateSubroutineType
public static long LLVMDIBuilderCreateSubroutineType(long Builder, long File, org.lwjgl.PointerBuffer ParameterTypes, int Flags)
Create subroutine type.- Parameters:
Builder
- the DIBuilderFile
- the file in which the subroutine residesParameterTypes
- 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)
Unsafe version of:DIBuilderCreateEnumerationType
- Parameters:
NameLen
- length of enumeration nameNumElements
- 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, org.lwjgl.PointerBuffer Elements, long ClassTy) public static long LLVMDIBuilderCreateEnumerationType(long Builder, long Scope, java.lang.CharSequence Name, long File, int LineNumber, long SizeInBits, int AlignInBits, org.lwjgl.PointerBuffer Elements, long ClassTy)
Create debugging information entry for an enumeration.- Parameters:
Builder
- the DIBuilderScope
- scope in which this enumeration is definedName
- enumeration nameFile
- file where this member is definedLineNumber
- line numberSizeInBits
- member sizeAlignInBits
- member alignmentElements
- enumeration elementsClassTy
- 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 nameNumElements
- number of union elementsUniqueIdLen
- 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, org.lwjgl.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, org.lwjgl.PointerBuffer Elements, int RunTimeLang, java.lang.CharSequence UniqueId)
Create debugging information entry for a union.- Parameters:
Builder
- the DIBuilderScope
- scope in which this union is definedName
- union nameFile
- file where this member is definedLineNumber
- line numberSizeInBits
- member sizeAlignInBits
- member alignmentFlags
- flags to encode member attribute, e.g. privateElements
- union elementsRunTimeLang
- optional parameter, Objective-C runtime versionUniqueId
- 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, org.lwjgl.PointerBuffer Subscripts)
Create debugging information entry for an array.- Parameters:
Builder
- the DIBuilderSize
- array sizeAlignInBits
- alignmentTy
- element typeSubscripts
- 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, org.lwjgl.PointerBuffer Subscripts)
Create debugging information entry for a vector type.- Parameters:
Builder
- the DIBuilderSize
- vector sizeAlignInBits
- alignmentTy
- element typeSubscripts
- subscripts
-
nLLVMDIBuilderCreateUnspecifiedType
public static long nLLVMDIBuilderCreateUnspecifiedType(long Builder, long Name, long NameLen)
Unsafe version of:DIBuilderCreateUnspecifiedType
- 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 DIBuilderName
- 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 DIBuilderName
- type nameSizeInBits
- size of the typeEncoding
- 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 DIBuilderPointeeTy
- type pointed by this pointerSizeInBits
- sizeAlignInBits
- 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 lengthNumElements
- number of struct elementsUniqueIdLen
- 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, org.lwjgl.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, org.lwjgl.PointerBuffer Elements, int RunTimeLang, long VTableHolder, java.lang.CharSequence UniqueId)
Create debugging information entry for a struct.- Parameters:
Builder
- the DIBuilderScope
- scope in which this struct is definedName
- struct nameFile
- file where this member is definedLineNumber
- line numberSizeInBits
- member sizeAlignInBits
- member alignmentFlags
- flags to encode member attribute, e.g. privateElements
- struct elementsRunTimeLang
- optional parameter, Objective-C runtime versionVTableHolder
- the object containing the vtable for the structUniqueId
- 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 DIBuilderScope
- member scopeName
- member nameFile
- file where this member is definedLineNo
- line numberSizeInBits
- member sizeAlignInBits
- member alignmentOffsetInBits
- member offsetFlags
- flags to encode member attribute, e.g. privateTy
- 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)
Unsafe version of:DIBuilderCreateStaticMemberType
- 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 DIBuilderScope
- member scopeName
- member nameFile
- file where this member is declaredLineNumber
- line numberType
- type of the static memberFlags
- flags to encode member attribute, e.g. private.ConstantVal
- const initializer of the memberAlignInBits
- 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 DIBuilderPointeeType
- type pointed to by this pointerClassType
- type for which this pointer points to members ofSizeInBits
- sizeAlignInBits
- alignmentFlags
- 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 toName
-
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 DIBuilderName
- member nameFile
- file where this member is definedLineNo
- line numberSizeInBits
- member sizeAlignInBits
- member alignmentOffsetInBits
- member offsetFlags
- flags to encode member attribute, e.g. privateTy
- parent typePropertyNode
- 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 toName
GetterNameLen
- the length of the C string passed toGetterName
SetterNameLen
- the length of the C string passed toSetterName
-
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 DIBuilderName
- property nameFile
- file where this property is definedLineNo
- line numberGetterName
- name of the Objective C property getter selectorSetterName
- name of the Objective C property setter selectorPropertyAttributes
- objective C property attributesTy
- type
-
LLVMDIBuilderCreateObjectPointerType
public static long LLVMDIBuilderCreateObjectPointerType(long Builder, long Type)
Create a uniqued DIType* clone with FlagObjectPointer and FlagArtificial set.- Parameters:
Builder
- the DIBuilderType
- 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 DIBuilderTag
- 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 orrvalue
reference type.- Parameters:
Builder
- the DIBuilderTag
- tag identifying type,Type
- base Type
-
LLVMDIBuilderCreateNullPtrType
public static long LLVMDIBuilderCreateNullPtrType(long Builder)
Create C++11nullptr
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 DIBuilderType
- original typeName
- typedef nameFile
- file where this type is definedLineNo
- line numberScope
- 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 DIBuilderTy
- original typeBaseTy
- base type. Ty is inherits from base.BaseOffset
- base offsetVBPtrOffset
- virtual base pointer offsetFlags
- 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 nameUniqueIdentifierLen
- 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 DIBuilderTag
- a unique tag for this typeName
- type nameScope
- type scopeFile
- file where this type is definedLine
- line number where this type is definedRuntimeLang
- indicates runtime version for languages like Objective-CSizeInBits
- member sizeAlignInBits
- member alignmentUniqueIdentifier
- 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)
Unsafe version of:DIBuilderCreateReplaceableCompositeType
- Parameters:
NameLen
- length of type nameUniqueIdentifierLen
- 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 DIBuilderTag
- a unique tag for this typeName
- type nameScope
- type scopeFile
- file where this type is definedLine
- line number where this type is definedRuntimeLang
- indicates runtime version for languages like Objective-CSizeInBits
- member sizeAlignInBits
- member alignmentFlags
- flagsUniqueIdentifier
- 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)
Unsafe version of:DIBuilderCreateBitFieldMemberType
- 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 DIBuilderScope
- member scopeName
- member nameFile
- file where this member is definedLineNumber
- line numberSizeInBits
- member sizeOffsetInBits
- member offsetStorageOffsetInBits
- member storage offsetFlags
- flags to encode member attributeType
- 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 toName
NumElements
- number of class elementsUniqueIdentifierLen
- 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, org.lwjgl.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, org.lwjgl.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 definedName
- class nameFile
- file where this member is definedLineNumber
- line numberSizeInBits
- member sizeAlignInBits
- member alignmentOffsetInBits
- member offsetFlags
- flags to encode member attribute, e.g. private.DerivedFrom
- debug info of the base class of this typeElements
- class membersVTableHolder
- 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 parametersUniqueIdentifier
- a unique identifier for the type
-
LLVMDIBuilderCreateArtificialType
public static long LLVMDIBuilderCreateArtificialType(long Builder, long Type)
Create a uniquedDIType*
clone withFlagArtificial
set.- Parameters:
Builder
- the DIBuilderType
- 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 thisDIType
.- Parameters:
DType
- the DIType
-
LLVMDITypeGetSizeInBits
public static long LLVMDITypeGetSizeInBits(long DType)
Get the size of thisDIType
in bits.- Parameters:
DType
- the DIType
-
LLVMDITypeGetOffsetInBits
public static long LLVMDITypeGetOffsetInBits(long DType)
Get the offset of thisDIType
in bits.- Parameters:
DType
- the DIType
-
LLVMDITypeGetAlignInBits
public static int LLVMDITypeGetAlignInBits(long DType)
Get the alignment of thisDIType
in bits.- Parameters:
DType
- the DIType
-
LLVMDITypeGetLine
public static int LLVMDITypeGetLine(long DType)
Get the source line where thisDIType
is declared.- Parameters:
DType
- the DIType
-
LLVMDITypeGetFlags
public static int LLVMDITypeGetFlags(long DType)
Get the flags associated with thisDIType
.- 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 DIBuilderLowerBound
- 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, org.lwjgl.PointerBuffer Data)
Create an array ofDI
Nodes.- Parameters:
Builder
- the DIBuilderData
- 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 DIBuilderAddr
- 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 DIBuilderValue
- 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)
Unsafe version of:DIBuilderCreateGlobalVariableExpression
- Parameters:
NameLen
- the length of the C string passed toName
LinkLen
- the length of the C string passed toLinkage
-
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 scopeName
- name of the variableLinkage
- mangled name of the variableFile
- file where this variable is definedLineNo
- line numberTy
- variable TypeLocalToUnit
- boolean flag indicate whether this variable is externally visible or notExpr
- the location of the global relative to the attached GlobalVariableDecl
- 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, org.lwjgl.PointerBuffer Data)
Create a new temporaryMDNode
. Suitable for use in constructing cyclicMDNode
structures. A temporaryMDNode
is not uniqued, may be RAUW'd, and must be manually deleted withLLVMDisposeTemporaryMDNode
.- Parameters:
Ctx
- the context in which to construct the temporary nodeData
- 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 nodeReplacement
- 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)
Unsafe version of:DIBuilderCreateTempGlobalVariableFwdDecl
- Parameters:
NameLen
- the length of the C string passed toName
LnkLen
- the length of the C string passed toLinkage
-
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 scopeName
- name of the variableLinkage
- mangled name of the variableFile
- file where this variable is definedLineNo
- line numberTy
- variable TypeLocalToUnit
- boolean flag indicate whether this variable is externally visible or notDecl
- reference to the corresponding declarationAlignInBits
- 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 newllvm.dbg.declare
intrinsic call before the given instruction.- Parameters:
Builder
- theDIBuilder
Storage
- the storage of the variable to declareVarInfo
- the variable's debug info descriptorExpr
- a complex location expression for the variableDebugLoc
- debug info locationInstr
- 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 newllvm.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
- theDIBuilder
Storage
- the storage of the variable to declareVarInfo
- the variable's debug info descriptorExpr
- a complex location expression for the variableDebugLoc
- debug info locationBlock
- 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 newllvm.dbg.value
intrinsic call before the given instruction.- Parameters:
Builder
- theDIBuilder
Val
- the value of the variableVarInfo
- the variable's debug info descriptorExpr
- a complex location expression for the variableDebugLoc
- debug info locationInstr
- 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 newllvm.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
- theDIBuilder
Val
- the value of the variableVarInfo
- the variable's debug info descriptorExpr
- a complex location expression for the variableDebugLoc
- debug info locationBlock
- 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
- theDIBuilder
Scope
- the local scope the variable is declared inName
- variable nameFile
- file where this variable is definedLineNo
- line numberTy
- metadata describing the type of the variableAlwaysPreserve
- if true, this descriptor will survive optimizationsFlags
- flagsAlignInBits
- 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)
Unsafe version of:DIBuilderCreateParameterVariable
- 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
- theDIBuilder
Scope
- the local scope the variable is declared inName
- variable nameArgNo
- unique argument number for this variable; starts at 1File
- file where this variable is definedLineNo
- line numberTy
- metadata describing the type of the variableAlwaysPreserve
- if true, this descriptor will survive optimizationsFlags
- 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.
-
-