C# 클래스 Boo.Lang.Compiler.TypeSystem.CallableResolutionService

Overload resolution service.
상속: AbstractCompilerComponent
파일 보기 프로젝트 열기: boo/boo-lang 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
_arguments Boo.Lang.Compiler.Ast.ExpressionCollection
_candidates List

공개 메소드들

메소드 설명
Dispose ( ) : void
GetLogicalTypeDepth ( IType type ) : int
IsValidByRefArg ( IParameter param, IType parameterType, IType argType, Node arg ) : bool
IsValidVargsInvocation ( IParameter parameters, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
ResolveCallableReference ( Boo.Lang.Compiler.Ast.ExpressionCollection args, IEntity candidates ) : IEntity

보호된 메소드들

메소드 설명
ArgumentType ( Node node ) : IType
CalculateArgumentScore ( IParameter param, IType parameterType, Node arg ) : int
CheckVarArgsParameter ( IParameter parameters, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
GetArgument ( int index ) : Expression
ShouldExpandArgs ( IMethod method, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool

비공개 메소드들

메소드 설명
ApplicableCandidate ( Candidate candidate ) : bool
BetterCandidate ( Candidate c1, Candidate c2 ) : int
CalculateCallableScore ( ICallableType parameterType, ICallableType argType ) : int
CanLoadAddress ( Node node ) : bool
DoesNotRequireConversions ( Candidate candidate ) : bool
FindApplicableCandidates ( ) : void
FindBestMethod ( List candidates ) : void
FindDataPreservingCandidates ( ) : List
GetParameterTypeTemplate ( Candidate candidate, int position ) : IType
InferGenericMethods ( ) : void
InitializeCandidates ( IEnumerable candidateEntities ) : void
IsValidInvocation ( IParameter parameters, Boo.Lang.Compiler.Ast.ExpressionCollection args, int count ) : bool
IsWideningPromotion ( IType paramType, IType argumentType ) : bool
MoreSpecific ( Candidate c1, Candidate c2 ) : int
MoreSpecific ( IType t1, IType t2 ) : int
RequiresConversion ( int score ) : bool
Reset ( Boo.Lang.Compiler.Ast.ExpressionCollection arguments, IEnumerable candidateEntities ) : void
ShouldExpandVarArgs ( Candidate candidate ) : bool
TotalScore ( Candidate c1 ) : int

메소드 상세

ArgumentType() 보호된 메소드

protected ArgumentType ( Node node ) : IType
node Node
리턴 IType

CalculateArgumentScore() 보호된 메소드

protected CalculateArgumentScore ( IParameter param, IType parameterType, Node arg ) : int
param IParameter
parameterType IType
arg Node
리턴 int

CheckVarArgsParameter() 보호된 메소드

protected CheckVarArgsParameter ( IParameter parameters, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
parameters IParameter
args Boo.Lang.Compiler.Ast.ExpressionCollection
리턴 bool

Dispose() 공개 메소드

public Dispose ( ) : void
리턴 void

GetArgument() 보호된 메소드

protected GetArgument ( int index ) : Expression
index int
리턴 Boo.Lang.Compiler.Ast.Expression

GetLogicalTypeDepth() 공개 메소드

public GetLogicalTypeDepth ( IType type ) : int
type IType
리턴 int

IsValidByRefArg() 공개 메소드

public IsValidByRefArg ( IParameter param, IType parameterType, IType argType, Node arg ) : bool
param IParameter
parameterType IType
argType IType
arg Node
리턴 bool

IsValidVargsInvocation() 공개 메소드

public IsValidVargsInvocation ( IParameter parameters, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
parameters IParameter
args Boo.Lang.Compiler.Ast.ExpressionCollection
리턴 bool

ResolveCallableReference() 공개 메소드

public ResolveCallableReference ( Boo.Lang.Compiler.Ast.ExpressionCollection args, IEntity candidates ) : IEntity
args Boo.Lang.Compiler.Ast.ExpressionCollection
candidates IEntity
리턴 IEntity

ShouldExpandArgs() 보호된 메소드

protected ShouldExpandArgs ( IMethod method, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
method IMethod
args Boo.Lang.Compiler.Ast.ExpressionCollection
리턴 bool

프로퍼티 상세

_arguments 보호되어 있는 프로퍼티

protected ExpressionCollection,Boo.Lang.Compiler.Ast _arguments
리턴 Boo.Lang.Compiler.Ast.ExpressionCollection

_candidates 보호되어 있는 프로퍼티

protected List _candidates
리턴 List