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

Performs memory layout of a type for compilation.
Показать файл Открыть проект Примеры использования класса

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

Метод Описание
GetFieldOffset ( MosaField field ) : int

Gets the size of the field.

GetFieldSize ( MosaField field ) : int

Gets the size of the field.

GetInterfaceSlotOffset ( MosaType type ) : int

Gets the interface slot offset.

GetInterfaceTable ( MosaType type, MosaType interfaceType ) : MosaMethod[]

Gets the interface table.

GetMethodParameterStackSize ( MosaMethod method ) : int
GetMethodStackSize ( MosaMethod method ) : int
GetMethodTable ( MosaType type ) : IList

Gets the type methods.

GetMethodTableOffset ( MosaMethod method ) : int

Gets the method table offset.

GetTypeSize ( MosaType type ) : int

Gets the size of the type.

IsCompoundType ( MosaType type ) : bool
MosaTypeLayout ( TypeSystem typeSystem, int nativePointerSize, int nativePointerAlignment ) : System

Initializes a new instance of the MosaTypeLayout class.

SetMethodParameterStackSize ( MosaMethod method, int size ) : void
SetMethodStackSize ( MosaMethod method, int size ) : void

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

Метод Описание
ComputeExplicitLayout ( MosaType type ) : void

Applies the explicit layout to the given type.

ComputeSequentialLayout ( MosaType type ) : void
CreateMethodTable ( MosaType type ) : List
FindImplicitInterfaceMethod ( MosaType type, MosaMethod interfaceMethod ) : MosaMethod
FindInterfaceMethod ( MosaType type, MosaMethod interfaceMethod ) : MosaMethod
FindOverrideSlot ( IList methodTable, MosaMethod method ) : int
GetCleanMethodName ( string fullName ) : string
GetMemorySize ( MosaType type ) : int

Gets the type memory requirements.

GetMethodTableFromBaseType ( MosaType type ) : List
IsExplicitInterfaceMethod ( string fullname ) : bool
ResolveInterfaceType ( MosaType type ) : void

Builds a list of interfaces and assigns interface a unique index number

ResolveLayouts ( ) : void
ResolveType ( MosaType type ) : void
ScanExplicitInterfaceImplementations ( MosaType type, MosaType interfaceType, MosaMethod methodTable ) : void

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

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

Gets the size of the field.
public GetFieldOffset ( MosaField field ) : int
field MosaField The field.
Результат int

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

Gets the size of the field.
public GetFieldSize ( MosaField field ) : int
field MosaField The field.
Результат int

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

Gets the interface slot offset.
public GetInterfaceSlotOffset ( MosaType type ) : int
type MosaType The type.
Результат int

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

Gets the interface table.
public GetInterfaceTable ( MosaType type, MosaType interfaceType ) : MosaMethod[]
type MosaType The type.
interfaceType MosaType Type of the interface.
Результат MosaMethod[]

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

public GetMethodParameterStackSize ( MosaMethod method ) : int
method MosaMethod
Результат int

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

public GetMethodStackSize ( MosaMethod method ) : int
method MosaMethod
Результат int

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

Gets the type methods.
public GetMethodTable ( MosaType type ) : IList
type MosaType The type.
Результат IList

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

Gets the method table offset.
public GetMethodTableOffset ( MosaMethod method ) : int
method MosaMethod The method.
Результат int

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

Gets the size of the type.
public GetTypeSize ( MosaType type ) : int
type MosaType The type.
Результат int

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

public IsCompoundType ( MosaType type ) : bool
type MosaType
Результат bool

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

Initializes a new instance of the MosaTypeLayout class.
public MosaTypeLayout ( TypeSystem typeSystem, int nativePointerSize, int nativePointerAlignment ) : System
typeSystem Mosa.Compiler.MosaTypeSystem.TypeSystem The type system.
nativePointerSize int Size of the native pointer.
nativePointerAlignment int The native pointer alignment.
Результат System

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

public SetMethodParameterStackSize ( MosaMethod method, int size ) : void
method MosaMethod
size int
Результат void

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

public SetMethodStackSize ( MosaMethod method, int size ) : void
method MosaMethod
size int
Результат void