From 91fe2913bc3cbcea88a12f289e742c759cdf8031 Mon Sep 17 00:00:00 2001 From: Vassil Mladenov Date: Fri, 28 Feb 2020 12:08:34 -0800 Subject: [PATCH] Roll back array-specific changes through D19607758 Reviewed By: billf Differential Revision: D19828807 fbshipit-source-id: 465181beec3fbcc5e8b5a16e547b2835e776f097 --- hphp/test/slow/array/cow.php | 2 +- hphp/test/slow/ext_vsdebug/common.inc | 2 +- hphp/test/slow/func-ptr/cmp.php | 2 +- hphp/test/slow/global_func/class_meth/cmp.php | 2 +- .../global_func/class_meth/dv_arr/cmp_warn.php | 8 +- .../dv_arr_hack_arr/container_builtins_warn.php | 32 +++--- hphp/test/slow/hack-arrays/arraylike.php | 4 +- hphp/test/slow/hack_arr_compat/add.php | 8 +- hphp/test/slow/hack_arr_compat/array_map.php | 4 +- hphp/test/slow/hack_arr_compat/compare.php | 24 ++--- hphp/test/slow/hack_arr_compat/dyn-props.php | 2 +- hphp/test/slow/hack_arr_compat/fb_unserialize.php | 2 +- hphp/test/slow/hack_arr_compat/gena.php | 2 +- hphp/test/slow/hack_arr_compat/implicit-key.php | 20 ++-- hphp/test/slow/hack_arr_compat/intlike.php | 12 +-- hphp/test/slow/hack_arr_compat/json-encode.php | 18 ++-- hphp/test/slow/hack_arr_compat/null_index.php | 2 +- hphp/test/slow/hack_arr_compat/scalars.php | 118 ++++++++++----------- hphp/test/slow/hack_arr_compat/serialize2.php | 18 ++-- .../slow/hack_arr_compat/suppress-builtins.php | 20 ++-- hphp/test/slow/is-list-like.php | 8 +- .../slow/prop-type-hints/initial-value-good.php | 8 +- hphp/test/slow/prop-type-hints/thrift-defs.inc | 4 +- 23 files changed, 161 insertions(+), 161 deletions(-) rewrite hphp/test/slow/hack_arr_compat/scalars.php (84%) diff --git a/hphp/test/slow/array/cow.php b/hphp/test/slow/array/cow.php index 45c6c9e6af5..02f27d53c9a 100644 --- a/hphp/test/slow/array/cow.php +++ b/hphp/test/slow/array/cow.php @@ -8,7 +8,7 @@ function cow(): (array, array, array) { $a1[] = 6; $a2[] = 7; $a2[] = 8; - return varray[$a1, $a2, $a3]; + return tuple($a1, $a2, $a3); } function main() { diff --git a/hphp/test/slow/ext_vsdebug/common.inc b/hphp/test/slow/ext_vsdebug/common.inc index 197433d4e3b..4c40f28f8b5 100644 --- a/hphp/test/slow/ext_vsdebug/common.inc +++ b/hphp/test/slow/ext_vsdebug/common.inc @@ -192,7 +192,7 @@ function setBreakpoints($breakpoints, $verify = true) { ]]; $responseBps = varray[]; - $responseLines = varray[]; + $responseLines = darray[]; foreach ($bpsForFile{'breakpoints'} as $bp) { $setBreakpointsCommand['arguments']['breakpoints'][] = darray["line" => $bp{'line'}, "condition" => $bp{'condition'}]; $responseBps[] = darray["id" => ++ExtVsdebugCommonInc::$bpId, "verified" => false]; diff --git a/hphp/test/slow/func-ptr/cmp.php b/hphp/test/slow/func-ptr/cmp.php index 6c5895d6563..d0b44b1fb32 100644 --- a/hphp/test/slow/func-ptr/cmp.php +++ b/hphp/test/slow/func-ptr/cmp.php @@ -33,7 +33,7 @@ function comp($x, $y) { function getTestcase(int $num) { $test_cases = varray[ true, false, 0, 1, 0.0, 1.0, "foo", - varray['foo'], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec['foo']), varray['foo'], vec['foo'], darray[0 => 'foo'], diff --git a/hphp/test/slow/global_func/class_meth/cmp.php b/hphp/test/slow/global_func/class_meth/cmp.php index 34d7c942873..b2e5ed49850 100644 --- a/hphp/test/slow/global_func/class_meth/cmp.php +++ b/hphp/test/slow/global_func/class_meth/cmp.php @@ -35,7 +35,7 @@ function getTestcase(int $num) { 0.0, 1.0, "Array", HH\fun("wrap"), - varray['A', 'func1'], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec['A', 'func1']), HH\Vector{'A', 'foo'}, varray['A', 'func1'], vec['A', 'func1'], diff --git a/hphp/test/slow/global_func/class_meth/dv_arr/cmp_warn.php b/hphp/test/slow/global_func/class_meth/dv_arr/cmp_warn.php index 0f4aa44d0c5..62633d65a75 100644 --- a/hphp/test/slow/global_func/class_meth/dv_arr/cmp_warn.php +++ b/hphp/test/slow/global_func/class_meth/dv_arr/cmp_warn.php @@ -60,11 +60,11 @@ function comp($x, $y) { <<__EntryPoint>> function main() { print "* varray vs array:\n"; - comp(varray[A::class, 'func1'], varray[A::class, 'func1']); - comp(varray[A::class, 'func1'], varray[A::class, 'func2']); + comp(varray[A::class, 'func1'], __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[A::class, 'func1'])); + comp(varray[A::class, 'func1'], __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[A::class, 'func2'])); print "* clsmeth vs array:\n"; - comp(HH\class_meth(A::class, 'func1'), varray[A::class, 'func1']); - comp(HH\class_meth(A::class, 'func1'), varray[A::class, 'func2']); + comp(HH\class_meth(A::class, 'func1'), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[A::class, 'func1'])); + comp(HH\class_meth(A::class, 'func1'), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[A::class, 'func2'])); print "* varray vs varray:\n"; comp(varray[A::class, 'func1'], varray[A::class, 'func1']); diff --git a/hphp/test/slow/global_func/class_meth/dv_arr_hack_arr/container_builtins_warn.php b/hphp/test/slow/global_func/class_meth/dv_arr_hack_arr/container_builtins_warn.php index 955674b9d3e..3f29eb04d0f 100644 --- a/hphp/test/slow/global_func/class_meth/dv_arr_hack_arr/container_builtins_warn.php +++ b/hphp/test/slow/global_func/class_meth/dv_arr_hack_arr/container_builtins_warn.php @@ -19,23 +19,23 @@ function test_warning($c, $f, $cmp) { $x = HH\class_meth($c, $f); var_dump(prev(inout $x)); $x = HH\class_meth($c, $f); var_dump(end(inout $x)); - var_dump(array_diff(HH\class_meth($c, $f), varray[$f])); - var_dump(array_udiff(HH\class_meth($c, $f), varray[$f], $cmp)); - var_dump(array_diff_assoc(HH\class_meth($c, $f), varray[$f])); - var_dump(array_diff_uassoc(HH\class_meth($c, $f), varray[$f], $cmp)); - var_dump(array_udiff_assoc(HH\class_meth($c, $f), varray[$f], $cmp)); - var_dump(array_udiff_uassoc(HH\class_meth($c, $f), varray[$f], $cmp, $cmp)); - var_dump(array_diff_key(HH\class_meth($c, $f), varray[0])); - var_dump(array_diff_ukey(HH\class_meth($c, $f), varray[0], $cmp)); + var_dump(array_diff(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$f]))); + var_dump(array_udiff(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$f]), $cmp)); + var_dump(array_diff_assoc(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$f]))); + var_dump(array_diff_uassoc(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$f]), $cmp)); + var_dump(array_udiff_assoc(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$f]), $cmp)); + var_dump(array_udiff_uassoc(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$f]), $cmp, $cmp)); + var_dump(array_diff_key(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[0]))); + var_dump(array_diff_ukey(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[0]), $cmp)); - var_dump(array_intersect(HH\class_meth($c, $f), varray[$f])); - var_dump(array_uintersect(HH\class_meth($c, $f), varray[$f], $cmp)); - var_dump(array_intersect_assoc(HH\class_meth($c, $f), varray[$c])); - var_dump(array_intersect_uassoc(HH\class_meth($c, $f), varray[$c], $cmp)); - var_dump(array_uintersect_assoc(HH\class_meth($c, $f), varray[$c], $cmp)); - var_dump(array_uintersect_uassoc(HH\class_meth($c, $f), varray[$c], $cmp, $cmp)); - var_dump(array_intersect_key(HH\class_meth($c, $f), varray[0])); - var_dump(array_intersect_ukey(HH\class_meth($c, $f), varray[0], $cmp)); + var_dump(array_intersect(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$f]))); + var_dump(array_uintersect(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$f]), $cmp)); + var_dump(array_intersect_assoc(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$c]))); + var_dump(array_intersect_uassoc(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$c]), $cmp)); + var_dump(array_uintersect_assoc(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$c]), $cmp)); + var_dump(array_uintersect_uassoc(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[$c]), $cmp, $cmp)); + var_dump(array_intersect_key(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[0]))); + var_dump(array_intersect_ukey(HH\class_meth($c, $f), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[0]), $cmp)); $x = HH\class_meth($c, $f); var_dump(sort(inout $x)); $x = HH\class_meth($c, $f); var_dump(rsort(inout $x)); diff --git a/hphp/test/slow/hack-arrays/arraylike.php b/hphp/test/slow/hack-arrays/arraylike.php index 83f227e5d99..b457f009a14 100644 --- a/hphp/test/slow/hack-arrays/arraylike.php +++ b/hphp/test/slow/hack-arrays/arraylike.php @@ -5,7 +5,7 @@ function takes_arraylike(arraylike $a) { } function ret_array(): arraylike { - return darray[42 => 'lol']; + return __hhvm_intrinsics\dummy_cast_to_kindofarray(dict[42 => 'lol']); } function ret_varray(): arraylike { return varray['lol']; @@ -86,7 +86,7 @@ function test_builtins($a, $b, $c, $d, $e, $f, $g) { } function main() { - takes_arraylike(darray[42 => 'lol']); + takes_arraylike(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict[42 => 'lol'])); takes_arraylike(varray['lol']); takes_arraylike(darray[42 => 'lol']); takes_arraylike(vec['lol']); diff --git a/hphp/test/slow/hack_arr_compat/add.php b/hphp/test/slow/hack_arr_compat/add.php index 061b5bebc13..53fb0a0ad1a 100644 --- a/hphp/test/slow/hack_arr_compat/add.php +++ b/hphp/test/slow/hack_arr_compat/add.php @@ -6,10 +6,10 @@ function do_add($a, $b) { } function main() { - do_add(varray[], varray[]); - do_add(varray[1, 2, 3], varray[]); - do_add(varray[], varray[1, 2, 3]); - do_add(varray[1, 2, 3], varray[4, 5, 6]); + do_add(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[]), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[])); + do_add(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[])); + do_add(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[]), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); + do_add(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[4, 5, 6])); } <<__EntryPoint>> diff --git a/hphp/test/slow/hack_arr_compat/array_map.php b/hphp/test/slow/hack_arr_compat/array_map.php index e2263f6c36d..7f52571ae63 100644 --- a/hphp/test/slow/hack_arr_compat/array_map.php +++ b/hphp/test/slow/hack_arr_compat/array_map.php @@ -4,7 +4,7 @@ <<__EntryPoint>> function main_array_map() { -array_map($x ==> $x, darray['x' => 3]); -array_filter(darray['x' => 3], $x ==> true); +array_map($x ==> $x, __hhvm_intrinsics\dummy_cast_to_kindofarray(dict['x' => 3])); +array_filter(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict['x' => 3]), $x ==> true); echo "DONE\n"; } diff --git a/hphp/test/slow/hack_arr_compat/compare.php b/hphp/test/slow/hack_arr_compat/compare.php index b3925a68152..876c5bbc9f1 100644 --- a/hphp/test/slow/hack_arr_compat/compare.php +++ b/hphp/test/slow/hack_arr_compat/compare.php @@ -45,12 +45,12 @@ function do_compares($a, $b, $cmp) { function main() { set_error_handler(fun('handler')); - $x1 = varray[ - varray[], - varray[1, 2, varray[3, 4]], - darray['a' => 'b', 'c' => 'd'] - ]; - $x2_non_hack_arrays = varray[ + $x1 = __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[ + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[]), + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[3, 4])]), + __hhvm_intrinsics\dummy_cast_to_kindofarray(dict['a' => 'b', 'c' => 'd']) + ]); + $x2_non_hack_arrays = __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[ true, false, null, @@ -59,18 +59,18 @@ function main() { 'abc', new stdclass, imagecreate(1, 1), - varray[1, varray[2, 5], varray[3, 4]], - darray['a' => varray[], 'c' => varray[1, 2]], - ]; - $x2_hack_arrays = varray[ + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[2, 5]), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[3, 4])]), + __hhvm_intrinsics\dummy_cast_to_kindofarray(dict['a' => __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[]), 'c' => __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2])]), + ]); + $x2_hack_arrays = array( vec[], vec[1, 2, 3], dict[], dict['a' => 'b', 'c' => 'd'], keyset[], keyset['a', 'b', 'c'], - varray[1, 2, vec[3, 4]], - ]; + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, vec[3, 4]]), + ); $do_compare_hack_array_listener = $thunk ==> do_compare_hack_array($thunk); diff --git a/hphp/test/slow/hack_arr_compat/dyn-props.php b/hphp/test/slow/hack_arr_compat/dyn-props.php index cb01ba20e45..78a36e263f9 100644 --- a/hphp/test/slow/hack_arr_compat/dyn-props.php +++ b/hphp/test/slow/hack_arr_compat/dyn-props.php @@ -17,7 +17,7 @@ class D { function main() { $c = new C(); - $c->foo = varray[42]; + $c->foo = __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[42]); $c->bar += 42; $c->baz++; var_dump($c); diff --git a/hphp/test/slow/hack_arr_compat/fb_unserialize.php b/hphp/test/slow/hack_arr_compat/fb_unserialize.php index b42f07a51b0..0dd67138a35 100644 --- a/hphp/test/slow/hack_arr_compat/fb_unserialize.php +++ b/hphp/test/slow/hack_arr_compat/fb_unserialize.php @@ -3,7 +3,7 @@ <<__EntryPoint>> function main () { $result = false; - var_dump(fb_unserialize(fb_serialize(darray["1" => 1]), inout $result)); + var_dump(fb_unserialize(fb_serialize(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict["1" => 1])), inout $result)); var_dump(fb_unserialize(fb_serialize(dict["1" => 1], FB_SERIALIZE_HACK_ARRAYS), inout $result)); diff --git a/hphp/test/slow/hack_arr_compat/gena.php b/hphp/test/slow/hack_arr_compat/gena.php index d4d0e8ab9f1..5fce458aea7 100644 --- a/hphp/test/slow/hack_arr_compat/gena.php +++ b/hphp/test/slow/hack_arr_compat/gena.php @@ -15,7 +15,7 @@ async function gena( async function f() { return 1; } async function test() { - $x = varray[f(), f(), f()]; + $x = __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[f(), f(), f()]); await gena($x); } diff --git a/hphp/test/slow/hack_arr_compat/implicit-key.php b/hphp/test/slow/hack_arr_compat/implicit-key.php index d50c488909b..b42261d0498 100644 --- a/hphp/test/slow/hack_arr_compat/implicit-key.php +++ b/hphp/test/slow/hack_arr_compat/implicit-key.php @@ -88,25 +88,25 @@ function member_ops($arr, $keys) { <<__EntryPoint>> function main_implicit_key() { -$sub = darray[0 => 100, 1 => 100, "" => 100]; -$arr = darray[ - 0 => darray[ +$sub = __hhvm_intrinsics\dummy_cast_to_kindofarray(dict[0 => 100, 1 => 100, "" => 100]); +$arr = __hhvm_intrinsics\dummy_cast_to_kindofarray(dict[ + 0 => __hhvm_intrinsics\dummy_cast_to_kindofarray(dict[ 0 => $sub, 1 => $sub, "" => $sub - ], - 1 => darray[ + ]), + 1 => __hhvm_intrinsics\dummy_cast_to_kindofarray(dict[ 0 => $sub, 1 => $sub, "" => $sub - ], - "" => darray[ + ]), + "" => __hhvm_intrinsics\dummy_cast_to_kindofarray(dict[ 0 => $sub, 1 => $sub, "" => $sub - ] -]; -$keys = varray[null, true, false, 1.5]; + ]) +]); +$keys = array(null, true, false, 1.5); basic_getters($arr, $keys); basic_setters($arr, $keys); member_ops($arr, $keys); diff --git a/hphp/test/slow/hack_arr_compat/intlike.php b/hphp/test/slow/hack_arr_compat/intlike.php index 653b56cfff6..156cf134948 100644 --- a/hphp/test/slow/hack_arr_compat/intlike.php +++ b/hphp/test/slow/hack_arr_compat/intlike.php @@ -41,13 +41,13 @@ function test_casting($a) { } function run_tests() { - test(varray[], '10'); - test(varray[1, 2, 3, 4], '2'); - test(darray[10 => 'abc'], '10'); + test(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[]), '10'); + test(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3, 4]), '2'); + test(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict[10 => 'abc']), '10'); - test_const_key(varray[]); - test_const_key(varray[1, 2, 3, 4]); - test_const_key(darray[2 => 'abc']); + test_const_key(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[])); + test_const_key(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3, 4])); + test_const_key(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict[2 => 'abc'])); test_casting(dict['1' => true, '2' => false]); test_casting(keyset['1', '2', '3']); diff --git a/hphp/test/slow/hack_arr_compat/json-encode.php b/hphp/test/slow/hack_arr_compat/json-encode.php index d01ae01ddc6..97e041b0f48 100644 --- a/hphp/test/slow/hack_arr_compat/json-encode.php +++ b/hphp/test/slow/hack_arr_compat/json-encode.php @@ -4,11 +4,11 @@ function literals() { echo "================== literals ==================\n"; json_encode( - varray[], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[]), JSON_FB_WARN_DICTS | JSON_FB_WARN_KEYSETS | JSON_FB_WARN_PHP_ARRAYS ); json_encode( - varray[1, 2, 3, 4], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3, 4]), JSON_FB_WARN_DICTS | JSON_FB_WARN_KEYSETS | JSON_FB_WARN_PHP_ARRAYS ); json_encode( @@ -37,7 +37,7 @@ function literals() { ); json_encode( - varray[varray[1, 2], varray[3, 4]], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2]), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[3, 4])]), JSON_FB_WARN_DICTS | JSON_FB_WARN_KEYSETS | JSON_FB_WARN_PHP_ARRAYS ); json_encode( @@ -50,15 +50,15 @@ function literals() { ); json_encode( - varray[1, vec[2, 3, 4], varray[5, 6, 7], keyset[8, 9, 10], dict['a' => 11, 'b' => 12]], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, vec[2, 3, 4], __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[5, 6, 7]), keyset[8, 9, 10], dict['a' => 11, 'b' => 12]]), JSON_FB_WARN_DICTS | JSON_FB_WARN_KEYSETS | JSON_FB_WARN_PHP_ARRAYS ); } function test($name, $options) { echo "==================== $name =========================\n"; - var_dump(json_encode(varray[], $options)); - var_dump(json_encode(varray[1, 2, 3, 4], $options)); + var_dump(json_encode(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[]), $options)); + var_dump(json_encode(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3, 4]), $options)); var_dump(json_encode(vec[], $options)); var_dump(json_encode(vec[1, 2, 3, 4], $options)); var_dump(json_encode(dict[], $options)); @@ -70,7 +70,7 @@ function test($name, $options) { var_dump(json_encode(keyset[], $options)); var_dump(json_encode(keyset['a', 'b', 'c'], $options)); - var_dump(json_encode(varray[varray[1, 2], varray[3, 4]], $options)); + var_dump(json_encode(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2]), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[3, 4])]), $options)); var_dump(json_encode(vec[vec[1, 2], vec[3, 4]], $options)); var_dump(json_encode( dict['a' => dict['c' => 1, 'd' => 2], 'b' => dict['e' => 3, 'f' => 4]], @@ -78,12 +78,12 @@ function test($name, $options) { )); var_dump(json_encode( - varray[1, vec[2, 3, 4], varray[5, 6, 7], keyset[8, 9, 10], dict['a' => 11, 'b' => 12]], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, vec[2, 3, 4], __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[5, 6, 7]), keyset[8, 9, 10], dict['a' => 11, 'b' => 12]]), $options )); $obj = new stdclass(); - $obj->a = varray[1, 2, 3]; + $obj->a = __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]); $obj->b = vec[1, 2, 3]; $obj->c = dict['a' => 1, 'b' => 2]; $obj->d = keyset['a', 'b', 'c']; diff --git a/hphp/test/slow/hack_arr_compat/null_index.php b/hphp/test/slow/hack_arr_compat/null_index.php index 3b51f7a046f..b345df1563c 100644 --- a/hphp/test/slow/hack_arr_compat/null_index.php +++ b/hphp/test/slow/hack_arr_compat/null_index.php @@ -7,7 +7,7 @@ echo "=== indexing into a boolean ===\n"; $t = false[2]; // QueryM 1 CGet EI:2, return ElemEmptyish echo "=== indexing into invalid keys ===\n"; -$arr = darray['key' => 'val']; +$arr = __hhvm_intrinsics\dummy_cast_to_kindofarray(dict['key' => 'val']); try { $t = $arr['invalid key']['invalid key 2']; } catch (Exception $e) { echo $e->getMessage()."\n"; } $t = $arr['key']['invalid key 2']; } diff --git a/hphp/test/slow/hack_arr_compat/scalars.php b/hphp/test/slow/hack_arr_compat/scalars.php dissimilarity index 84% index 38811ccfc04..3721c512c4a 100644 --- a/hphp/test/slow/hack_arr_compat/scalars.php +++ b/hphp/test/slow/hack_arr_compat/scalars.php @@ -1,59 +1,59 @@ - 'a', true => 'b', 200 => 'c']); - var_dump(darray[100 => 'a', false => 'b', 200 => 'c']); - var_dump(darray[100 => 'a', null => 'b', 200 => 'c']); - var_dump(darray[100 => 'a', 3.14 => 'b', 200 => 'c']); - var_dump(darray[100 => 'a', STDIN => 'b', 200 => 'c']); - var_dump(darray[100 => 'a', new stdclass => 'b', 200 => 'c']); -} - -function test_cmp() { - var_dump(varray[1, 2, 3] === vec[1, 2, 3]); - var_dump(varray[1, 2, 3] !== vec[1, 2, 3]); - var_dump(varray[1, 2, 3] == vec[1, 2, 3]); - var_dump(varray[1, 2, 3] != vec[1, 2, 3]); - var_dump(varray[1, 2, 3] < true); - var_dump(varray[1, 2, 3] <= true); - var_dump(varray[1, 2, 3] > true); - var_dump(varray[1, 2, 3] >= true); - var_dump(varray[1, 2, 3] <=> true); - - var_dump(vec[1, 2, 3] === varray[1, 2, 3]); - var_dump(vec[1, 2, 3] !== varray[1, 2, 3]); - var_dump(vec[1, 2, 3] == varray[1, 2, 3]); - var_dump(vec[1, 2, 3] != varray[1, 2, 3]); - var_dump(true < varray[1, 2, 3]); - var_dump(true <= varray[1, 2, 3]); - var_dump(true > varray[1, 2, 3]); - var_dump(true >= varray[1, 2, 3]); - var_dump(true <=> varray[1, 2, 3]); -} - -function test_add() { - var_dump(varray[1, 2, 3] + varray[1, 2, 3, 4, 5]); - var_dump(varray[1, 2, 3, 4, 5] + varray[1, 2, 3]); -} - -function test_intlike_keys() { - var_dump(darray['0' => 1]); - var_dump(darray['0' => 1, 1 => 2, 2 => 3, 3 => 4]); - var_dump(darray[0 => 1, 1 => 2, '2' => 3, 3 => 4]); - var_dump(darray[0 => 1, 1 => 2, 2 => 3, '3' => 4]); - - var_dump(darray['10' => 10]); - var_dump(darray['10' => 10, 20 => 20, 30 => 30]); - var_dump(darray[10 => 10, '20' => 20, 30 => 30]); - var_dump(darray[10 => 10, 20 => 20, '30' => 30]); -} - - -<<__EntryPoint>> -function main_scalars() { -test_keys(); -test_cmp(); -test_add(); -test_intlike_keys(); -} + 'a', true => 'b', 200 => 'c'])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(darray[100 => 'a', false => 'b', 200 => 'c'])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(darray[100 => 'a', null => 'b', 200 => 'c'])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(darray[100 => 'a', 3.14 => 'b', 200 => 'c'])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(darray[100 => 'a', STDIN => 'b', 200 => 'c'])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(darray[100 => 'a', new stdclass => 'b', 200 => 'c'])); +} + +function test_cmp() { + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]) === vec[1, 2, 3]); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]) !== vec[1, 2, 3]); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]) == vec[1, 2, 3]); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]) != vec[1, 2, 3]); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]) < true); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]) <= true); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]) > true); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]) >= true); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]) <=> true); + + var_dump(vec[1, 2, 3] === __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); + var_dump(vec[1, 2, 3] !== __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); + var_dump(vec[1, 2, 3] == __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); + var_dump(vec[1, 2, 3] != __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); + var_dump(true < __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); + var_dump(true <= __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); + var_dump(true > __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); + var_dump(true >= __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); + var_dump(true <=> __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); +} + +function test_add() { + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]) + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3, 4, 5])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3, 4, 5]) + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); +} + +function test_intlike_keys() { + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict['0' => 1])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict['0' => 1, 1 => 2, 2 => 3, 3 => 4])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict[0 => 1, 1 => 2, '2' => 3, 3 => 4])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict[0 => 1, 1 => 2, 2 => 3, '3' => 4])); + + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict['10' => 10])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict['10' => 10, 20 => 20, 30 => 30])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict[10 => 10, '20' => 20, 30 => 30])); + var_dump(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict[10 => 10, 20 => 20, '30' => 30])); +} + + +<<__EntryPoint>> +function main_scalars() { +test_keys(); +test_cmp(); +test_add(); +test_intlike_keys(); +} diff --git a/hphp/test/slow/hack_arr_compat/serialize2.php b/hphp/test/slow/hack_arr_compat/serialize2.php index 0551a56def4..792f76294ba 100644 --- a/hphp/test/slow/hack_arr_compat/serialize2.php +++ b/hphp/test/slow/hack_arr_compat/serialize2.php @@ -4,11 +4,11 @@ function literals() { echo "================== literals ==================\n"; HH\serialize_with_options( - array(), + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[]), dict["warnOnHackArrays" => true, "warnOnPHPArrays" => true] ); HH\serialize_with_options( - varray[1, 2, 3, 4], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3, 4]), dict["warnOnHackArrays" => true, "warnOnPHPArrays" => true] ); HH\serialize_with_options( @@ -37,7 +37,7 @@ function literals() { ); HH\serialize_with_options( - varray[varray[1, 2], varray[3, 4]], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2]), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[3, 4])]), dict["warnOnHackArrays" => true, "warnOnPHPArrays" => true] ); HH\serialize_with_options( @@ -50,15 +50,15 @@ function literals() { ); HH\serialize_with_options( - varray[1, vec[2, 3, 4], varray[5, 6, 7], keyset[8, 9, 10], dict['a' => 11, 'b' => 12]], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, vec[2, 3, 4], array(5, 6, 7), keyset[8, 9, 10], dict['a' => 11, 'b' => 12]]), dict["warnOnHackArrays" => true, "warnOnPHPArrays" => true] ); } function test($name, $options) { echo "==================== $name =========================\n"; - var_dump(HH\serialize_with_options(array(), $options)); - var_dump(HH\serialize_with_options(varray[1, 2, 3, 4], $options)); + var_dump(HH\serialize_with_options(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[]), $options)); + var_dump(HH\serialize_with_options(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3, 4]), $options)); var_dump(HH\serialize_with_options(vec[], $options)); var_dump(HH\serialize_with_options(vec[1, 2, 3, 4], $options)); var_dump(HH\serialize_with_options(dict[], $options)); @@ -66,7 +66,7 @@ function test($name, $options) { var_dump(HH\serialize_with_options(keyset[], $options)); var_dump(HH\serialize_with_options(keyset['a', 'b', 'c'], $options)); - var_dump(HH\serialize_with_options(varray[varray[1, 2], varray[3, 4]], $options)); + var_dump(HH\serialize_with_options(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2]), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[3, 4])]), $options)); var_dump(HH\serialize_with_options(vec[vec[1, 2], vec[3, 4]], $options)); var_dump(HH\serialize_with_options( dict['a' => dict['c' => 1, 'd' => 2], 'b' => dict['e' => 3, 'f' => 4]], @@ -74,12 +74,12 @@ function test($name, $options) { )); var_dump(HH\serialize_with_options( - varray[1, vec[2, 3, 4], varray[5, 6, 7], keyset[8, 9, 10], dict['a' => 11, 'b' => 12]], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, vec[2, 3, 4], __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[5, 6, 7]), keyset[8, 9, 10], dict['a' => 11, 'b' => 12]]), $options )); $obj = new stdclass(); - $obj->a = varray[1, 2, 3]; + $obj->a = __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3]); $obj->b = vec[1, 2, 3]; $obj->c = dict['a' => 1, 'b' => 2]; $obj->d = keyset['a', 'b', 'c']; diff --git a/hphp/test/slow/hack_arr_compat/suppress-builtins.php b/hphp/test/slow/hack_arr_compat/suppress-builtins.php index c70eabb8d51..c550a8a969b 100644 --- a/hphp/test/slow/hack_arr_compat/suppress-builtins.php +++ b/hphp/test/slow/hack_arr_compat/suppress-builtins.php @@ -1,22 +1,22 @@ '3', 4 => '5'], darray[2 => '6', 4 => '5']], + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[__hhvm_intrinsics\dummy_cast_to_kindofarray(dict[2 => '3', 4 => '5']), __hhvm_intrinsics\dummy_cast_to_kindofarray(dict[2 => '6', 4 => '5'])]), '2', '4' ); } function test_array_column2($a, $b, $c) { return array_column($a, $b, $c); } -function test_array_count_values1() { return array_count_values(varray['5', 5]); } +function test_array_count_values1() { return array_count_values(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec['5', 5])); } function test_array_count_values2($a) { return array_count_values($a); } -function test_array_intersect1() { return array_intersect(varray['5'], varray[5]); } +function test_array_intersect1() { return array_intersect(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec['5']), __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[5])); } function test_array_intersect2($a, $b) { return array_intersect($a, $b); } function test() { @@ -27,14 +27,14 @@ function test() { var_dump( test_array_diff2( - __hhvm_intrinsics\launder_value(varray[1, '2']), - __hhvm_intrinsics\launder_value(varray['1']) + __hhvm_intrinsics\launder_value(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, '2'])), + __hhvm_intrinsics\launder_value(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec['1'])) ) ); var_dump( test_array_column2( __hhvm_intrinsics\launder_value( - varray[darray[2 => '3', 4 => '5'], darray[2 => '6', 4 => '5']] + __hhvm_intrinsics\dummy_cast_to_kindofarray(vec[__hhvm_intrinsics\dummy_cast_to_kindofarray(dict[2 => '3', 4 => '5']), __hhvm_intrinsics\dummy_cast_to_kindofarray(dict[2 => '6', 4 => '5'])]) ), __hhvm_intrinsics\launder_value('2'), __hhvm_intrinsics\launder_value('4') @@ -42,13 +42,13 @@ function test() { ); var_dump( test_array_count_values2( - __hhvm_intrinsics\launder_value(varray['5', 5]) + __hhvm_intrinsics\launder_value(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec['5', 5])) ) ); var_dump( test_array_intersect2( - __hhvm_intrinsics\launder_value(varray['5']), - __hhvm_intrinsics\launder_value(varray[5]) + __hhvm_intrinsics\launder_value(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec['5'])), + __hhvm_intrinsics\launder_value(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[5])) ) ); } diff --git a/hphp/test/slow/is-list-like.php b/hphp/test/slow/is-list-like.php index 9234033e1bb..c15d4714787 100644 --- a/hphp/test/slow/is-list-like.php +++ b/hphp/test/slow/is-list-like.php @@ -15,22 +15,22 @@ function test($x) { test('abc'); test(new stdclass); - test(varray[]); + test(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[])); test(varray[]); test(darray[]); test(vec[]); test(dict[]); test(keyset[]); - test(varray[1, 2, 3]); - test(darray[0 => 'a', 1 => 'b']); + test(__hhvm_intrinsics\dummy_cast_to_kindofarray(vec[1, 2, 3])); + test(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict[0 => 'a', 1 => 'b'])); test(varray['a', 'b', 'c']); test(darray[0 => 'a', 1 => 'b']); test(vec['a', 'b', 'c']); test(dict[0 => 'a', 1 => 'b']); test(keyset[0, 1]); - test(darray['a' => 100, 'b' => 200]); + test(__hhvm_intrinsics\dummy_cast_to_kindofarray(dict['a' => 100, 'b' => 200])); test(darray['a' => 100, 'b' => 200]); test(dict['a' => 100, 'b' => 200]); test(keyset[0, 100]); diff --git a/hphp/test/slow/prop-type-hints/initial-value-good.php b/hphp/test/slow/prop-type-hints/initial-value-good.php index c2543269695..57e00b06a09 100644 --- a/hphp/test/slow/prop-type-hints/initial-value-good.php +++ b/hphp/test/slow/prop-type-hints/initial-value-good.php @@ -46,7 +46,7 @@ class A { public string $p2 = 'abc'; public bool $p3 = false; public float $p4 = 3.14; - public array $p5a = varray[1, 2, 3]; + public array $p5a = array(1, 2, 3); /* TODO: remove */ public array $p5b = varray[1, 2, 3]; public array $p5c = darray[1 => 'a', 2 => 'b', 3 => 'c']; public resource $p6 = STDIN; @@ -69,7 +69,7 @@ class A { public darray $p23 = varray['val1', 'val2']; public varray_or_darray $p24 = varray[9, 8, 7]; public varray_or_darray $p25 = darray['a' => 100, 'b' => 200]; - public varray_or_darray $p26 = darray['a' => 100, 'b' => 200]; + public varray_or_darray $p26 = array('a' => 100, 'b' => 200); /* TODO: remove */ public Vector $p27 = Vector{}; public Map $p28 = Map{}; public Enum1 $p29 = 'abc'; @@ -198,7 +198,7 @@ class A { public static string $s2 = 'abc'; public static bool $s3 = false; public static float $s4 = 3.14; - public static array $s5a = varray[1, 2, 3]; + public static array $s5a = array(1, 2, 3); /* TODO: remove */ public static array $s5b = varray[1, 2, 3]; public static array $s5c = darray[1 => 'a', 2 => 'b', 3 => 'c']; public static resource $s6 = STDIN; @@ -221,7 +221,7 @@ class A { public static darray $s23 = varray['val1', 'val2']; public static varray_or_darray $s24 = varray[9, 8, 7]; public static varray_or_darray $s25 = darray['a' => 100, 'b' => 200]; - public static varray_or_darray $s26 = darray['a' => 100, 'b' => 200]; + public static varray_or_darray $s26 = array('a' => 100, 'b' => 200); /* TODO: delete */ public static Vector $s27 = Vector{}; public static Map $s28 = Map{}; public static Enum1 $s29 = 'abc'; diff --git a/hphp/test/slow/prop-type-hints/thrift-defs.inc b/hphp/test/slow/prop-type-hints/thrift-defs.inc index f82122e6ce1..5e1b8e723fc 100644 --- a/hphp/test/slow/prop-type-hints/thrift-defs.inc +++ b/hphp/test/slow/prop-type-hints/thrift-defs.inc @@ -168,7 +168,7 @@ class TestStruct5 { } class TestStruct6 { - public array $p1 = varray[]; + public array $p1 = darray[]; public array $p2 = varray[]; public array $p3 = varray[]; @@ -241,7 +241,7 @@ class TestStruct7 { public Vector $p5 = Vector{}; public Set $p6 = Set{}; - public array $p7 = varray[]; + public array $p7 = darray[]; public array $p8 = varray[]; public array $p9 = varray[]; -- 2.11.4.GIT