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

Overload resolution service.
Inheritance: AbstractCompilerComponent
Datei anzeigen Open project: boo/boo-lang Class Usage Examples

Protected Properties

Property Type Description
_arguments Boo.Lang.Compiler.Ast.ExpressionCollection
_candidates List

Public Methods

Method 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

Protected Methods

Method 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

Method 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 method

protected ArgumentType ( Node node ) : IType
node Node
return IType

CalculateArgumentScore() protected method

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

CheckVarArgsParameter() protected method

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

Dispose() public method

public Dispose ( ) : void
return void

GetArgument() protected method

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

GetLogicalTypeDepth() public method

public GetLogicalTypeDepth ( IType type ) : int
type IType
return int

IsValidByRefArg() public method

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

IsValidVargsInvocation() public method

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

ResolveCallableReference() public method

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

ShouldExpandArgs() protected method

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

Property Details

_arguments protected_oe property

protected ExpressionCollection,Boo.Lang.Compiler.Ast _arguments
return Boo.Lang.Compiler.Ast.ExpressionCollection

_candidates protected_oe property

protected List _candidates
return List