Skip to content

Commit 3ca1c8a

Browse files
committed
[GR-9595] Fix an empty array Python TCK definition.
PullRequest: graalpython-open/48
2 parents f23f223 + 34be4f0 commit 3ca1c8a

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

graalpython/com.oracle.graal.python.tck/src/com/oracle/graal/python/tck/PythonProvider.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,18 @@
3939
package com.oracle.graal.python.tck;
4040

4141
import static org.graalvm.polyglot.tck.TypeDescriptor.ANY;
42+
import static org.graalvm.polyglot.tck.TypeDescriptor.ARRAY;
4243
import static org.graalvm.polyglot.tck.TypeDescriptor.BOOLEAN;
44+
import static org.graalvm.polyglot.tck.TypeDescriptor.EXECUTABLE;
45+
import static org.graalvm.polyglot.tck.TypeDescriptor.HOST_OBJECT;
46+
import static org.graalvm.polyglot.tck.TypeDescriptor.NATIVE_POINTER;
4347
import static org.graalvm.polyglot.tck.TypeDescriptor.NULL;
4448
import static org.graalvm.polyglot.tck.TypeDescriptor.NUMBER;
4549
import static org.graalvm.polyglot.tck.TypeDescriptor.OBJECT;
4650
import static org.graalvm.polyglot.tck.TypeDescriptor.STRING;
4751
import static org.graalvm.polyglot.tck.TypeDescriptor.array;
4852
import static org.graalvm.polyglot.tck.TypeDescriptor.executable;
53+
import static org.graalvm.polyglot.tck.TypeDescriptor.intersection;
4954
import static org.graalvm.polyglot.tck.TypeDescriptor.union;
5055

5156
import java.io.IOException;
@@ -100,6 +105,8 @@ private static void addStatementSnippet(Context context, List<Snippet> snippets,
100105

101106
public Collection<? extends Snippet> createValueConstructors(Context context) {
102107
List<Snippet> snippets = new ArrayList<>();
108+
final TypeDescriptor noType = intersection();
109+
final TypeDescriptor allTypes = intersection(noType, NULL, BOOLEAN, NUMBER, STRING, HOST_OBJECT, NATIVE_POINTER, OBJECT, ARRAY, EXECUTABLE);
103110
// @formatter:off
104111
addValueSnippet(context, snippets, "BooleanType:True", BOOLEAN, "lambda: True");
105112
addValueSnippet(context, snippets, "BooleanType:False", BOOLEAN, "lambda: False");
@@ -108,11 +115,11 @@ public Collection<? extends Snippet> createValueConstructors(Context context) {
108115
addValueSnippet(context, snippets, "FloatType", NUMBER, "lambda: 1.1");
109116
addValueSnippet(context, snippets, "ComplexType", OBJECT, "lambda: 1.0j");
110117
addValueSnippet(context, snippets, "StringType", STRING, "lambda: 'spam'");
111-
addValueSnippet(context, snippets, "TupleType:Empty", array(NULL), "lambda: ()");
118+
addValueSnippet(context, snippets, "TupleType:Empty", array(allTypes), "lambda: ()");
112119
addValueSnippet(context, snippets, "TupleType:Number", array(NUMBER), "lambda: (1, 2.1)");
113120
addValueSnippet(context, snippets, "TupleType:String", array(STRING), "lambda: ('foo', 'bar')");
114121
addValueSnippet(context, snippets, "TupleType:Mixed", array(union(NUMBER, STRING)), "lambda: ('foo', 1)");
115-
addValueSnippet(context, snippets, "ListType:Empty", array(NULL), "lambda: []");
122+
addValueSnippet(context, snippets, "ListType:Empty", array(allTypes), "lambda: []");
116123
addValueSnippet(context, snippets, "ListType:Number", array(NUMBER), "lambda: [1, 2.1]");
117124
addValueSnippet(context, snippets, "ListType:String", array(STRING), "lambda: ['foo', 'bar']");
118125
addValueSnippet(context, snippets, "ListType:Mixed", array(union(NUMBER, STRING)), "lambda: ['foo', 1]");

0 commit comments

Comments
 (0)