C# 클래스 Mosa.Compiler.Framework.MosaTypeLayout

Performs memory layout of a type for compilation.
파일 보기 프로젝트 열기: tgiphil/MOSA-Project 1 사용 예제들

공개 메소드들

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