Skip to content

Commit 4fbf891

Browse files
committed
feat: sabe parameter names along with method information in method binder
1 parent 6a5e575 commit 4fbf891

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

src/runtime/MethodBinder.cs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -985,13 +985,15 @@ internal virtual NewReference Invoke(BorrowedReference inst, BorrowedReference a
985985
[Serializable]
986986
internal class MethodInformation
987987
{
988+
private Lazy<string[]> _parametersNames;
989+
988990
public MethodBase MethodBase { get; }
989991

990992
public ParameterInfo[] ParameterInfo { get; }
991993

992994
public bool IsOriginal { get; }
993995

994-
public string[] ParametersNames { get; }
996+
public string[] ParametersNames { get { return _parametersNames.Value; } }
995997

996998
public MethodInformation(MethodBase methodBase, ParameterInfo[] parameterInfo)
997999
: this(methodBase, parameterInfo, true)
@@ -1004,14 +1006,9 @@ public MethodInformation(MethodBase methodBase, ParameterInfo[] parameterInfo, b
10041006
ParameterInfo = parameterInfo;
10051007
IsOriginal = isOriginal;
10061008

1007-
if (isOriginal)
1008-
{
1009-
ParametersNames = ParameterInfo.Select(pi => pi.Name).ToArray();
1010-
}
1011-
else
1012-
{
1013-
ParametersNames = ParameterInfo.Select(pi => pi.Name.ToSnakeCase()).ToArray();
1014-
}
1009+
_parametersNames = new Lazy<string[]>(() => IsOriginal
1010+
? ParameterInfo.Select(pi => pi.Name).ToArray()
1011+
: ParameterInfo.Select(pi => pi.Name.ToSnakeCase()).ToArray());
10151012
}
10161013

10171014
public override string ToString()

src/runtime/Util/Util.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
namespace Python.Runtime
1111
{
12-
internal static class Util
12+
public static class Util
1313
{
1414
internal const string UnstableApiMessage =
1515
"This API is unstable, and might be changed or removed in the next minor release";

0 commit comments

Comments
 (0)