C# 클래스 Rakudo.Metamodel.SharedTable

This represents the commonalities shared by many instances of a given "type". Type in this context refers to a given combination of meta-object and representation.
파일 보기 프로젝트 열기: jnthn/6model

공개 프로퍼티들

프로퍼티 타입 설명
DuckTables RakudoObject[]>.Dictionary
HOW RakudoObject
REPR Representation
SC SerializationContext
SpecialFindMethod Func
SpecialInvoke Func
TypeCacheID int
TypeCheckCache Rakudo.Metamodel.RakudoObject[]
VTable Rakudo.Metamodel.RakudoObject[]
WHAT RakudoObject

공개 메소드들

메소드 설명
FindMethod ( ThreadContext TC, RakudoObject Obj, string Name, int Hint ) : RakudoObject

This finds a method with the given name or using a hint.

Invoke ( ThreadContext TC, RakudoObject Obj, RakudoObject Cap ) : RakudoObject

Invokes. By default, looks up a postcircumfix:<( )> and runs that.

TypeCheck ( ThreadContext TC, RakudoObject Obj, RakudoObject Checkee ) : RakudoObject

Used to do a type check. If one was published, looks in the type check cache. If there is none, calls .HOW.type_check.

메소드 상세

FindMethod() 공개 메소드

This finds a method with the given name or using a hint.
public FindMethod ( ThreadContext TC, RakudoObject Obj, string Name, int Hint ) : RakudoObject
TC Rakudo.Runtime.ThreadContext
Obj RakudoObject
Name string
Hint int
리턴 RakudoObject

Invoke() 공개 메소드

Invokes. By default, looks up a postcircumfix:<( )> and runs that.
public Invoke ( ThreadContext TC, RakudoObject Obj, RakudoObject Cap ) : RakudoObject
TC Rakudo.Runtime.ThreadContext
Obj RakudoObject
Cap RakudoObject
리턴 RakudoObject

TypeCheck() 공개 메소드

Used to do a type check. If one was published, looks in the type check cache. If there is none, calls .HOW.type_check.
public TypeCheck ( ThreadContext TC, RakudoObject Obj, RakudoObject Checkee ) : RakudoObject
TC Rakudo.Runtime.ThreadContext
Obj RakudoObject
Checkee RakudoObject
리턴 RakudoObject

프로퍼티 상세

DuckTables 공개적으로 프로퍼티

Ducktable storage.
public Dictionary DuckTables
리턴 RakudoObject[]>.Dictionary

HOW 공개적으로 프로퍼티

The HOW (which is the meta-package). If we do $obj.HOW then it will refer to a getting of this field.
public RakudoObject,Rakudo.Metamodel HOW
리턴 RakudoObject

REPR 공개적으로 프로퍼티

The representation object that manages object layout.
public Representation,Rakudo.Metamodel REPR
리턴 Representation

SC 공개적으로 프로퍼티

The serialization context of this STable, if any.
public SerializationContext SC
리턴 SerializationContext

SpecialFindMethod 공개적으로 프로퍼티

Sometimes, we may want to install a hook for overriding method finding. This does that. (We used to just give this a default closure, but it makes dispatch a bit more expensive, and this is path is red hot...)
public Func SpecialFindMethod
리턴 Func

SpecialInvoke 공개적으로 프로퍼티

Hook for overriding invocation.
public Func SpecialInvoke
리턴 Func

TypeCacheID 공개적으로 프로퍼티

The unique ID for this type. Note that this ID is not ever, ever, ever, ever to be used as a handle for the type for looking it up. It is only ever valid to use in a cache situation where a reference to the STable is held for at least as long as the cache will exist. It is also NOT going to be the same between runs (or at lesat not automatically), and will be set up whenever the STable is deserialized. Thus never, ever serialize this ID anywhere; it's for strictly for per-run scoped caches _only_. You have been warned.
public int TypeCacheID
리턴 int

TypeCheckCache 공개적으로 프로퍼티

For types where we know all the possible types it could match up front, this type check cache can be published.
public RakudoObject[],Rakudo.Metamodel TypeCheckCache
리턴 Rakudo.Metamodel.RakudoObject[]

VTable 공개적으로 프로퍼티

The generated v-table, if any.
public RakudoObject[],Rakudo.Metamodel VTable
리턴 Rakudo.Metamodel.RakudoObject[]

WHAT 공개적으로 프로퍼티

The type-object. If we do $obj.WHAT then it will refer to a getting of this field.
public RakudoObject,Rakudo.Metamodel WHAT
리턴 RakudoObject