C# Class IronPython.Modules.CTypes._CFuncPtr.Meta

Inheritance: IronPython.Runtime.Binding.MetaPythonObject
显示文件 Open project: jschementi/iron

Public Methods

Method Description
BindInvoke ( InvokeBinder binder, DynamicMetaObject args ) : DynamicMetaObject
Meta ( Expression parameter, _CFuncPtr func ) : System.Linq.Expressions

Private Methods

Method Description
AddKeepAlives ( ArgumentMarshaller signature, List block ) : void

we need to keep alive any methods which have arguments for the duration of the call. Otherwise they could be collected on the finalizer thread before we come back.

AddReturnChecks ( CodeContext context, DynamicMetaObject args, Expression res ) : Expression
CreateInteropInvoker ( CallingConvention convention, ArgumentMarshaller sig, INativeType nativeRetType, bool retVoid, List constantPool ) : MethodInfo

Creates a method for calling with the specified signature. The returned method has a signature of the form: (IntPtr funcAddress, arg0, arg1, ..., object[] constantPool) where IntPtr is the address of the function to be called. The arguments types are based upon the types that the ArgumentMarshaller requires.

GetArgumentMarshallers ( DynamicMetaObject args ) : ArgumentMarshaller[]
GetCalliSignature ( CallingConvention convention, ArgumentMarshaller sig, Type calliRetType ) : SignatureHelper
GetCallingConvention ( ) : CallingConvention
GetMarshaller ( Expression expr, object value, int index, object nativeType ) : ArgumentMarshaller
GetNativeReturnType ( ) : INativeType
IncorrectArgCount ( DynamicMetaObjectBinder binder, BindingRestrictions restrictions, int expected, int got ) : DynamicMetaObject
MakeCall ( ArgumentMarshaller signature, INativeType nativeRetType, bool retVoid ) : Expression

Method Details

BindInvoke() public method

public BindInvoke ( InvokeBinder binder, DynamicMetaObject args ) : DynamicMetaObject
binder InvokeBinder
args DynamicMetaObject
return DynamicMetaObject

Meta() public method

public Meta ( Expression parameter, _CFuncPtr func ) : System.Linq.Expressions
parameter Expression
func _CFuncPtr
return System.Linq.Expressions