C# Class IronPython.Runtime.Binding.MetaPythonObject

Inheritance: Microsoft.Scripting.Actions.OperationMetaObject
显示文件 Open project: jschementi/iron Class Usage Examples

Public Methods

Method Description
FallbackConvert ( DynamicMetaObjectBinder binder ) : DynamicMetaObject
GetPythonType ( DynamicMetaObject value ) : IronPython.Runtime.Types.PythonType
MetaPythonObject ( Expression expression, BindingRestrictions restrictions ) : System.Linq.Expressions
MetaPythonObject ( Expression expression, BindingRestrictions restrictions, object value ) : System.Linq.Expressions
Restrict ( Type type ) : DynamicMetaObject

Protected Methods

Method Description
GetGetMemberName ( DynamicMetaObjectBinder member ) : string
GetMemberFallback ( DynamicMetaObject self, DynamicMetaObjectBinder member, DynamicMetaObject codeContext ) : DynamicMetaObject
MakeDelegateTarget ( DynamicMetaObjectBinder action, Type toType, DynamicMetaObject arg ) : DynamicMetaObject

Creates a target which creates a new dynamic method which contains a single dynamic site that invokes the callable object. TODO: This should be specialized for each callable object

Private Methods

Method Description
MakeTryGetTypeMember ( PythonContext PythonContext, PythonTypeSlot dts, Expression self, System.Linq.Expressions.ParameterExpression tmp ) : MethodCallExpression
MakeTryGetTypeMember ( PythonContext PythonContext, PythonTypeSlot dts, System.Linq.Expressions.ParameterExpression tmp, Expression instance, Expression pythonType ) : MethodCallExpression

Method Details

FallbackConvert() public method

public FallbackConvert ( DynamicMetaObjectBinder binder ) : DynamicMetaObject
binder System.Dynamic.DynamicMetaObjectBinder
return System.Dynamic.DynamicMetaObject

GetGetMemberName() protected static method

protected static GetGetMemberName ( DynamicMetaObjectBinder member ) : string
member System.Dynamic.DynamicMetaObjectBinder
return string

GetMemberFallback() protected static method

protected static GetMemberFallback ( DynamicMetaObject self, DynamicMetaObjectBinder member, DynamicMetaObject codeContext ) : DynamicMetaObject
self System.Dynamic.DynamicMetaObject
member System.Dynamic.DynamicMetaObjectBinder
codeContext System.Dynamic.DynamicMetaObject
return System.Dynamic.DynamicMetaObject

GetPythonType() public static method

public static GetPythonType ( DynamicMetaObject value ) : IronPython.Runtime.Types.PythonType
value System.Dynamic.DynamicMetaObject
return IronPython.Runtime.Types.PythonType

MakeDelegateTarget() protected static method

Creates a target which creates a new dynamic method which contains a single dynamic site that invokes the callable object. TODO: This should be specialized for each callable object
protected static MakeDelegateTarget ( DynamicMetaObjectBinder action, Type toType, DynamicMetaObject arg ) : DynamicMetaObject
action System.Dynamic.DynamicMetaObjectBinder
toType System.Type
arg System.Dynamic.DynamicMetaObject
return System.Dynamic.DynamicMetaObject

MetaPythonObject() public method

public MetaPythonObject ( Expression expression, BindingRestrictions restrictions ) : System.Linq.Expressions
expression Expression
restrictions System.Dynamic.BindingRestrictions
return System.Linq.Expressions

MetaPythonObject() public method

public MetaPythonObject ( Expression expression, BindingRestrictions restrictions, object value ) : System.Linq.Expressions
expression Expression
restrictions System.Dynamic.BindingRestrictions
value object
return System.Linq.Expressions

Restrict() public method

public Restrict ( Type type ) : DynamicMetaObject
type System.Type
return System.Dynamic.DynamicMetaObject