Skip to content

Commit 8091917

Browse files
committed
[GR-23238] Positional-only arguments in int() constructor
PullRequest: graalpython/1074
2 parents f137fe9 + adeaf46 commit 8091917

File tree

4 files changed

+6
-3
lines changed

4 files changed

+6
-3
lines changed

graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_int.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
*graalpython.lib-python.3.test.test_int.IntTestCases.test_int_subclass_with_int
88
*graalpython.lib-python.3.test.test_int.IntTestCases.test_intconversion
99
*graalpython.lib-python.3.test.test_int.IntTestCases.test_issue31619
10+
*graalpython.lib-python.3.test.test_int.IntTestCases.test_keyword_args
1011
*graalpython.lib-python.3.test.test_int.IntTestCases.test_no_args
1112
*graalpython.lib-python.3.test.test_int.IntTestCases.test_small_ints
1213
*graalpython.lib-python.3.test.test_int.IntTestCases.test_string_float

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/Builtin.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545

4646
int maxNumOfPositionalArgs() default -1;
4747

48+
int numOfPositionalOnlyArgs() default -1;
49+
4850
boolean isGetter() default false;
4951

5052
boolean isSetter() default false;

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/BuiltinConstructors.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1139,7 +1139,7 @@ private HashingCollectionNodes.SetItemNode getSetItemNode() {
11391139

11401140
// int(x=0)
11411141
// int(x, base=10)
1142-
@Builtin(name = INT, minNumOfPositionalArgs = 1, parameterNames = {"cls", "x", "base"}, constructsClass = PythonBuiltinClassType.PInt)
1142+
@Builtin(name = INT, minNumOfPositionalArgs = 1, parameterNames = {"cls", "x", "base"}, numOfPositionalOnlyArgs = 2, constructsClass = PythonBuiltinClassType.PInt)
11431143
@GenerateNodeFactory
11441144
public abstract static class IntNode extends PythonBuiltinNode {
11451145

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/function/BuiltinFunctionRootNode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,8 @@ private static Signature createSignature(NodeFactory<? extends PythonBuiltinBase
240240
}
241241
}
242242

243-
return new Signature(builtin.takesVarKeywordArgs(), (builtin.takesVarArgs() || builtin.varArgsMarker()) ? parameterNames.length : -1, builtin.varArgsMarker(), parameterNames,
244-
builtin.keywordOnlyNames());
243+
return new Signature(builtin.numOfPositionalOnlyArgs(), builtin.takesVarKeywordArgs(), (builtin.takesVarArgs() || builtin.varArgsMarker()) ? parameterNames.length : -1,
244+
builtin.varArgsMarker(), parameterNames, builtin.keywordOnlyNames());
245245
}
246246

247247
/**

0 commit comments

Comments
 (0)