Top Description Interfaces Classes
module lwjgl.llvm

Package org.lwjgl.llvm

Annotations
@NonnullDefault

Contains bindings to LLVM, a collection of modular and reusable compiler and toolchain technologies.

UNSTABLE API

Until these bindings are sufficiently tested, this API should be considered unstable.

BINDINGS ONLY

LWJGL does not currently include pre-built LLVM/Clang binaries. The user must download or build LLVM separately and use Configuration to point LWJGL to the appropriate binaries.

Interface Summary

Modifier and TypeInterface and Description
public interface
CXCursorAndRangeVisitI

Instances of this interface may be set to the visit field of the CXCursorAndRangeVisitor struct.

public interface
CXCursorVisitorI

Instances of this interface may be passed to the visitChildren method.

public interface
CXExecuteOnThreadI

Instances of this interface may be passed to the executeOnThread method.

public interface
CXFieldVisitorI

Instances of this interface may be passed to the Type_visitFields method.

public interface
CXInclusionVisitorI

Instances of this interface may be passed to the getInclusions method.

public interface
IndexerAbortQueryI

Instances of this interface may be set to the abortQuery field of the IndexerCallbacks struct.

public interface
IndexerDiagnosticI

Instances of this interface may be set to the diagnostic field of the IndexerCallbacks struct.

public interface
IndexerEnteredMainFileI

Instances of this interface may be set to the enteredMainFile field of the IndexerCallbacks struct.

public interface
IndexerImportedASTFileI

Instances of this interface may be set to the importedASTFile field of the IndexerCallbacks struct.

public interface
IndexerIncludedFileI

Instances of this interface may be set to the ppIncludedFile field of the IndexerCallbacks struct.

public interface
IndexerIndexDeclarationI

Instances of this interface may be set to the indexDeclaration field of the IndexerCallbacks struct.

public interface
IndexerIndexEntityReferenceI

Instances of this interface may be set to the indexEntityReference field of the IndexerCallbacks struct.

public interface
IndexerStartedTranslationUnitI

Instances of this interface may be set to the startedTranslationUnit field of the IndexerCallbacks struct.

public interface
LLVMDiagnosticHandlerI

Instances of this interface may be passed to the ContextSetDiagnosticHandler method.

public interface
LLVMFatalErrorHandlerI

Instances of this interface may be passed to the InstallFatalErrorHandler method.

public interface
LLVMMemoryManagerAllocateCodeSectionCallbackI

Instances of this interface may be passed to the CreateSimpleMCJITMemoryManager method.

public interface
LLVMMemoryManagerAllocateDataSectionCallbackI

Instances of this interface may be passed to the CreateSimpleMCJITMemoryManager method.

public interface
public interface
LLVMMemoryManagerDestroyCallbackI

Instances of this interface may be passed to the CreateSimpleMCJITMemoryManager method.

public interface
LLVMMemoryManagerFinalizeMemoryCallbackI

Instances of this interface may be passed to the CreateSimpleMCJITMemoryManager method.

public interface
public interface
LLVMMustPreserveI

Instances of this interface may be passed to the AddInternalizePassWithMustPreservePredicate method.

public interface
LLVMOpInfoCallbackI

Instances of this interface may be passed to the CreateDisasm, CreateDisasmCPU and CreateDisasmCPUFeatures methods.

public interface
public interface
public interface
LLVMOrcErrorReporterFunctionI

Instances of this interface may be passed to the OrcExecutionSessionSetErrorReporter method.

public interface
LLVMOrcExecutionSessionLookupHandleResultFunctionI

Instances of this interface may be passed to the OrcExecutionSessionLookup method.

public interface
LLVMOrcGenericIRModuleOperationFunctionI

Instances of this interface may be passed to the OrcThreadSafeModuleWithModuleDo method.

public interface
LLVMOrcIRTransformLayerTransformFunctionI

Instances of this interface may be passed to the OrcIRTransformLayerSetTransform method.

public interface
public interface
LLVMOrcMaterializationUnitDestroyFunctionI

Instances of this interface may be passed to the OrcCreateCustomMaterializationUnit method.

public interface
LLVMOrcMaterializationUnitDiscardFunctionI

Instances of this interface may be passed to the OrcCreateCustomMaterializationUnit method.

public interface
LLVMOrcMaterializationUnitMaterializeFunctionI

Instances of this interface may be passed to the OrcCreateCustomMaterializationUnit method.

public interface
LLVMOrcObjectTransformLayerTransformFunctionI

Instances of this interface may be passed to the OrcObjectTransformLayerSetTransform method.

