C# 클래스 IronRuby.Runtime.Calls.RubyOverloadResolver

상속: Microsoft.Scripting.Actions.Calls.OverloadResolver
파일 보기 프로젝트 열기: ExpertsInside/IronSP 1 사용 예제들

Private Properties

프로퍼티 타입 설명
AddArgumentRestrictions void
AddSimpleHiddenMapping void
CreateActualArguments Microsoft.Scripting.Actions.Calls.ActualArguments
GetHiddenParameterCount int
GetParameterCount void
HasExplicitProtocolConversion bool
MakeAmbiguousCallError System.Linq.Expressions.Expression
MakeCallFailureError System.Linq.Expressions.Expression
MakeIncorrectArgumentCountError System.Linq.Expressions.Expression
MakeSplattedItem System.Dynamic.DynamicMetaObject
RubyOverloadResolver System.Linq.Expressions

공개 메소드들

메소드 설명
CanConvertFrom ( Microsoft.Scripting.Actions.Calls.ParameterWrapper fromParameter, Microsoft.Scripting.Actions.Calls.ParameterWrapper toParameter ) : bool
CanConvertFrom ( Type fromType, DynamicMetaObject fromArg, Microsoft.Scripting.Actions.Calls.ParameterWrapper toParameter, NarrowingLevel level ) : bool

Returns true if fromArg of type fromType can be assigned to toParameter with a conversion on given narrowing level.

Convert ( DynamicMetaObject metaObject, Type restrictedType, ParameterInfo info, Type toType ) : Expression
MakeInvalidParametersError ( BindingTarget target ) : Microsoft.Scripting.Actions.ErrorInfo
NormalizeArguments ( MetaObjectBuilder metaBuilder, CallArguments args, int minCount, int maxCount ) : IList
SelectBestConversionFor ( DynamicMetaObject arg, Microsoft.Scripting.Actions.Calls.ParameterWrapper candidateOne, Microsoft.Scripting.Actions.Calls.ParameterWrapper candidateTwo, NarrowingLevel level ) : Candidate

보호된 메소드들

메소드 설명
AllowMemberInitialization ( OverloadInfo method ) : bool
BindToUnexpandedParams ( MethodCandidate candidate ) : bool

We expand params arrays for library methods. Splat operator needs to be used to pass content of an array/list into params array method.

CreateActualArguments ( IList namedArgs, IList argNames, int preSplatLimit, int postSplatLimit ) : Microsoft.Scripting.Actions.Calls.ActualArguments
GetSplattedExpression ( ) : Expression
GetSplattedItem ( int index ) : object
MapSpecialParameters ( ParameterMapping mapping ) : BitArray

비공개 메소드들

메소드 설명
AddArgumentRestrictions ( MetaObjectBuilder metaBuilder, BindingTarget bindingTarget ) : void
AddSimpleHiddenMapping ( ParameterMapping mapping, ParameterInfo info, bool prohibitNull ) : void
CreateActualArguments ( List normalized, MetaObjectBuilder metaBuilder, CallArguments args, int hidden, int preSplatLimit, int postSplatLimit, int &lastSplattedArg, IList &list, System.Linq.Expressions.ParameterExpression &listVariable ) : Microsoft.Scripting.Actions.Calls.ActualArguments
GetHiddenParameterCount ( OverloadInfo method, SelfCallConvention callConvention ) : int
GetParameterCount ( OverloadInfo method, SelfCallConvention callConvention, int &mandatory, int &optional ) : void
HasExplicitProtocolConversion ( Microsoft.Scripting.Actions.Calls.ParameterWrapper parameter ) : bool
MakeAmbiguousCallError ( BindingTarget target ) : Expression
MakeCallFailureError ( BindingTarget target ) : Expression
MakeIncorrectArgumentCountError ( BindingTarget target ) : Expression
MakeSplattedItem ( IList list, Expression listVariable, int index ) : DynamicMetaObject
RubyOverloadResolver ( MetaObjectBuilder metaBuilder, CallArguments args, SelfCallConvention callConvention, bool implicitProtocolConversions ) : System.Linq.Expressions

