C# 클래스 Mosa.Compiler.Linker.BaseLinker

파일 보기 프로젝트 열기: tgiphil/MOSA-Project 1 사용 예제들

공개 메소드들

메소드 설명
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