public override DynamicMetaObject /*!*/ GetExpression(PythonBinder /*!*/ binder) { PythonOverloadResolver resolve; if (_creating.IsSystemType || _creating.HasSystemCtor) { resolve = new PythonOverloadResolver( binder, Arguments.Arguments, Arguments.Signature, CodeContext ); } else { resolve = new PythonOverloadResolver( binder, ArrayUtils.Insert(Arguments.Self, Arguments.Arguments), GetDynamicNewSignature(), CodeContext ); } return(binder.CallMethod( resolve, _creating.UnderlyingSystemType.GetConstructors(), Arguments.Self.Restrictions, _creating.Name )); }
public override DynamicMetaObject /*!*/ GetExpression(PythonBinder /*!*/ binder) { return(binder.CallMethod( new PythonOverloadResolver( binder, ArrayUtils.Insert(Arguments.Self, Arguments.Arguments), Arguments.Signature.InsertArgument(new Argument(ArgumentType.Simple)), CodeContext ), _ctor.Targets, _creating.Name )); }
public override DynamicMetaObject /*!*/ GetExpression(PythonBinder /*!*/ binder) { PythonOverloadResolver resolver; if (_creating.IsSystemType || _creating.HasSystemCtor) { resolver = new PythonOverloadResolver(binder, DynamicMetaObject.EmptyMetaObjects, new CallSignature(0), CodeContext); } else { resolver = new PythonOverloadResolver(binder, new[] { Arguments.Self }, new CallSignature(1), CodeContext); } return(binder.CallMethod(resolver, _creating.UnderlyingSystemType.GetConstructors(), BindingRestrictions.Empty, _creating.Name)); }
public override DynamicMetaObject /*!*/ MakeInitCall(PythonBinder /*!*/ binder, DynamicMetaObject /*!*/ createExpr) { if (_method == InstanceOps.Init.Template) { // we have a default __init__, don't call it. return(createExpr); } return(binder.CallMethod( new PythonOverloadResolver( binder, createExpr, Arguments.Arguments, Arguments.Signature, CodeContext ), _method.Targets, Arguments.Self.Restrictions )); }
public override DynamicMetaObject/*!*/ MakeInitCall(PythonBinder/*!*/ binder, DynamicMetaObject/*!*/ createExpr) { if (_method == InstanceOps.Init.Template) { // we have a default __init__, don't call it. return createExpr; } return binder.CallMethod( new PythonOverloadResolver( binder, createExpr, Arguments.Arguments, Arguments.Signature, CodeContext ), _method.Targets, Arguments.Self.Restrictions ); }
public override DynamicMetaObject/*!*/ GetExpression(PythonBinder/*!*/ binder) { return binder.CallMethod( new PythonOverloadResolver( binder, ArrayUtils.Insert(Arguments.Self, Arguments.Arguments), Arguments.Signature.InsertArgument(new Argument(ArgumentType.Simple)), CodeContext ), _ctor.Targets, _creating.Name ); }
public override DynamicMetaObject/*!*/ GetExpression(PythonBinder/*!*/ binder) { PythonOverloadResolver resolve; if (_creating.IsSystemType || _creating.HasSystemCtor) { resolve = new PythonOverloadResolver( binder, Arguments.Arguments, Arguments.Signature, CodeContext ); } else { resolve = new PythonOverloadResolver( binder, ArrayUtils.Insert(Arguments.Self, Arguments.Arguments), GetDynamicNewSignature(), CodeContext ); } return binder.CallMethod( resolve, _creating.UnderlyingSystemType.GetConstructors(), Arguments.Self.Restrictions, _creating.Name ); }
public override DynamicMetaObject/*!*/ GetExpression(PythonBinder/*!*/ binder) { PythonOverloadResolver resolver; if (_creating.IsSystemType || _creating.HasSystemCtor) { resolver = new PythonOverloadResolver(binder, DynamicMetaObject.EmptyMetaObjects, new CallSignature(0), CodeContext); } else { resolver = new PythonOverloadResolver(binder, new[] { Arguments.Self }, new CallSignature(1), CodeContext); } return binder.CallMethod(resolver, _creating.UnderlyingSystemType.GetConstructors(), BindingRestrictions.Empty, _creating.Name); }