3939package com .oracle .graal .python .tck ;
4040
4141import static org .graalvm .polyglot .tck .TypeDescriptor .ANY ;
42+ import static org .graalvm .polyglot .tck .TypeDescriptor .ARRAY ;
4243import 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 ;
4347import static org .graalvm .polyglot .tck .TypeDescriptor .NULL ;
4448import static org .graalvm .polyglot .tck .TypeDescriptor .NUMBER ;
4549import static org .graalvm .polyglot .tck .TypeDescriptor .OBJECT ;
4650import static org .graalvm .polyglot .tck .TypeDescriptor .STRING ;
4751import static org .graalvm .polyglot .tck .TypeDescriptor .array ;
4852import static org .graalvm .polyglot .tck .TypeDescriptor .executable ;
53+ import static org .graalvm .polyglot .tck .TypeDescriptor .intersection ;
4954import static org .graalvm .polyglot .tck .TypeDescriptor .union ;
5055
5156import 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