C# Class Pchp.Core.Dynamic.BinderHelpers

ファイルを表示 Open project: iolevel/peachpie Class Usage Examples

Public Methods

Method Description
BindField ( PhpTypeInfo type, Type classCtx, Expression target, string field, Expression ctx, AccessFlags access, Expression rvalue ) : Expression
BindToCall ( Expression instance, MethodBase method, Expression ctx, OverloadBinder args ) : Expression
BindToCreator ( ConstructorInfo ctors ) : TObjectCreator
BindToPhpCallable ( MethodBase target ) : PhpCallable
BindToPhpInvokable ( MethodInfo methods ) : PhpInvokable
EnsureNotNullPhpArray ( Expression variable ) : Expression
GetStatic_T_Method ( Type t ) : MethodInfo

Gets Context.GetStatic{T}() method bound to a type.

IsContextParameter ( this p ) : bool
IsImplicitParameter ( this p ) : bool

Determines the parameter is considered as implicitly passed by runtime.

IsMandatoryParameter ( this p ) : bool

Determines the parameter does not have a default value explicitly specified.

IsParamsParameter ( this p ) : bool
LookupRuntimeFields ( Type target ) : FieldInfo

Find field corresponding to object's runtime fields.

NewPhpArray ( Expression ctx, IEnumerable values ) : Expression
TargetAsObject ( DynamicMetaObject target, Expression &target_expr, object &target_value, BindingRestrictions &restrictions ) : void

Private Methods

Method Description
BindAccess ( Expression expr, Expression ctx, AccessFlags access, Expression rvalue ) : Expression
BindArrayAccess ( Expression arr, Expression key, Expression ctx, AccessFlags access, Expression rvalue ) : Expression
WrapInstanceMethodToStatic ( MethodInfo method ) : MethodInfo

Builds MethodInfo as a static method calling an instance method nonvirtually inside.

Method Details

BindField() public static method

public static BindField ( PhpTypeInfo type, Type classCtx, Expression target, string field, Expression ctx, AccessFlags access, Expression rvalue ) : Expression
type PhpTypeInfo
classCtx System.Type
target System.Linq.Expressions.Expression
field string
ctx System.Linq.Expressions.Expression
access AccessFlags
rvalue System.Linq.Expressions.Expression
return System.Linq.Expressions.Expression

BindToCall() public static method

public static BindToCall ( Expression instance, MethodBase method, Expression ctx, OverloadBinder args ) : Expression
instance System.Linq.Expressions.Expression
method System.Reflection.MethodBase
ctx System.Linq.Expressions.Expression
args OverloadBinder
return System.Linq.Expressions.Expression

BindToCreator() public static method

public static BindToCreator ( ConstructorInfo ctors ) : TObjectCreator
ctors System.Reflection.ConstructorInfo
return TObjectCreator

BindToPhpCallable() public static method

public static BindToPhpCallable ( MethodBase target ) : PhpCallable
target System.Reflection.MethodBase
return PhpCallable

BindToPhpInvokable() public static method

public static BindToPhpInvokable ( MethodInfo methods ) : PhpInvokable
methods System.Reflection.MethodInfo
return PhpInvokable

EnsureNotNullPhpArray() public static method

public static EnsureNotNullPhpArray ( Expression variable ) : Expression
variable System.Linq.Expressions.Expression
return System.Linq.Expressions.Expression

GetStatic_T_Method() public static method

Gets Context.GetStatic{T}() method bound to a type.
public static GetStatic_T_Method ( Type t ) : MethodInfo
t System.Type
return System.Reflection.MethodInfo

IsContextParameter() public static method

public static IsContextParameter ( this p ) : bool
p this
return bool

IsImplicitParameter() public static method

Determines the parameter is considered as implicitly passed by runtime.
public static IsImplicitParameter ( this p ) : bool
p this
return bool

IsMandatoryParameter() public static method

Determines the parameter does not have a default value explicitly specified.
public static IsMandatoryParameter ( this p ) : bool
p this
return bool

IsParamsParameter() public static method

public static IsParamsParameter ( this p ) : bool
p this
return bool

LookupRuntimeFields() public static method

Find field corresponding to object's runtime fields.
public static LookupRuntimeFields ( Type target ) : FieldInfo
target System.Type
return System.Reflection.FieldInfo

NewPhpArray() public static method

public static NewPhpArray ( Expression ctx, IEnumerable values ) : Expression
ctx System.Linq.Expressions.Expression
values IEnumerable
return System.Linq.Expressions.Expression

TargetAsObject() public static method

public static TargetAsObject ( DynamicMetaObject target, Expression &target_expr, object &target_value, BindingRestrictions &restrictions ) : void
target System.Dynamic.DynamicMetaObject
target_expr System.Linq.Expressions.Expression
target_value object
restrictions System.Dynamic.BindingRestrictions
return void