public interface
LLVMOrcSymbolPredicateI

Instances of this interface may be passed to the OrcCreateDynamicLibrarySearchGeneratorForProcess method.

public interface
LLVMSymbolLookupCallbackI

Instances of this interface may be passed to the CreateDisasm, CreateDisasmCPU and CreateDisasmCPUFeatures methods.

public interface
LLVMYieldCallbackI

Instances of this interface may be passed to the ContextSetYieldCallback method.

public interface
LTODiagnosticHandlerI

Instances of this interface may be passed to the codegen_set_diagnostic_handler method.

Class Summary

Modifier and TypeClass and Description
public class
public class
public class
public class
ClangFatalErrorHandler

Requires Clang 10 or higher.

public class
public class
ClangRewrite

Requires Clang 12 or higher.

public class
CXCodeCompleteResults

Contains the results of code-completion.

public class
CXComment

A parsed comment.

public class
CXCompletionResult

A single result of code completion.

public class
CXCursor

A cursor representing some element in the abstract syntax tree for a translation unit.

public abstract class
CXCursorAndRangeVisit

Instances of this class may be set to the visit field of the CXCursorAndRangeVisitor struct.

public class
CXCursorAndRangeVisitor

Layout


struct CXCursorAndRangeVisitor {
    void * context;
    enum CXVisitorResult (*visit) (void *context, CXCursor cursor, CXSourceRange range);
}
public abstract class
CXCursorVisitor

Instances of this class may be passed to the visitChildren method.

public abstract class
CXExecuteOnThread

Instances of this class may be passed to the executeOnThread method.

public abstract class
CXFieldVisitor

Instances of this class may be passed to the Type_visitFields method.

public class
CXFileUniqueID

Uniquely identifies a CXFile, that refers to the same underlying file, across an indexing session.

public class
CXIdxAttrInfo

Layout


struct CXIdxAttrInfo {
    CXIdxAttrKind kind;
    CXCursor cursor;
    CXIdxLoc loc;
}
public class
CXIdxBaseClassInfo

Layout


struct CXIdxBaseClassInfo {
    CXIdxEntityInfo const * base;
    CXCursor cursor;
    CXIdxLoc loc;
}
public class
CXIdxContainerInfo

Layout


struct CXIdxContainerInfo {
    CXCursor cursor;
}
public class
CXIdxCXXClassDeclInfo

Layout


struct CXIdxCXXClassDeclInfo {
    CXIdxDeclInfo const * declInfo;
    CXIdxBaseClassInfo const * const * bases;
    unsigned numBases;
}
public class
CXIdxDeclInfo

Layout


struct CXIdxDeclInfo {
    CXIdxEntityInfo const * entityInfo;
    CXCursor cursor;
    CXIdxLoc loc;
    CXIdxContainerInfo const * semanticContainer;
    CXIdxContainerInfo const * lexicalContainer;
    int isRedeclaration;
    int isDefinition;
    int isContainer;
    CXIdxContainerInfo const * declAsContainer;
    int isImplicit;
    CXIdxAttrInfo const * const * attributes;
    unsigned numAttributes;
    unsigned flags;
}
public class
CXIdxEntityInfo

Layout


struct CXIdxEntityInfo {
    CXIdxEntityKind kind;
    CXIdxEntityCXXTemplateKind templateKind;
    CXIdxEntityLanguage lang;
    char const * name;
    char const * USR;
    CXCursor cursor;
    CXIdxAttrInfo const * const * attributes;
    unsigned numAttributes;
}
public class
public class
CXIdxIBOutletCollectionAttrInfo

Layout


struct CXIdxIBOutletCollectionAttrInfo {
    CXIdxAttrInfo const * attrInfo;
    CXIdxEntityInfo const * objcClass;
    CXCursor classCursor;
    CXIdxLoc classLoc;
}
public class
CXIdxImportedASTFileInfo

Data for IndexerCallbacks#importedASTFile.

public class
CXIdxIncludedFileInfo

Data for ppIncludedFile callback.

public class
CXIdxLoc

Source location passed to index callbacks.

public class
CXIdxObjCCategoryDeclInfo

Layout


struct CXIdxObjCCategoryDeclInfo {
    CXIdxObjCContainerDeclInfo const * containerInfo;
    CXIdxEntityInfo const * objcClass;
    CXCursor classCursor;
    CXIdxLoc classLoc;
    CXIdxObjCProtocolRefListInfo const * protocols;
}
public class
CXIdxObjCContainerDeclInfo

Layout


struct CXIdxObjCContainerDeclInfo {
    CXIdxDeclInfo const * declInfo;
    CXIdxObjCContainerKind kind;
}
public class
CXIdxObjCInterfaceDeclInfo

Layout


struct CXIdxObjCInterfaceDeclInfo {
    CXIdxObjCContainerDeclInfo const * containerInfo;
    CXIdxBaseClassInfo const * superInfo;
    CXIdxObjCProtocolRefListInfo const * protocols;
}
public class
CXIdxObjCPropertyDeclInfo

Layout


struct CXIdxObjCPropertyDeclInfo {
    CXIdxDeclInfo const * declInfo;
    CXIdxEntityInfo const * getter;
    CXIdxEntityInfo const * setter;
}
public class
CXIdxObjCProtocolRefInfo

Layout


struct CXIdxObjCProtocolRefInfo {
    CXIdxEntityInfo const * protocol;
    CXCursor cursor;
    CXIdxLoc loc;
}
public class
CXIdxObjCProtocolRefListInfo

Layout


struct CXIdxObjCProtocolRefListInfo {
    CXIdxObjCProtocolRefInfo const * const * protocols;
    unsigned numProtocols;
}
public abstract class
CXInclusionVisitor

Instances of this class may be passed to the getInclusions method.

public class
CXPlatformAvailability

Describes the availability of a given entity on a particular platform, e.g., a particular class might only be available on Mac OS 10.7 or newer.

public class
CXSourceLocation

Identifies a specific source location within a translation unit.

public class
CXSourceRange

Identifies a half-open character range in the source code.

public class
CXSourceRangeList

Identifies an array of ranges.

public class
CXString

A character string.

public class
CXStringSet

Layout


struct CXStringSet {
    CXString * Strings;
    unsigned Count;
}
public class
CXToken

Describes a single preprocessing token.

public class
CXTUResourceUsage

The memory usage of a CXTranslationUnit, broken into categories.

public class
CXTUResourceUsageEntry

Layout


struct CXTUResourceUsageEntry {
    enum CXTUResourceUsageKind kind;
    unsigned long amount;
}
public class
CXType

The type of an element in the abstract syntax tree.

public class
CXUnsavedFile

Provides the contents of a file that has not yet been saved to disk.

public class
CXVersion

Describes a version number of the form major.minor.subminor.

public abstract class
IndexerAbortQuery

Instances of this class may be set to the abortQuery field of the IndexerCallbacks struct.

public class
IndexerCallbacks

A group of callbacks used by indexSourceFile and indexTranslationUnit.

public abstract class
IndexerDiagnostic

Instances of this class may be set to the diagnostic field of the IndexerCallbacks struct.

public abstract class
IndexerEnteredMainFile

Instances of this class may be set to the enteredMainFile field of the IndexerCallbacks struct.

public abstract class
IndexerImportedASTFile

Instances of this class may be set to the importedASTFile field of the IndexerCallbacks struct.

public abstract class
IndexerIncludedFile

Instances of this class may be set to the ppIncludedFile field of the IndexerCallbacks struct.

public abstract class
IndexerIndexDeclaration

Instances of this class may be set to the indexDeclaration field of the IndexerCallbacks struct.

public abstract class
IndexerIndexEntityReference

Instances of this class may be set to the indexEntityReference field of the IndexerCallbacks struct.

public abstract class
IndexerStartedTranslationUnit

Instances of this class may be set to the startedTranslationUnit field of the IndexerCallbacks struct.

pack-priv class
LibLLVM

Initializes the llvm shared library.

public class
public class
public class
public class
public class
public class
public abstract class
LLVMDiagnosticHandler

Instances of this class may be passed to the ContextSetDiagnosticHandler method.

public class
public class
public class
public class
public abstract class
LLVMFatalErrorHandler

Instances of this class may be passed to the InstallFatalErrorHandler method.

public class
public class
public class
LLVMJITEvaluatedSymbol

Represents an evaluated symbol address and flags.

public class
LLVMJITSymbolFlags

Represents the linkage flags for a symbol definition.

public class
public class
LLVMLLJIT

Requires LLVM 11.0 or higher.

public class
public class
LLVMMCJITCompilerOptions

Layout


struct LLVMMCJITCompilerOptions {
    unsigned int OptLevel;
    LLVMCodeModel CodeModel;
    LLVMBool NoFramePointerElim;
    LLVMBool EnableFastISel;
    LLVMMCJITMemoryManagerRef MCJMM;
}
public abstract class
LLVMMemoryManagerAllocateCodeSectionCallback

