Top Description Inners Constructors Methods
org.lwjgl.llvm

public abstract Class LLVMOpInfoCallback

extends Callback
implements LLVMOpInfoCallbackI
Class Inheritance
All Implemented Interfaces
org.lwjgl.llvm.LLVMOpInfoCallbackI, org.lwjgl.system.CallbackI, org.lwjgl.system.Pointer
Known Direct Subclasses
org.lwjgl.llvm.LLVMOpInfoCallback.Container
Imports
javax.annotation.*, org.lwjgl.system.*

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

Type


int (*invoke) (
    void *DisInfo,
    uint64_t PC,
    uint64_t Offset,
    uint64_t OpSize,
    uint64_t InstSize,
    int TagType,
    void *TagBuf
)

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Constructor Summary

AccessConstructor and Description
protected
pack-priv
LLVMOpInfoCallback(long functionPointer)

Method Summary

Modifier and TypeMethod and Description
public static LLVMOpInfoCallback

Returns:

the new LLVMOpInfoCallback
create
(long functionPointer)

Creates a LLVMOpInfoCallback instance from the specified function pointer.

public static LLVMOpInfoCallback
create(LLVMOpInfoCallbackI instance)

Creates a LLVMOpInfoCallback instance that delegates to the specified LLVMOpInfoCallbackI instance.

public static LLVMOpInfoCallback
createSafe(long functionPointer)

Like create, but returns null if functionPointer is NULL.

Inherited from org.lwjgl.system.Callback:
addressequalsfreefreegetgetSafehashCodetoString

Constructor Detail

LLVMOpInfoCallbackback to summary
protected LLVMOpInfoCallback()
LLVMOpInfoCallbackback to summary
pack-priv LLVMOpInfoCallback(long functionPointer)

Method Detail

createback to summary
public static LLVMOpInfoCallback create(long functionPointer)

Creates a LLVMOpInfoCallback instance from the specified function pointer.

Returns:LLVMOpInfoCallback

the new LLVMOpInfoCallback

createback to summary
public static LLVMOpInfoCallback create(LLVMOpInfoCallbackI instance)

Creates a LLVMOpInfoCallback instance that delegates to the specified LLVMOpInfoCallbackI instance.

createSafeback to summary
public static LLVMOpInfoCallback createSafe(long functionPointer)

Like create, but returns null if functionPointer is NULL.

Annotations
@Nullable
org.lwjgl.llvm back to summary

private final Class LLVMOpInfoCallback.Container

extends LLVMOpInfoCallback
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final LLVMOpInfoCallbackI

Constructor Summary

AccessConstructor and Description
pack-priv
Container(long functionPointer, LLVMOpInfoCallbackI delegate)

Method Summary

Modifier and TypeMethod and Description
public int
invoke(long DisInfo, long PC, long Offset, long OpSize, long InstSize, int TagType, long TagBuf)

Implements org.lwjgl.llvm.LLVMOpInfoCallbackI.invoke.

The type for the operand information call back function.
Inherited from org.lwjgl.llvm.LLVMOpInfoCallback:
createcreatecreateSafe

Field Detail

delegateback to summary
private final LLVMOpInfoCallbackI delegate

Constructor Detail

Containerback to summary
pack-priv Container(long functionPointer, LLVMOpInfoCallbackI delegate)

Method Detail

invokeback to summary
public int invoke(long DisInfo, long PC, long Offset, long OpSize, long InstSize, int TagType, long TagBuf)

Implements org.lwjgl.llvm.LLVMOpInfoCallbackI.invoke.

Doc from org.lwjgl.llvm.LLVMOpInfoCallbackI.invoke.

The type for the operand information call back function.

This is called to get the symbolic information for an operand of an instruction. Typically this is from the relocation information, symbol table, etc. That block of information is saved when the disassembler context is created and passed to the call back in the DisInfo parameter. The instruction containing operand is at the PC parameter. For some instruction sets, there can be more than one operand with symbolic information. To determine the symbolic operand information for each operand, the bytes for the specific operand in the instruction are specified by the Offset parameter and its byte width is the OpSize parameter. For instructions sets with fixed widths and one symbolic operand per instruction, the Offset parameter will be zero and InstSize parameter will be the instruction width. The information is returned in TagBuf and is Triple specific with its specific information defined by the value of TagType for that Triple. If symbolic information is returned the function returns 1, otherwise it returns 0.

Annotations
@Override