메소드 상세

AllowMemberInitialization() 보호된 메소드

protected AllowMemberInitialization ( OverloadInfo method ) : bool
method Microsoft.Scripting.Actions.Calls.OverloadInfo
리턴 bool

BindToUnexpandedParams() 보호된 메소드

We expand params arrays for library methods. Splat operator needs to be used to pass content of an array/list into params array method.
protected BindToUnexpandedParams ( MethodCandidate candidate ) : bool
candidate Microsoft.Scripting.Actions.Calls.MethodCandidate
리턴 bool

CanConvertFrom() 공개 메소드

public CanConvertFrom ( Microsoft.Scripting.Actions.Calls.ParameterWrapper fromParameter, Microsoft.Scripting.Actions.Calls.ParameterWrapper toParameter ) : bool
fromParameter Microsoft.Scripting.Actions.Calls.ParameterWrapper
toParameter Microsoft.Scripting.Actions.Calls.ParameterWrapper
리턴 bool

CanConvertFrom() 공개 메소드

Returns true if fromArg of type fromType can be assigned to toParameter with a conversion on given narrowing level.
public CanConvertFrom ( Type fromType, DynamicMetaObject fromArg, Microsoft.Scripting.Actions.Calls.ParameterWrapper toParameter, NarrowingLevel level ) : bool
fromType System.Type
fromArg System.Dynamic.DynamicMetaObject
toParameter Microsoft.Scripting.Actions.Calls.ParameterWrapper
level NarrowingLevel
리턴 bool

Convert() 공개 메소드

public Convert ( DynamicMetaObject metaObject, Type restrictedType, ParameterInfo info, Type toType ) : Expression
metaObject System.Dynamic.DynamicMetaObject
restrictedType System.Type
info System.Reflection.ParameterInfo
toType System.Type
리턴 System.Linq.Expressions.Expression

CreateActualArguments() 보호된 메소드

protected CreateActualArguments ( IList namedArgs, IList argNames, int preSplatLimit, int postSplatLimit ) : Microsoft.Scripting.Actions.Calls.ActualArguments
namedArgs IList
argNames IList
preSplatLimit int
postSplatLimit int
리턴 Microsoft.Scripting.Actions.Calls.ActualArguments

GetSplattedExpression() 보호된 메소드

protected GetSplattedExpression ( ) : Expression
리턴 System.Linq.Expressions.Expression

GetSplattedItem() 보호된 메소드

protected GetSplattedItem ( int index ) : object
index int
리턴 object

MakeInvalidParametersError() 공개 메소드

public MakeInvalidParametersError ( BindingTarget target ) : Microsoft.Scripting.Actions.ErrorInfo
target Microsoft.Scripting.Actions.Calls.BindingTarget
리턴 Microsoft.Scripting.Actions.ErrorInfo

MapSpecialParameters() 보호된 메소드

protected MapSpecialParameters ( ParameterMapping mapping ) : BitArray
mapping Microsoft.Scripting.Actions.Calls.ParameterMapping
리턴 System.Collections.BitArray

NormalizeArguments() 공개 정적인 메소드

public static NormalizeArguments ( MetaObjectBuilder metaBuilder, CallArguments args, int minCount, int maxCount ) : IList
metaBuilder MetaObjectBuilder
args CallArguments
minCount int
maxCount int
리턴 IList

SelectBestConversionFor() 공개 메소드

public SelectBestConversionFor ( DynamicMetaObject arg, Microsoft.Scripting.Actions.Calls.ParameterWrapper candidateOne, Microsoft.Scripting.Actions.Calls.ParameterWrapper candidateTwo, NarrowingLevel level ) : Candidate
arg System.Dynamic.DynamicMetaObject
candidateOne Microsoft.Scripting.Actions.Calls.ParameterWrapper
candidateTwo Microsoft.Scripting.Actions.Calls.ParameterWrapper
level NarrowingLevel
리턴 Candidate