Instances of this class may be passed to the CreateSimpleMCJITMemoryManager method.

public abstract class
LLVMMemoryManagerAllocateDataSectionCallback

Instances of this class may be passed to the CreateSimpleMCJITMemoryManager method.

public abstract class
public abstract class
LLVMMemoryManagerDestroyCallback

Instances of this class may be passed to the CreateSimpleMCJITMemoryManager method.

public abstract class
LLVMMemoryManagerFinalizeMemoryCallback

Instances of this class may be passed to the CreateSimpleMCJITMemoryManager method.

public abstract class
public abstract class
LLVMMustPreserve

Instances of this class may be passed to the AddInternalizePassWithMustPreservePredicate method.

public class
public class
LLVMOpInfo1

Layout


struct LLVMOpInfo1 {
    struct LLVMOpInfoSymbol1 AddSymbol;
    struct LLVMOpInfoSymbol1 SubtractSymbol;
    uint64_t Value;
    uint64_t VariantKind;
}
public abstract class
LLVMOpInfoCallback

Instances of this class may be passed to the CreateDisasm, CreateDisasmCPU and CreateDisasmCPUFeatures methods.

public class
LLVMOpInfoSymbol1

The initial support in LLVM MC for the most general form of a relocatable expression is "AddSymbol - SubtractSymbol + Offset".

public class
LLVMOrc

Requires LLVM 12 or higher.

public abstract class
public class
LLVMOrcCDependenceMapPair

Represents a pair of a JITDylib and LLVMOrcCSymbolsList.

public class
LLVMOrcCJITDylibSearchOrderElement

An element type for a JITDylib search order.

public class
LLVMOrcCLookupSetElement

An element type for a symbol lookup set.

public class
LLVMOrcCSymbolAliasMapEntry

Represents a SymbolAliasMapEntry Layout


struct LLVMOrcCSymbolAliasMapEntry {
    LLVMOrcSymbolStringPoolEntryRef Name;
    LLVMJITSymbolFlags Flags;
}
public class
LLVMOrcCSymbolAliasMapPair

Represents a pair of a symbol name and SymbolAliasMapEntry.

public class
LLVMOrcCSymbolFlagsMapPair

Represents a pair of a symbol name and LLVMJITSymbolFlags.

public class
LLVMOrcCSymbolMapPair

Represents a pair of a symbol name and an evaluated symbol.

public class
LLVMOrcCSymbolsList

Represents a list of LLVMOrcSymbolStringPoolEntryRef and the associated length.

public abstract class
public class
LLVMOrcEE

Requires LLVM 12 or higher.

public abstract class
LLVMOrcErrorReporterFunction

Instances of this class may be passed to the OrcExecutionSessionSetErrorReporter method.

public abstract class
LLVMOrcExecutionSessionLookupHandleResultFunction

Instances of this class may be passed to the OrcExecutionSessionLookup method.

public abstract class
LLVMOrcGenericIRModuleOperationFunction

Instances of this class may be passed to the OrcThreadSafeModuleWithModuleDo method.

public abstract class
LLVMOrcIRTransformLayerTransformFunction

Instances of this class may be passed to the OrcIRTransformLayerSetTransform method.

public abstract class
public abstract class
LLVMOrcMaterializationUnitDestroyFunction

Instances of this class may be passed to the OrcCreateCustomMaterializationUnit method.

public abstract class
LLVMOrcMaterializationUnitDiscardFunction

Instances of this class may be passed to the OrcCreateCustomMaterializationUnit method.

public abstract class
LLVMOrcMaterializationUnitMaterializeFunction

Instances of this class may be passed to the OrcCreateCustomMaterializationUnit method.

public abstract class
LLVMOrcObjectTransformLayerTransformFunction

Instances of this class may be passed to the OrcObjectTransformLayerSetTransform method.

public abstract class
LLVMOrcSymbolPredicate

Instances of this class may be passed to the OrcCreateDynamicLibrarySearchGeneratorForProcess method.

public class
LLVMRemarks

Requires LLVM 9 or higher.

public class
public abstract class
LLVMSymbolLookupCallback

Instances of this class may be passed to the CreateDisasm, CreateDisasmCPU and CreateDisasmCPUFeatures methods.

public class
public class
public class
public class
public abstract class
LLVMYieldCallback

Instances of this class may be passed to the ContextSetYieldCallback method.

public abstract class
LTODiagnosticHandler

Instances of this class may be passed to the codegen_set_diagnostic_handler method.

public class
LTOObjectBuffer

Type to wrap a single object returned by ThinLTO.