Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3409d88

Browse files
committed
Cleanup Codec/Argument Reversing Passing.
1 parent5277ed9 commit3409d88

File tree

3 files changed

+17
-22
lines changed

3 files changed

+17
-22
lines changed

‎src/embed_tests/TestOperator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ public void Dispose()
2525
}
2626

2727
// Mock Integer class to test math ops on non-native dotnet types
28-
publicstructOwnInt
28+
publicreadonlystructOwnInt
2929
{
30-
privateint_value;
30+
privatereadonlyint_value;
3131

3232
publicintNum=>_value;
3333

‎src/runtime/MethodBinder.cs

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,14 @@ internal class MethodBinder
3434

3535
publicboolargsReversed=false;
3636

37-
internalMethodBinder(boolargsReversed=false)
37+
internalMethodBinder()
3838
{
3939
list=newList<MaybeMethodBase>();
40-
this.argsReversed=argsReversed;
4140
}
4241

43-
internalMethodBinder(MethodInfomi,boolargsReversed=false)
42+
internalMethodBinder(MethodInfomi)
4443
{
4544
list=newList<MaybeMethodBase>{newMaybeMethodBase(mi)};
46-
this.argsReversed=argsReversed;
4745
}
4846

4947
publicintCount
@@ -276,11 +274,10 @@ internal static int ArgPrecedence(Type t)
276274
/// <param name="inst">The Python target of the method invocation.</param>
277275
/// <param name="args">The Python arguments.</param>
278276
/// <param name="kw">The Python keyword arguments.</param>
279-
/// <param name="argsReversed">Reverse arguments of methods. Used for methods such as __radd__, __rsub__, __rmod__ etc</param>
280277
/// <returns>A Binding if successful. Otherwise null.</returns>
281-
internalBinding?Bind(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw,boolargsReversed=false)
278+
internalBinding?Bind(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw)
282279
{
283-
returnBind(inst,args,kw,null,null,argsReversed);
280+
returnBind(inst,args,kw,null,null);
284281
}
285282

286283
/// <summary>
@@ -293,11 +290,10 @@ internal static int ArgPrecedence(Type t)
293290
/// <param name="args">The Python arguments.</param>
294291
/// <param name="kw">The Python keyword arguments.</param>
295292
/// <param name="info">If not null, only bind to that method.</param>
296-
/// <param name="argsReversed">Reverse arguments of methods. Used for methods such as __radd__, __rsub__, __rmod__ etc</param>
297293
/// <returns>A Binding if successful. Otherwise null.</returns>
298-
internalBinding?Bind(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw,MethodBase?info,boolargsReversed=false)
294+
internalBinding?Bind(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw,MethodBase?info)
299295
{
300-
returnBind(inst,args,kw,info,null,argsReversed);
296+
returnBind(inst,args,kw,info,null);
301297
}
302298

303299
privatereadonlystructMatchedMethod
@@ -341,9 +337,8 @@ public MismatchedMethod(Exception exception, MethodBase mb)
341337
/// <param name="kw">The Python keyword arguments.</param>
342338
/// <param name="info">If not null, only bind to that method.</param>
343339
/// <param name="methodinfo">If not null, additionally attempt to bind to the generic methods in this array by inferring generic type parameters.</param>
344-
/// <param name="argsReversed">Reverse arguments of methods. Used for methods such as __radd__, __rsub__, __rmod__ etc</param>
345340
/// <returns>A Binding if successful. Otherwise null.</returns>
346-
internalBinding?Bind(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw,MethodBase?info,MethodBase[]?methodinfo,boolargsReversed=false)
341+
internalBinding?Bind(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw,MethodBase?info,MethodBase[]?methodinfo)
347342
{
348343
// loop to find match, return invoker w/ or w/o error
349344
varkwargDict=newDictionary<string,PyObject>();
@@ -819,14 +814,14 @@ static bool MatchesArgumentCount(int positionalArgumentCount, ParameterInfo[] pa
819814
returnmatch;
820815
}
821816

822-
internalvirtualNewReferenceInvoke(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw,boolargsReversed=false)
817+
internalvirtualNewReferenceInvoke(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw)
823818
{
824-
returnInvoke(inst,args,kw,null,null,argsReversed);
819+
returnInvoke(inst,args,kw,null,null);
825820
}
826821

827-
internalvirtualNewReferenceInvoke(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw,MethodBase?info,boolargsReversed=false)
822+
internalvirtualNewReferenceInvoke(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw,MethodBase?info)
828823
{
829-
returnInvoke(inst,args,kw,info,null,argsReversed=false);
824+
returnInvoke(inst,args,kw,info,null);
830825
}
831826

832827
protectedstaticvoidAppendArgumentTypes(StringBuilderto,BorrowedReferenceargs)
@@ -862,7 +857,7 @@ protected static void AppendArgumentTypes(StringBuilder to, BorrowedReference ar
862857
to.Append(')');
863858
}
864859

865-
internalvirtualNewReferenceInvoke(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw,MethodBase?info,MethodBase[]?methodinfo,boolargsReversed=false)
860+
internalvirtualNewReferenceInvoke(BorrowedReferenceinst,BorrowedReferenceargs,BorrowedReferencekw,MethodBase?info,MethodBase[]?methodinfo)
866861
{
867862
// No valid methods, nothing to bind.
868863
if(GetMethods().Length==0)
@@ -875,7 +870,7 @@ internal virtual NewReference Invoke(BorrowedReference inst, BorrowedReference a
875870
returnExceptions.RaiseTypeError(msg.ToString());
876871
}
877872

878-
Binding?binding=Bind(inst,args,kw,info,methodinfo,argsReversed);
873+
Binding?binding=Bind(inst,args,kw,info,methodinfo);
879874
objectresult;
880875
IntPtrts=IntPtr.Zero;
881876

‎src/runtime/Types/MethodObject.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public MethodObject(MaybeType type, string name, MethodBase[] info, bool allow_t
3232
this.type=type;
3333
this.name=name;
3434
this.infoList=newList<MaybeMethodInfo>();
35-
binder=newMethodBinder(argsReversed);
35+
binder=newMethodBinder(){argsReversed=argsReversed};
3636
foreach(MethodBaseitemininfo)
3737
{
3838
this.infoList.Add(item);
@@ -74,7 +74,7 @@ public virtual NewReference Invoke(BorrowedReference inst, BorrowedReference arg
7474

7575
publicvirtualNewReferenceInvoke(BorrowedReferencetarget,BorrowedReferenceargs,BorrowedReferencekw,MethodBase?info,boolargsReversed=false)
7676
{
77-
returnbinder.Invoke(target,args,kw,info,this.info,argsReversed);
77+
returnbinder.Invoke(target,args,kw,info,this.info);
7878
}
7979

8080
/// <summary>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp