C# Class Mosa.Compiler.Linker.BaseLinker

Afficher le fichier Open project: tgiphil/MOSA-Project Class Usage Examples

Méthodes publiques

Méthode Description
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

Méthodes protégées

Méthode Description
CreateSymbol ( string name, SectionKind kind, uint alignment ) : LinkerSymbol

Private Methods

Méthode Description
AddSection ( LinkerSection section ) : void
ApplyPatch ( LinkRequest linkRequest ) : void
ApplyPatches ( ) : void
FinalizeLayout ( ) : void
GetPatchTypeSize ( Mosa.Compiler.Linker.PatchType patchType ) : byte
LayoutObjectsAndSections ( ) : void

Method Details

BaseLinker() public méthode

public BaseLinker ( ulong baseAddress, Endianness endianness, MachineType machineType, bool emitSymbols, LinkerFormatType linkerFormatType ) : System
baseAddress ulong
endianness Endianness
machineType MachineType
emitSymbols bool
linkerFormatType LinkerFormatType
Résultat System

CreateSymbol() public méthode

public CreateSymbol ( string name, SectionKind kind, int alignment, int size ) : LinkerSymbol
name string
kind SectionKind
alignment int
size int
Résultat LinkerSymbol

CreateSymbol() protected méthode

protected CreateSymbol ( string name, SectionKind kind, uint alignment ) : LinkerSymbol
name string
kind SectionKind
alignment uint
Résultat LinkerSymbol

Emit() public méthode

public Emit ( Stream stream ) : void
stream Stream
Résultat void

FindSymbol() public méthode

public FindSymbol ( string name ) : LinkerSymbol
name string
Résultat LinkerSymbol

FindSymbol() public méthode

public FindSymbol ( string name, SectionKind kind ) : LinkerSymbol
name string
kind SectionKind
Résultat LinkerSymbol

GetConstantSymbol() public méthode

public GetConstantSymbol ( double value ) : LinkerSymbol
value double
Résultat LinkerSymbol

GetConstantSymbol() public méthode

public GetConstantSymbol ( float value ) : LinkerSymbol
value float
Résultat LinkerSymbol

GetConstantSymbol() public méthode

public GetConstantSymbol ( int value ) : LinkerSymbol
value int
Résultat LinkerSymbol

GetConstantSymbol() public méthode

public GetConstantSymbol ( long value ) : LinkerSymbol
value long
Résultat LinkerSymbol

GetConstantSymbol() public méthode

public GetConstantSymbol ( uint value ) : LinkerSymbol
value uint
Résultat LinkerSymbol

GetConstantSymbol() public méthode

public GetConstantSymbol ( ulong value ) : LinkerSymbol
value ulong
Résultat LinkerSymbol

GetSymbol() public méthode

public GetSymbol ( string name, SectionKind kind ) : LinkerSymbol
name string
kind SectionKind
Résultat LinkerSymbol

Link() public méthode

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
Résultat void

Link() public méthode

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
Résultat void

Link() public méthode

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
Résultat void

Link() public méthode

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
Résultat void

SetFirst() public méthode

public SetFirst ( LinkerSymbol symbol ) : void
symbol LinkerSymbol
Résultat void