39
39
package com .oracle .graal .python .tck ;
40
40
41
41
import static org .graalvm .polyglot .tck .TypeDescriptor .ANY ;
42
+ import static org .graalvm .polyglot .tck .TypeDescriptor .ARRAY ;
42
43
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 ;
43
47
import static org .graalvm .polyglot .tck .TypeDescriptor .NULL ;
44
48
import static org .graalvm .polyglot .tck .TypeDescriptor .NUMBER ;
45
49
import static org .graalvm .polyglot .tck .TypeDescriptor .OBJECT ;
46
50
import static org .graalvm .polyglot .tck .TypeDescriptor .STRING ;
47
51
import static org .graalvm .polyglot .tck .TypeDescriptor .array ;
48
52
import static org .graalvm .polyglot .tck .TypeDescriptor .executable ;
53
+ import static org .graalvm .polyglot .tck .TypeDescriptor .intersection ;
49
54
import static org .graalvm .polyglot .tck .TypeDescriptor .union ;
50
55
51
56
import java .io .IOException ;
@@ -100,6 +105,8 @@ private static void addStatementSnippet(Context context, List<Snippet> snippets,
100
105
101
106
public Collection <? extends Snippet > createValueConstructors (Context context ) {
102
107
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 );
103
110
// @formatter:off
104
111
addValueSnippet (context , snippets , "BooleanType:True" , BOOLEAN , "lambda: True" );
105
112
addValueSnippet (context , snippets , "BooleanType:False" , BOOLEAN , "lambda: False" );
@@ -108,11 +115,11 @@ public Collection<? extends Snippet> createValueConstructors(Context context) {
108
115
addValueSnippet (context , snippets , "FloatType" , NUMBER , "lambda: 1.1" );
109
116
addValueSnippet (context , snippets , "ComplexType" , OBJECT , "lambda: 1.0j" );
110
117
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: ()" );
112
119
addValueSnippet (context , snippets , "TupleType:Number" , array (NUMBER ), "lambda: (1, 2.1)" );
113
120
addValueSnippet (context , snippets , "TupleType:String" , array (STRING ), "lambda: ('foo', 'bar')" );
114
121
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: []" );
116
123
addValueSnippet (context , snippets , "ListType:Number" , array (NUMBER ), "lambda: [1, 2.1]" );
117
124
addValueSnippet (context , snippets , "ListType:String" , array (STRING ), "lambda: ['foo', 'bar']" );
118
125
addValueSnippet (context , snippets , "ListType:Mixed" , array (union (NUMBER , STRING )), "lambda: ['foo', 1]" );
0 commit comments