ILGPU  0.9.0
ILGPU.Backends.IL.IILEmitter Interface Reference

Represents an emitter for MSIL code. More...

Inheritance diagram for ILGPU.Backends.IL.IILEmitter:
ILGPU.Backends.IL.DebugILEmitter ILGPU.Backends.IL.ILEmitter

Public Member Functions

ILLocal DeclareLocal (Type type)
 Declares a local variable. More...
 
ILLabel DeclareLabel ()
 Declares a new label. More...
 
void MarkLabel (ILLabel label)
 Marks the given label by associating the current instruction pointer with the jump label. More...
 
void Emit (LocalOperation operation, ILLocal local)
 Emits a new local-variable operation. More...
 
void Emit (ArgumentOperation operation, int argumentIndex)
 Emits a new argument operation. More...
 
void EmitCall (MethodInfo target)
 Emits a new call to the given method. More...
 
void EmitNewObject (ConstructorInfo info)
 Emits a new object instruction. More...
 
void EmitAlloca (int size)
 Emits a local memory allocation. More...
 
void EmitConstant (string constant)
 Emits a new constant. More...
 
void EmitConstant (int constant)
 Emits a new constant. More...
 
void EmitConstant (long constant)
 Emits a new constant. More...
 
void EmitConstant (float constant)
 Emits a new constant. More...
 
void EmitConstant (double constant)
 Emits a new constant. More...
 
void Emit (OpCode opCode)
 Emits a new operation. More...
 
void Emit (OpCode opCode, ILLabel label)
 Emits a new operation. More...
 
void Emit (OpCode opCode, Type type)
 Emits a new operation. More...
 
void Emit (OpCode opCode, FieldInfo field)
 Emits a new operation. More...
 
void EmitSwitch (ILLabel[] labels)
 Emits a switch instruction. More...
 
void Finish ()
 Finishes the code generation process. More...
 

Detailed Description

Represents an emitter for MSIL code.

Member Function Documentation

ILLabel ILGPU.Backends.IL.IILEmitter.DeclareLabel ( )

Declares a new label.

Returns
The label reference.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

ILLocal ILGPU.Backends.IL.IILEmitter.DeclareLocal ( Type  type)

Declares a local variable.

Parameters
typeThe variable type.
Returns
The variable reference.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.Emit ( LocalOperation  operation,
ILLocal  local 
)

Emits a new local-variable operation.

Parameters
operationThe operation type.
localThe local variable reference.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.Emit ( ArgumentOperation  operation,
int  argumentIndex 
)

Emits a new argument operation.

Parameters
operationThe operation type.
argumentIndexThe argument reference.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.Emit ( OpCode  opCode)

Emits a new operation.

Parameters
opCodeThe operation code.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.Emit ( OpCode  opCode,
ILLabel  label 
)

Emits a new operation.

Parameters
opCodeThe operation code.
labelThe label argument.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.Emit ( OpCode  opCode,
Type  type 
)

Emits a new operation.

Parameters
opCodeThe operation code.
typeThe type argument.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.Emit ( OpCode  opCode,
FieldInfo  field 
)

Emits a new operation.

Parameters
opCodeThe operation code.
fieldThe field argument.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.EmitAlloca ( int  size)

Emits a local memory allocation.

Parameters
sizeThe size in bytes to allocate.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.EmitCall ( MethodInfo  target)

Emits a new call to the given method.

Parameters
targetThe target to call.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.EmitConstant ( string  constant)

Emits a new constant.

Parameters
constantThe constant to emit.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.EmitConstant ( int  constant)

Emits a new constant.

Parameters
constantThe constant to emit.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.EmitConstant ( long  constant)

Emits a new constant.

Parameters
constantThe constant to emit.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.EmitConstant ( float  constant)

Emits a new constant.

Parameters
constantThe constant to emit.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.EmitConstant ( double  constant)

Emits a new constant.

Parameters
constantThe constant to emit.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.EmitNewObject ( ConstructorInfo  info)

Emits a new object instruction.

Parameters
infoThe constructor to call.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.EmitSwitch ( ILLabel[]  labels)

Emits a switch instruction.

Parameters
labelsThe jump targets.
void ILGPU.Backends.IL.IILEmitter.Finish ( )

Finishes the code generation process.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.

void ILGPU.Backends.IL.IILEmitter.MarkLabel ( ILLabel  label)

Marks the given label by associating the current instruction pointer with the jump label.

Parameters
labelThe label to mark.

Implemented in ILGPU.Backends.IL.DebugILEmitter, and ILGPU.Backends.IL.ILEmitter.


The documentation for this interface was generated from the following file: