C# Класс Mosa.Compiler.Linker.BaseLinker

Показать файл Открыть проект Примеры использования класса

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

Метод Описание
BaseLinker ( ulong baseAddress, Endianness endianness, MachineType machineType, bool emitSymbols, LinkerFormatType linkerFormatType ) : System
CreateSymbol ( string name, SectionKind kind, int alignment, int size ) : LinkerSymbol
Emit ( Stream stream ) : void
FindSymbol ( string name ) : LinkerSymbol
FindSymbol ( string name, SectionKind kind ) : LinkerSymbol
GetConstantSymbol ( double value ) : LinkerSymbol
GetConstantSymbol ( float value ) : LinkerSymbol
GetConstantSymbol ( int value ) : LinkerSymbol
GetConstantSymbol ( long value ) : LinkerSymbol
GetConstantSymbol ( uint value ) : LinkerSymbol
GetConstantSymbol ( ulong value ) : LinkerSymbol
GetSymbol ( string name, SectionKind kind ) : LinkerSymbol
Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, LinkerSymbol patchSymbol, int patchOffset, LinkerSymbol referenceSymbol, int referenceOffset ) : void
Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, LinkerSymbol patchSymbol, int patchOffset, SectionKind referenceKind, string referenceSymbolName, int referenceOffset ) : void
Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, SectionKind patchKind, string patchSymbolName, int patchOffset, LinkerSymbol referenceSymbol, int referenceOffset ) : void
Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, SectionKind patchKind, string patchSymbolName, int patchOffset, SectionKind referenceKind, string referenceSymbolName, int referenceOffset ) : void
SetFirst ( LinkerSymbol symbol ) : void

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

Метод Описание
CreateSymbol ( string name, SectionKind kind, uint alignment ) : LinkerSymbol

Приватные методы

Метод Описание
AddSection ( LinkerSection section ) : void
ApplyPatch ( LinkRequest linkRequest ) : void
ApplyPatches ( ) : void
FinalizeLayout ( ) : void
GetPatchTypeSize ( Mosa.Compiler.Linker.PatchType patchType ) : byte
LayoutObjectsAndSections ( ) : void

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

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

public BaseLinker ( ulong baseAddress, Endianness endianness, MachineType machineType, bool emitSymbols, LinkerFormatType linkerFormatType ) : System
baseAddress ulong
endianness Endianness
machineType MachineType
emitSymbols bool
linkerFormatType LinkerFormatType
Результат System

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

public CreateSymbol ( string name, SectionKind kind, int alignment, int size ) : LinkerSymbol
name string
kind SectionKind
alignment int
size int
Результат LinkerSymbol

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

protected CreateSymbol ( string name, SectionKind kind, uint alignment ) : LinkerSymbol
name string
kind SectionKind
alignment uint
Результат LinkerSymbol

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

public Emit ( Stream stream ) : void
stream Stream
Результат void

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

public FindSymbol ( string name ) : LinkerSymbol
name string
Результат LinkerSymbol

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

public FindSymbol ( string name, SectionKind kind ) : LinkerSymbol
name string
kind SectionKind
Результат LinkerSymbol

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

public GetConstantSymbol ( double value ) : LinkerSymbol
value double
Результат LinkerSymbol

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

public GetConstantSymbol ( float value ) : LinkerSymbol
value float
Результат LinkerSymbol

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

public GetConstantSymbol ( int value ) : LinkerSymbol
value int
Результат LinkerSymbol

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

public GetConstantSymbol ( long value ) : LinkerSymbol
value long
Результат LinkerSymbol

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

public GetConstantSymbol ( uint value ) : LinkerSymbol
value uint
Результат LinkerSymbol

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

public GetConstantSymbol ( ulong value ) : LinkerSymbol
value ulong
Результат LinkerSymbol

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

public GetSymbol ( string name, SectionKind kind ) : LinkerSymbol
name string
kind SectionKind
Результат LinkerSymbol

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

public Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, LinkerSymbol patchSymbol, int patchOffset, LinkerSymbol referenceSymbol, int referenceOffset ) : void
linkType LinkType
patchType Mosa.Compiler.Linker.PatchType
patchSymbol LinkerSymbol
patchOffset int
referenceSymbol LinkerSymbol
referenceOffset int
Результат void

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

public Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, LinkerSymbol patchSymbol, int patchOffset, SectionKind referenceKind, string referenceSymbolName, int referenceOffset ) : void
linkType LinkType
patchType Mosa.Compiler.Linker.PatchType
patchSymbol LinkerSymbol
patchOffset int
referenceKind SectionKind
referenceSymbolName string
referenceOffset int
Результат void

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

public Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, SectionKind patchKind, string patchSymbolName, int patchOffset, LinkerSymbol referenceSymbol, int referenceOffset ) : void
linkType LinkType
patchType Mosa.Compiler.Linker.PatchType
patchKind SectionKind
patchSymbolName string
patchOffset int
referenceSymbol LinkerSymbol
referenceOffset int
Результат void

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

public Link ( LinkType linkType, Mosa.Compiler.Linker.PatchType patchType, SectionKind patchKind, string patchSymbolName, int patchOffset, SectionKind referenceKind, string referenceSymbolName, int referenceOffset ) : void
linkType LinkType
patchType Mosa.Compiler.Linker.PatchType
patchKind SectionKind
patchSymbolName string
patchOffset int
referenceKind SectionKind
referenceSymbolName string
referenceOffset int
Результат void

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

public SetFirst ( LinkerSymbol symbol ) : void
symbol LinkerSymbol
Результат void