C# Класс Mosa.Compiler.Framework.BaseCodeEmitter

Base code emitter.
Наследование: IDisposable, ICodeEmitter
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
codeStream Stream
linker Mosa.Compiler.Linker.BaseLinker
patches List

Открытые методы

Метод Описание
Emit ( OpcodeEncoder opcode ) : void

Emits the specified opcode.

Emit ( OpcodeEncoder opcode, Operand symbolOperand, int patchOffset, int referenceOffset ) : void
GetPosition ( int label ) : int

Gets the position.

Initialize ( string methodName, BaseLinker linker, Stream codeStream ) : void

Initializes a new instance of BaseCodeEmitter.

Label ( int label ) : void

Emits a label into the code stream.

ResolvePatches ( ) : void
Write ( byte buffer, int offset, int count ) : void

Writes the byte.

WriteByte ( byte data ) : void

Writes the byte.

Защищенные методы

Метод Описание
AddPatch ( int label, int position ) : void
TryGetLabel ( int label, int &position ) : bool

Описание методов

AddPatch() защищенный Метод

protected AddPatch ( int label, int position ) : void
label int
position int
Результат void

Emit() публичный Метод

Emits the specified opcode.
public Emit ( OpcodeEncoder opcode ) : void
opcode OpcodeEncoder The opcode.
Результат void

Emit() публичный Метод

public Emit ( OpcodeEncoder opcode, Operand symbolOperand, int patchOffset, int referenceOffset ) : void
opcode OpcodeEncoder
symbolOperand Operand
patchOffset int
referenceOffset int
Результат void

GetPosition() публичный Метод

Gets the position.
public GetPosition ( int label ) : int
label int The label.
Результат int

Initialize() публичный Метод

Initializes a new instance of BaseCodeEmitter.
public Initialize ( string methodName, BaseLinker linker, Stream codeStream ) : void
methodName string Name of the method.
linker Mosa.Compiler.Linker.BaseLinker The linker.
codeStream Stream The stream the machine code is written to.
Результат void

Label() публичный Метод

Emits a label into the code stream.
public Label ( int label ) : void
label int The label name to emit.
Результат void

ResolvePatches() публичный абстрактный Метод

public abstract ResolvePatches ( ) : void
Результат void

TryGetLabel() защищенный Метод

protected TryGetLabel ( int label, int &position ) : bool
label int
position int
Результат bool

Write() публичный Метод

Writes the byte.
public Write ( byte buffer, int offset, int count ) : void
buffer byte The buffer.
offset int The offset.
count int The count.
Результат void

WriteByte() публичный Метод

Writes the byte.
public WriteByte ( byte data ) : void
data byte The data.
Результат void

Описание свойств

codeStream защищенное свойство

The stream used to write machine code bytes to.
protected Stream codeStream
Результат Stream

linker защищенное свойство

Holds the linker used to resolve externals.
protected BaseLinker,Mosa.Compiler.Linker linker
Результат Mosa.Compiler.Linker.BaseLinker

patches защищенное свойство

Patches we need to perform.
protected List patches
Результат List