C# 클래스 Rakudo.Runtime.MultiDispatch.MultiDispatcher

Very first cut implementation of a multi-dispatcher. Doesn't yet know about subtyping beyond no type being the top type. Yes, this will likely get replaced (or extensively re-done) at some point.
파일 보기 프로젝트 열기: jnthn/6model

공개 메소드들

메소드 설명
FindBestCandidate ( ThreadContext TC, RakudoCodeRef DispatchRoutine, RakudoObject Capture ) : RakudoObject

Finds the best candidate, if one exists, and returns it.

IsNarrowerType ( ThreadContext TC, RakudoObject A, RakudoObject B ) : bool

Compares two types to see if the first is narrower than the second.

비공개 메소드들

메소드 설명
IsNarrower ( ThreadContext TC, RakudoCodeRef a, RakudoCodeRef b ) : int

Checks if one signature is narrower than another.

Sort ( ThreadContext TC, RakudoObject Unsorted ) : Rakudo.Metamodel.Representations.RakudoCodeRef.Instance[]

Sorts the candidates.

메소드 상세

FindBestCandidate() 공개 정적인 메소드

Finds the best candidate, if one exists, and returns it.
public static FindBestCandidate ( ThreadContext TC, RakudoCodeRef DispatchRoutine, RakudoObject Capture ) : RakudoObject
TC ThreadContext
DispatchRoutine Rakudo.Metamodel.Representations.RakudoCodeRef
Capture Rakudo.Metamodel.RakudoObject
리턴 Rakudo.Metamodel.RakudoObject

IsNarrowerType() 공개 정적인 메소드

Compares two types to see if the first is narrower than the second.
public static IsNarrowerType ( ThreadContext TC, RakudoObject A, RakudoObject B ) : bool
TC ThreadContext
A Rakudo.Metamodel.RakudoObject
B Rakudo.Metamodel.RakudoObject
리턴 bool