C# Class Boo.Lang.Compiler.TypeSystem.CallableResolutionService

Overload resolution service.
Inheritance: AbstractCompilerComponent
Afficher le fichier Open project: boo/boo-lang Class Usage Examples

Protected Properties

Свойство Type Description
_arguments Boo.Lang.Compiler.Ast.ExpressionCollection
_candidates List

Méthodes publiques

Méthode Description
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

Méthodes protégées

Méthode Description
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

Private Methods

Méthode Description
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

Method Details

ArgumentType() protected méthode

protected ArgumentType ( Node node ) : IType
node Node
Résultat IType

CalculateArgumentScore() protected méthode

protected CalculateArgumentScore ( IParameter param, IType parameterType, Node arg ) : int
param IParameter
parameterType IType
arg Node
Résultat int

CheckVarArgsParameter() protected méthode

protected CheckVarArgsParameter ( IParameter parameters, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
parameters IParameter
args Boo.Lang.Compiler.Ast.ExpressionCollection
Résultat bool

Dispose() public méthode

public Dispose ( ) : void
Résultat void

GetArgument() protected méthode

protected GetArgument ( int index ) : Expression
index int
Résultat Boo.Lang.Compiler.Ast.Expression

GetLogicalTypeDepth() public méthode

public GetLogicalTypeDepth ( IType type ) : int
type IType
Résultat int

IsValidByRefArg() public méthode

public IsValidByRefArg ( IParameter param, IType parameterType, IType argType, Node arg ) : bool
param IParameter
parameterType IType
argType IType
arg Node
Résultat bool

IsValidVargsInvocation() public méthode

public IsValidVargsInvocation ( IParameter parameters, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
parameters IParameter
args Boo.Lang.Compiler.Ast.ExpressionCollection
Résultat bool

ResolveCallableReference() public méthode

public ResolveCallableReference ( Boo.Lang.Compiler.Ast.ExpressionCollection args, IEntity candidates ) : IEntity
args Boo.Lang.Compiler.Ast.ExpressionCollection
candidates IEntity
Résultat IEntity

ShouldExpandArgs() protected méthode

protected ShouldExpandArgs ( IMethod method, Boo.Lang.Compiler.Ast.ExpressionCollection args ) : bool
method IMethod
args Boo.Lang.Compiler.Ast.ExpressionCollection
Résultat bool

Property Details

_arguments protected_oe property

protected ExpressionCollection,Boo.Lang.Compiler.Ast _arguments
Résultat Boo.Lang.Compiler.Ast.ExpressionCollection

_candidates protected_oe property

protected List _candidates
Résultat List