From b1284be53396921835024a6bfe7dc66cd3102bfd Mon Sep 17 00:00:00 2001 From: tianfenghan Date: Wed, 27 May 2026 13:59:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=20phpt=20=E6=B5=8B=E8=AF=95=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=BF=9B=E8=A1=8C=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/aot/{ => array}/array-item-dec-inc.phpt | 0 tests/aot/{ => array}/array-spread.phpt | 0 tests/aot/{ => array}/array_assignment_edge_cases.phpt | 0 tests/aot/{ => array}/array_assignment_operators.phpt | 0 tests/aot/{ => array}/arrays.phpt | 0 tests/aot/{ => array}/complex_array_operations.phpt | 0 tests/aot/{ => array}/item-ref.phpt | 0 tests/aot/{ => array}/list-test.phpt | 0 tests/aot/{ => attribute}/attr-ref.phpt | 0 tests/aot/{ => attribute}/attributes.phpt | 0 tests/aot/{ => basic}/any.phpt | 0 tests/aot/{ => basic}/backtick.phpt | 0 tests/aot/{ => basic}/basic_variables.phpt | 0 tests/aot/{ => basic}/bool-001.phpt | 0 tests/aot/{ => basic}/clone.phpt | 0 tests/aot/{ => basic}/datetime_builtin_class.phpt | 0 tests/aot/{ => basic}/error-suppress.phpt | 0 tests/aot/{ => basic}/eval-test.phpt | 0 tests/aot/{ => basic}/exit-test.phpt | 0 tests/aot/{ => basic}/extends-redis.phpt | 0 tests/aot/{ => basic}/fib.phpt | 0 tests/aot/{ => basic}/file_operations.phpt | 0 tests/aot/{ => basic}/global-vars-002.phpt | 0 tests/aot/{ => basic}/global-vars.phpt | 0 tests/aot/{ => basic}/include.phpt | 0 tests/aot/{ => basic}/magic-constants.phpt | 0 tests/aot/{ => basic}/math_functions.phpt | 0 tests/aot/{ => basic}/method-call.phpt | 0 tests/aot/{ => basic}/objval.phpt | 0 tests/aot/{ => basic}/pi.phpt | 0 tests/aot/{ => basic}/std_builtin.phpt | 0 tests/aot/{ => basic}/unset.phpt | 0 tests/aot/{ => basic}/variable-variables.phpt | 0 tests/aot/{ => bignumber}/big_number_operators.phpt | 0 tests/aot/{ => bignumber}/bigfloat_operators.phpt | 0 tests/aot/{ => class}/abstract-class.phpt | 0 tests/aot/{ => class}/class-method-override.phpt | 0 tests/aot/{ => class}/class_args.phpt | 0 tests/aot/{ => class}/class_extends.phpt | 0 tests/aot/{ => class}/final-class.phpt | 0 tests/aot/{ => class}/instanceof-test.phpt | 0 tests/aot/{ => class}/interface.phpt | 0 tests/aot/{ => class}/readonly-class.phpt | 0 tests/aot/{ => closure}/closure-001.phpt | 0 tests/aot/{ => closure}/closure-002.phpt | 0 tests/aot/{ => closure}/nested-closures.phpt | 0 tests/aot/{ => coalesce}/assign_coalesce_001.phpt | 0 tests/aot/{ => coalesce}/assign_coalesce_002.phpt | 0 tests/aot/{ => coalesce}/null-coalescing.phpt | 0 tests/aot/{ => const}/class-const-001.phpt | 0 tests/aot/{ => const}/class-const-002.phpt | 0 tests/aot/{ => const}/class-const-003.phpt | 0 tests/aot/{ => const}/const-test.phpt | 0 tests/aot/{ => control_flow}/break-continue-level.phpt | 0 tests/aot/{ => control_flow}/control_structures.phpt | 0 tests/aot/{ => control_flow}/goto.phpt | 0 tests/aot/{ => control_flow}/match-expression.phpt | 0 tests/aot/{ => empty}/empty-2.phpt | 0 tests/aot/{ => empty}/empty-test.phpt | 0 tests/aot/{ => empty}/isset-002.phpt | 0 tests/aot/{ => empty}/isset-complex.phpt | 0 tests/aot/{ => empty}/isset-test.phpt | 0 tests/aot/{ => enum}/backed-enum.phpt | 0 tests/aot/{ => enum}/enum1.phpt | 0 tests/aot/{ => enum}/enum2.phpt | 0 tests/aot/{ => exception}/debug_exception.phpt | 0 tests/aot/{ => exception}/throw-in-php.phpt | 0 tests/aot/{ => functions}/args-unpack.phpt | 0 tests/aot/{ => functions}/deep-recursion.phpt | 0 tests/aot/{ => functions}/fn-call-001.phpt | 0 tests/aot/{ => functions}/func-default-param.phpt | 0 tests/aot/{ => functions}/func-return-type.phpt | 0 tests/aot/{ => functions}/func-self-type.phpt | 0 tests/aot/{ => functions}/functions.phpt | 0 tests/aot/{ => functions}/return-value.phpt | 0 tests/aot/{ => functions}/variable-functions.phpt | 0 tests/aot/{ => generator}/generators.phpt | 0 tests/aot/{ => loop}/for-test.phpt | 0 tests/aot/{ => loop}/foreach-complex.phpt | 0 tests/aot/{ => loop}/foreach-ref.phpt | 0 tests/aot/{ => loop}/foreach-test.phpt | 0 tests/aot/{ => loop}/iterators.phpt | 0 tests/aot/{ => nullsafe}/nullsafe-001.phpt | 0 tests/aot/{ => nullsafe}/nullsafe-002.phpt | 0 tests/aot/{ => nullsafe}/nullsafe-003.phpt | 0 tests/aot/{ => nullsafe}/nullsafe-004.phpt | 0 tests/aot/{ => object_ctor}/constructor-promotion.phpt | 0 tests/aot/{ => object_ctor}/ctor.phpt | 0 tests/aot/{ => object_property}/object-cast.phpt | 0 tests/aot/{ => object_property}/object-link-002.phpt | 0 tests/aot/{ => object_property}/object-link-003.phpt | 0 tests/aot/{ => object_property}/object-link.phpt | 0 tests/aot/{ => object_property}/private-prop-001.phpt | 0 tests/aot/{ => object_property}/private-prop-002.phpt | 0 tests/aot/{ => object_property}/prop-001.phpt | 0 tests/aot/{ => object_property}/prop-002.phpt | 0 tests/aot/{ => object_property}/prop-003.phpt | 0 tests/aot/{ => object_property}/prop-004.phpt | 0 tests/aot/{ => object_property}/prop-dec-inc.phpt | 0 tests/aot/{ => object_property}/prop-ref.phpt | 0 tests/aot/{ => operator}/arithmetic_operators.phpt | 0 tests/aot/{ => operator}/assign-compare.phpt | 0 tests/aot/{ => operator}/assign-op-extra.phpt | 0 tests/aot/{ => operator}/assign-op-mixed-types.phpt | 0 tests/aot/{ => operator}/assignment_operators.phpt | 0 tests/aot/{ => operator}/casts.phpt | 0 tests/aot/{ => operator}/comparison_operators.phpt | 0 tests/aot/{ => operator}/compound-assign.phpt | 0 tests/aot/{ => operator}/logical_operators.phpt | 0 tests/aot/{ => operator}/postincdec.phpt | 0 tests/aot/{ => operator}/pow-assign-op.phpt | 0 tests/aot/{ => operator}/property-assign-op.phpt | 0 tests/aot/{ => operator}/right-associative.phpt | 0 tests/aot/{ => operator}/ternary-shorthand.phpt | 0 tests/aot/{ => ref}/ref-call-arg.phpt | 0 tests/aot/{ => ref}/ref-closure-param.phpt | 0 tests/aot/{ => ref}/ref-func-param.phpt | 0 tests/aot/{ => ref}/ref.phpt | 0 tests/aot/{ => static}/class-static-001.phpt | 0 tests/aot/{ => static}/class-static-002.phpt | 0 tests/aot/{ => static}/class-static-003.phpt | 0 tests/aot/{ => static}/class-static-004.phpt | 0 tests/aot/{ => static}/class-static-005.phpt | 0 tests/aot/{ => static}/late-static-binding.phpt | 0 tests/aot/{ => static}/static-call.phpt | 0 tests/aot/{ => static}/static-method-001.phpt | 0 tests/aot/{ => static}/static-vars-02.phpt | 0 tests/aot/{ => static}/static-vars.phpt | 0 tests/aot/{ => static}/static_class_property_read_write.phpt | 0 tests/aot/{ => static}/static_prop_write.phpt | 0 tests/aot/{ => static}/static_prop_write_2.phpt | 0 tests/aot/{ => string_method}/heredoc-nowdoc.phpt | 0 tests/aot/{ => string_method}/str-offset-set.phpt | 0 tests/aot/{ => string_method}/string-interpolation.phpt | 0 tests/aot/{ => string_method}/string_functions.phpt | 0 tests/aot/{ => string_method}/strlen.phpt | 0 tests/aot/{ => string_method}/to-str.phpt | 0 tests/aot/{ => trait}/trait-basic.phpt | 0 tests/aot/{ => type_decl}/union-intersection-types.phpt | 0 tests/aot/{ => type_hits}/native-type.phpt | 0 tests/aot/{ => variadic}/variadic-args.phpt | 0 141 files changed, 0 insertions(+), 0 deletions(-) rename tests/aot/{ => array}/array-item-dec-inc.phpt (100%) rename tests/aot/{ => array}/array-spread.phpt (100%) rename tests/aot/{ => array}/array_assignment_edge_cases.phpt (100%) rename tests/aot/{ => array}/array_assignment_operators.phpt (100%) rename tests/aot/{ => array}/arrays.phpt (100%) rename tests/aot/{ => array}/complex_array_operations.phpt (100%) rename tests/aot/{ => array}/item-ref.phpt (100%) rename tests/aot/{ => array}/list-test.phpt (100%) rename tests/aot/{ => attribute}/attr-ref.phpt (100%) rename tests/aot/{ => attribute}/attributes.phpt (100%) rename tests/aot/{ => basic}/any.phpt (100%) rename tests/aot/{ => basic}/backtick.phpt (100%) rename tests/aot/{ => basic}/basic_variables.phpt (100%) rename tests/aot/{ => basic}/bool-001.phpt (100%) rename tests/aot/{ => basic}/clone.phpt (100%) rename tests/aot/{ => basic}/datetime_builtin_class.phpt (100%) rename tests/aot/{ => basic}/error-suppress.phpt (100%) rename tests/aot/{ => basic}/eval-test.phpt (100%) rename tests/aot/{ => basic}/exit-test.phpt (100%) rename tests/aot/{ => basic}/extends-redis.phpt (100%) rename tests/aot/{ => basic}/fib.phpt (100%) rename tests/aot/{ => basic}/file_operations.phpt (100%) rename tests/aot/{ => basic}/global-vars-002.phpt (100%) rename tests/aot/{ => basic}/global-vars.phpt (100%) rename tests/aot/{ => basic}/include.phpt (100%) rename tests/aot/{ => basic}/magic-constants.phpt (100%) rename tests/aot/{ => basic}/math_functions.phpt (100%) rename tests/aot/{ => basic}/method-call.phpt (100%) rename tests/aot/{ => basic}/objval.phpt (100%) rename tests/aot/{ => basic}/pi.phpt (100%) rename tests/aot/{ => basic}/std_builtin.phpt (100%) rename tests/aot/{ => basic}/unset.phpt (100%) rename tests/aot/{ => basic}/variable-variables.phpt (100%) rename tests/aot/{ => bignumber}/big_number_operators.phpt (100%) rename tests/aot/{ => bignumber}/bigfloat_operators.phpt (100%) rename tests/aot/{ => class}/abstract-class.phpt (100%) rename tests/aot/{ => class}/class-method-override.phpt (100%) rename tests/aot/{ => class}/class_args.phpt (100%) rename tests/aot/{ => class}/class_extends.phpt (100%) rename tests/aot/{ => class}/final-class.phpt (100%) rename tests/aot/{ => class}/instanceof-test.phpt (100%) rename tests/aot/{ => class}/interface.phpt (100%) rename tests/aot/{ => class}/readonly-class.phpt (100%) rename tests/aot/{ => closure}/closure-001.phpt (100%) rename tests/aot/{ => closure}/closure-002.phpt (100%) rename tests/aot/{ => closure}/nested-closures.phpt (100%) rename tests/aot/{ => coalesce}/assign_coalesce_001.phpt (100%) rename tests/aot/{ => coalesce}/assign_coalesce_002.phpt (100%) rename tests/aot/{ => coalesce}/null-coalescing.phpt (100%) rename tests/aot/{ => const}/class-const-001.phpt (100%) rename tests/aot/{ => const}/class-const-002.phpt (100%) rename tests/aot/{ => const}/class-const-003.phpt (100%) rename tests/aot/{ => const}/const-test.phpt (100%) rename tests/aot/{ => control_flow}/break-continue-level.phpt (100%) rename tests/aot/{ => control_flow}/control_structures.phpt (100%) rename tests/aot/{ => control_flow}/goto.phpt (100%) rename tests/aot/{ => control_flow}/match-expression.phpt (100%) rename tests/aot/{ => empty}/empty-2.phpt (100%) rename tests/aot/{ => empty}/empty-test.phpt (100%) rename tests/aot/{ => empty}/isset-002.phpt (100%) rename tests/aot/{ => empty}/isset-complex.phpt (100%) rename tests/aot/{ => empty}/isset-test.phpt (100%) rename tests/aot/{ => enum}/backed-enum.phpt (100%) rename tests/aot/{ => enum}/enum1.phpt (100%) rename tests/aot/{ => enum}/enum2.phpt (100%) rename tests/aot/{ => exception}/debug_exception.phpt (100%) rename tests/aot/{ => exception}/throw-in-php.phpt (100%) rename tests/aot/{ => functions}/args-unpack.phpt (100%) rename tests/aot/{ => functions}/deep-recursion.phpt (100%) rename tests/aot/{ => functions}/fn-call-001.phpt (100%) rename tests/aot/{ => functions}/func-default-param.phpt (100%) rename tests/aot/{ => functions}/func-return-type.phpt (100%) rename tests/aot/{ => functions}/func-self-type.phpt (100%) rename tests/aot/{ => functions}/functions.phpt (100%) rename tests/aot/{ => functions}/return-value.phpt (100%) rename tests/aot/{ => functions}/variable-functions.phpt (100%) rename tests/aot/{ => generator}/generators.phpt (100%) rename tests/aot/{ => loop}/for-test.phpt (100%) rename tests/aot/{ => loop}/foreach-complex.phpt (100%) rename tests/aot/{ => loop}/foreach-ref.phpt (100%) rename tests/aot/{ => loop}/foreach-test.phpt (100%) rename tests/aot/{ => loop}/iterators.phpt (100%) rename tests/aot/{ => nullsafe}/nullsafe-001.phpt (100%) rename tests/aot/{ => nullsafe}/nullsafe-002.phpt (100%) rename tests/aot/{ => nullsafe}/nullsafe-003.phpt (100%) rename tests/aot/{ => nullsafe}/nullsafe-004.phpt (100%) rename tests/aot/{ => object_ctor}/constructor-promotion.phpt (100%) rename tests/aot/{ => object_ctor}/ctor.phpt (100%) rename tests/aot/{ => object_property}/object-cast.phpt (100%) rename tests/aot/{ => object_property}/object-link-002.phpt (100%) rename tests/aot/{ => object_property}/object-link-003.phpt (100%) rename tests/aot/{ => object_property}/object-link.phpt (100%) rename tests/aot/{ => object_property}/private-prop-001.phpt (100%) rename tests/aot/{ => object_property}/private-prop-002.phpt (100%) rename tests/aot/{ => object_property}/prop-001.phpt (100%) rename tests/aot/{ => object_property}/prop-002.phpt (100%) rename tests/aot/{ => object_property}/prop-003.phpt (100%) rename tests/aot/{ => object_property}/prop-004.phpt (100%) rename tests/aot/{ => object_property}/prop-dec-inc.phpt (100%) rename tests/aot/{ => object_property}/prop-ref.phpt (100%) rename tests/aot/{ => operator}/arithmetic_operators.phpt (100%) rename tests/aot/{ => operator}/assign-compare.phpt (100%) rename tests/aot/{ => operator}/assign-op-extra.phpt (100%) rename tests/aot/{ => operator}/assign-op-mixed-types.phpt (100%) rename tests/aot/{ => operator}/assignment_operators.phpt (100%) rename tests/aot/{ => operator}/casts.phpt (100%) rename tests/aot/{ => operator}/comparison_operators.phpt (100%) rename tests/aot/{ => operator}/compound-assign.phpt (100%) rename tests/aot/{ => operator}/logical_operators.phpt (100%) rename tests/aot/{ => operator}/postincdec.phpt (100%) rename tests/aot/{ => operator}/pow-assign-op.phpt (100%) rename tests/aot/{ => operator}/property-assign-op.phpt (100%) rename tests/aot/{ => operator}/right-associative.phpt (100%) rename tests/aot/{ => operator}/ternary-shorthand.phpt (100%) rename tests/aot/{ => ref}/ref-call-arg.phpt (100%) rename tests/aot/{ => ref}/ref-closure-param.phpt (100%) rename tests/aot/{ => ref}/ref-func-param.phpt (100%) rename tests/aot/{ => ref}/ref.phpt (100%) rename tests/aot/{ => static}/class-static-001.phpt (100%) rename tests/aot/{ => static}/class-static-002.phpt (100%) rename tests/aot/{ => static}/class-static-003.phpt (100%) rename tests/aot/{ => static}/class-static-004.phpt (100%) rename tests/aot/{ => static}/class-static-005.phpt (100%) rename tests/aot/{ => static}/late-static-binding.phpt (100%) rename tests/aot/{ => static}/static-call.phpt (100%) rename tests/aot/{ => static}/static-method-001.phpt (100%) rename tests/aot/{ => static}/static-vars-02.phpt (100%) rename tests/aot/{ => static}/static-vars.phpt (100%) rename tests/aot/{ => static}/static_class_property_read_write.phpt (100%) rename tests/aot/{ => static}/static_prop_write.phpt (100%) rename tests/aot/{ => static}/static_prop_write_2.phpt (100%) rename tests/aot/{ => string_method}/heredoc-nowdoc.phpt (100%) rename tests/aot/{ => string_method}/str-offset-set.phpt (100%) rename tests/aot/{ => string_method}/string-interpolation.phpt (100%) rename tests/aot/{ => string_method}/string_functions.phpt (100%) rename tests/aot/{ => string_method}/strlen.phpt (100%) rename tests/aot/{ => string_method}/to-str.phpt (100%) rename tests/aot/{ => trait}/trait-basic.phpt (100%) rename tests/aot/{ => type_decl}/union-intersection-types.phpt (100%) rename tests/aot/{ => type_hits}/native-type.phpt (100%) rename tests/aot/{ => variadic}/variadic-args.phpt (100%) diff --git a/tests/aot/array-item-dec-inc.phpt b/tests/aot/array/array-item-dec-inc.phpt similarity index 100% rename from tests/aot/array-item-dec-inc.phpt rename to tests/aot/array/array-item-dec-inc.phpt diff --git a/tests/aot/array-spread.phpt b/tests/aot/array/array-spread.phpt similarity index 100% rename from tests/aot/array-spread.phpt rename to tests/aot/array/array-spread.phpt diff --git a/tests/aot/array_assignment_edge_cases.phpt b/tests/aot/array/array_assignment_edge_cases.phpt similarity index 100% rename from tests/aot/array_assignment_edge_cases.phpt rename to tests/aot/array/array_assignment_edge_cases.phpt diff --git a/tests/aot/array_assignment_operators.phpt b/tests/aot/array/array_assignment_operators.phpt similarity index 100% rename from tests/aot/array_assignment_operators.phpt rename to tests/aot/array/array_assignment_operators.phpt diff --git a/tests/aot/arrays.phpt b/tests/aot/array/arrays.phpt similarity index 100% rename from tests/aot/arrays.phpt rename to tests/aot/array/arrays.phpt diff --git a/tests/aot/complex_array_operations.phpt b/tests/aot/array/complex_array_operations.phpt similarity index 100% rename from tests/aot/complex_array_operations.phpt rename to tests/aot/array/complex_array_operations.phpt diff --git a/tests/aot/item-ref.phpt b/tests/aot/array/item-ref.phpt similarity index 100% rename from tests/aot/item-ref.phpt rename to tests/aot/array/item-ref.phpt diff --git a/tests/aot/list-test.phpt b/tests/aot/array/list-test.phpt similarity index 100% rename from tests/aot/list-test.phpt rename to tests/aot/array/list-test.phpt diff --git a/tests/aot/attr-ref.phpt b/tests/aot/attribute/attr-ref.phpt similarity index 100% rename from tests/aot/attr-ref.phpt rename to tests/aot/attribute/attr-ref.phpt diff --git a/tests/aot/attributes.phpt b/tests/aot/attribute/attributes.phpt similarity index 100% rename from tests/aot/attributes.phpt rename to tests/aot/attribute/attributes.phpt diff --git a/tests/aot/any.phpt b/tests/aot/basic/any.phpt similarity index 100% rename from tests/aot/any.phpt rename to tests/aot/basic/any.phpt diff --git a/tests/aot/backtick.phpt b/tests/aot/basic/backtick.phpt similarity index 100% rename from tests/aot/backtick.phpt rename to tests/aot/basic/backtick.phpt diff --git a/tests/aot/basic_variables.phpt b/tests/aot/basic/basic_variables.phpt similarity index 100% rename from tests/aot/basic_variables.phpt rename to tests/aot/basic/basic_variables.phpt diff --git a/tests/aot/bool-001.phpt b/tests/aot/basic/bool-001.phpt similarity index 100% rename from tests/aot/bool-001.phpt rename to tests/aot/basic/bool-001.phpt diff --git a/tests/aot/clone.phpt b/tests/aot/basic/clone.phpt similarity index 100% rename from tests/aot/clone.phpt rename to tests/aot/basic/clone.phpt diff --git a/tests/aot/datetime_builtin_class.phpt b/tests/aot/basic/datetime_builtin_class.phpt similarity index 100% rename from tests/aot/datetime_builtin_class.phpt rename to tests/aot/basic/datetime_builtin_class.phpt diff --git a/tests/aot/error-suppress.phpt b/tests/aot/basic/error-suppress.phpt similarity index 100% rename from tests/aot/error-suppress.phpt rename to tests/aot/basic/error-suppress.phpt diff --git a/tests/aot/eval-test.phpt b/tests/aot/basic/eval-test.phpt similarity index 100% rename from tests/aot/eval-test.phpt rename to tests/aot/basic/eval-test.phpt diff --git a/tests/aot/exit-test.phpt b/tests/aot/basic/exit-test.phpt similarity index 100% rename from tests/aot/exit-test.phpt rename to tests/aot/basic/exit-test.phpt diff --git a/tests/aot/extends-redis.phpt b/tests/aot/basic/extends-redis.phpt similarity index 100% rename from tests/aot/extends-redis.phpt rename to tests/aot/basic/extends-redis.phpt diff --git a/tests/aot/fib.phpt b/tests/aot/basic/fib.phpt similarity index 100% rename from tests/aot/fib.phpt rename to tests/aot/basic/fib.phpt diff --git a/tests/aot/file_operations.phpt b/tests/aot/basic/file_operations.phpt similarity index 100% rename from tests/aot/file_operations.phpt rename to tests/aot/basic/file_operations.phpt diff --git a/tests/aot/global-vars-002.phpt b/tests/aot/basic/global-vars-002.phpt similarity index 100% rename from tests/aot/global-vars-002.phpt rename to tests/aot/basic/global-vars-002.phpt diff --git a/tests/aot/global-vars.phpt b/tests/aot/basic/global-vars.phpt similarity index 100% rename from tests/aot/global-vars.phpt rename to tests/aot/basic/global-vars.phpt diff --git a/tests/aot/include.phpt b/tests/aot/basic/include.phpt similarity index 100% rename from tests/aot/include.phpt rename to tests/aot/basic/include.phpt diff --git a/tests/aot/magic-constants.phpt b/tests/aot/basic/magic-constants.phpt similarity index 100% rename from tests/aot/magic-constants.phpt rename to tests/aot/basic/magic-constants.phpt diff --git a/tests/aot/math_functions.phpt b/tests/aot/basic/math_functions.phpt similarity index 100% rename from tests/aot/math_functions.phpt rename to tests/aot/basic/math_functions.phpt diff --git a/tests/aot/method-call.phpt b/tests/aot/basic/method-call.phpt similarity index 100% rename from tests/aot/method-call.phpt rename to tests/aot/basic/method-call.phpt diff --git a/tests/aot/objval.phpt b/tests/aot/basic/objval.phpt similarity index 100% rename from tests/aot/objval.phpt rename to tests/aot/basic/objval.phpt diff --git a/tests/aot/pi.phpt b/tests/aot/basic/pi.phpt similarity index 100% rename from tests/aot/pi.phpt rename to tests/aot/basic/pi.phpt diff --git a/tests/aot/std_builtin.phpt b/tests/aot/basic/std_builtin.phpt similarity index 100% rename from tests/aot/std_builtin.phpt rename to tests/aot/basic/std_builtin.phpt diff --git a/tests/aot/unset.phpt b/tests/aot/basic/unset.phpt similarity index 100% rename from tests/aot/unset.phpt rename to tests/aot/basic/unset.phpt diff --git a/tests/aot/variable-variables.phpt b/tests/aot/basic/variable-variables.phpt similarity index 100% rename from tests/aot/variable-variables.phpt rename to tests/aot/basic/variable-variables.phpt diff --git a/tests/aot/big_number_operators.phpt b/tests/aot/bignumber/big_number_operators.phpt similarity index 100% rename from tests/aot/big_number_operators.phpt rename to tests/aot/bignumber/big_number_operators.phpt diff --git a/tests/aot/bigfloat_operators.phpt b/tests/aot/bignumber/bigfloat_operators.phpt similarity index 100% rename from tests/aot/bigfloat_operators.phpt rename to tests/aot/bignumber/bigfloat_operators.phpt diff --git a/tests/aot/abstract-class.phpt b/tests/aot/class/abstract-class.phpt similarity index 100% rename from tests/aot/abstract-class.phpt rename to tests/aot/class/abstract-class.phpt diff --git a/tests/aot/class-method-override.phpt b/tests/aot/class/class-method-override.phpt similarity index 100% rename from tests/aot/class-method-override.phpt rename to tests/aot/class/class-method-override.phpt diff --git a/tests/aot/class_args.phpt b/tests/aot/class/class_args.phpt similarity index 100% rename from tests/aot/class_args.phpt rename to tests/aot/class/class_args.phpt diff --git a/tests/aot/class_extends.phpt b/tests/aot/class/class_extends.phpt similarity index 100% rename from tests/aot/class_extends.phpt rename to tests/aot/class/class_extends.phpt diff --git a/tests/aot/final-class.phpt b/tests/aot/class/final-class.phpt similarity index 100% rename from tests/aot/final-class.phpt rename to tests/aot/class/final-class.phpt diff --git a/tests/aot/instanceof-test.phpt b/tests/aot/class/instanceof-test.phpt similarity index 100% rename from tests/aot/instanceof-test.phpt rename to tests/aot/class/instanceof-test.phpt diff --git a/tests/aot/interface.phpt b/tests/aot/class/interface.phpt similarity index 100% rename from tests/aot/interface.phpt rename to tests/aot/class/interface.phpt diff --git a/tests/aot/readonly-class.phpt b/tests/aot/class/readonly-class.phpt similarity index 100% rename from tests/aot/readonly-class.phpt rename to tests/aot/class/readonly-class.phpt diff --git a/tests/aot/closure-001.phpt b/tests/aot/closure/closure-001.phpt similarity index 100% rename from tests/aot/closure-001.phpt rename to tests/aot/closure/closure-001.phpt diff --git a/tests/aot/closure-002.phpt b/tests/aot/closure/closure-002.phpt similarity index 100% rename from tests/aot/closure-002.phpt rename to tests/aot/closure/closure-002.phpt diff --git a/tests/aot/nested-closures.phpt b/tests/aot/closure/nested-closures.phpt similarity index 100% rename from tests/aot/nested-closures.phpt rename to tests/aot/closure/nested-closures.phpt diff --git a/tests/aot/assign_coalesce_001.phpt b/tests/aot/coalesce/assign_coalesce_001.phpt similarity index 100% rename from tests/aot/assign_coalesce_001.phpt rename to tests/aot/coalesce/assign_coalesce_001.phpt diff --git a/tests/aot/assign_coalesce_002.phpt b/tests/aot/coalesce/assign_coalesce_002.phpt similarity index 100% rename from tests/aot/assign_coalesce_002.phpt rename to tests/aot/coalesce/assign_coalesce_002.phpt diff --git a/tests/aot/null-coalescing.phpt b/tests/aot/coalesce/null-coalescing.phpt similarity index 100% rename from tests/aot/null-coalescing.phpt rename to tests/aot/coalesce/null-coalescing.phpt diff --git a/tests/aot/class-const-001.phpt b/tests/aot/const/class-const-001.phpt similarity index 100% rename from tests/aot/class-const-001.phpt rename to tests/aot/const/class-const-001.phpt diff --git a/tests/aot/class-const-002.phpt b/tests/aot/const/class-const-002.phpt similarity index 100% rename from tests/aot/class-const-002.phpt rename to tests/aot/const/class-const-002.phpt diff --git a/tests/aot/class-const-003.phpt b/tests/aot/const/class-const-003.phpt similarity index 100% rename from tests/aot/class-const-003.phpt rename to tests/aot/const/class-const-003.phpt diff --git a/tests/aot/const-test.phpt b/tests/aot/const/const-test.phpt similarity index 100% rename from tests/aot/const-test.phpt rename to tests/aot/const/const-test.phpt diff --git a/tests/aot/break-continue-level.phpt b/tests/aot/control_flow/break-continue-level.phpt similarity index 100% rename from tests/aot/break-continue-level.phpt rename to tests/aot/control_flow/break-continue-level.phpt diff --git a/tests/aot/control_structures.phpt b/tests/aot/control_flow/control_structures.phpt similarity index 100% rename from tests/aot/control_structures.phpt rename to tests/aot/control_flow/control_structures.phpt diff --git a/tests/aot/goto.phpt b/tests/aot/control_flow/goto.phpt similarity index 100% rename from tests/aot/goto.phpt rename to tests/aot/control_flow/goto.phpt diff --git a/tests/aot/match-expression.phpt b/tests/aot/control_flow/match-expression.phpt similarity index 100% rename from tests/aot/match-expression.phpt rename to tests/aot/control_flow/match-expression.phpt diff --git a/tests/aot/empty-2.phpt b/tests/aot/empty/empty-2.phpt similarity index 100% rename from tests/aot/empty-2.phpt rename to tests/aot/empty/empty-2.phpt diff --git a/tests/aot/empty-test.phpt b/tests/aot/empty/empty-test.phpt similarity index 100% rename from tests/aot/empty-test.phpt rename to tests/aot/empty/empty-test.phpt diff --git a/tests/aot/isset-002.phpt b/tests/aot/empty/isset-002.phpt similarity index 100% rename from tests/aot/isset-002.phpt rename to tests/aot/empty/isset-002.phpt diff --git a/tests/aot/isset-complex.phpt b/tests/aot/empty/isset-complex.phpt similarity index 100% rename from tests/aot/isset-complex.phpt rename to tests/aot/empty/isset-complex.phpt diff --git a/tests/aot/isset-test.phpt b/tests/aot/empty/isset-test.phpt similarity index 100% rename from tests/aot/isset-test.phpt rename to tests/aot/empty/isset-test.phpt diff --git a/tests/aot/backed-enum.phpt b/tests/aot/enum/backed-enum.phpt similarity index 100% rename from tests/aot/backed-enum.phpt rename to tests/aot/enum/backed-enum.phpt diff --git a/tests/aot/enum1.phpt b/tests/aot/enum/enum1.phpt similarity index 100% rename from tests/aot/enum1.phpt rename to tests/aot/enum/enum1.phpt diff --git a/tests/aot/enum2.phpt b/tests/aot/enum/enum2.phpt similarity index 100% rename from tests/aot/enum2.phpt rename to tests/aot/enum/enum2.phpt diff --git a/tests/aot/debug_exception.phpt b/tests/aot/exception/debug_exception.phpt similarity index 100% rename from tests/aot/debug_exception.phpt rename to tests/aot/exception/debug_exception.phpt diff --git a/tests/aot/throw-in-php.phpt b/tests/aot/exception/throw-in-php.phpt similarity index 100% rename from tests/aot/throw-in-php.phpt rename to tests/aot/exception/throw-in-php.phpt diff --git a/tests/aot/args-unpack.phpt b/tests/aot/functions/args-unpack.phpt similarity index 100% rename from tests/aot/args-unpack.phpt rename to tests/aot/functions/args-unpack.phpt diff --git a/tests/aot/deep-recursion.phpt b/tests/aot/functions/deep-recursion.phpt similarity index 100% rename from tests/aot/deep-recursion.phpt rename to tests/aot/functions/deep-recursion.phpt diff --git a/tests/aot/fn-call-001.phpt b/tests/aot/functions/fn-call-001.phpt similarity index 100% rename from tests/aot/fn-call-001.phpt rename to tests/aot/functions/fn-call-001.phpt diff --git a/tests/aot/func-default-param.phpt b/tests/aot/functions/func-default-param.phpt similarity index 100% rename from tests/aot/func-default-param.phpt rename to tests/aot/functions/func-default-param.phpt diff --git a/tests/aot/func-return-type.phpt b/tests/aot/functions/func-return-type.phpt similarity index 100% rename from tests/aot/func-return-type.phpt rename to tests/aot/functions/func-return-type.phpt diff --git a/tests/aot/func-self-type.phpt b/tests/aot/functions/func-self-type.phpt similarity index 100% rename from tests/aot/func-self-type.phpt rename to tests/aot/functions/func-self-type.phpt diff --git a/tests/aot/functions.phpt b/tests/aot/functions/functions.phpt similarity index 100% rename from tests/aot/functions.phpt rename to tests/aot/functions/functions.phpt diff --git a/tests/aot/return-value.phpt b/tests/aot/functions/return-value.phpt similarity index 100% rename from tests/aot/return-value.phpt rename to tests/aot/functions/return-value.phpt diff --git a/tests/aot/variable-functions.phpt b/tests/aot/functions/variable-functions.phpt similarity index 100% rename from tests/aot/variable-functions.phpt rename to tests/aot/functions/variable-functions.phpt diff --git a/tests/aot/generators.phpt b/tests/aot/generator/generators.phpt similarity index 100% rename from tests/aot/generators.phpt rename to tests/aot/generator/generators.phpt diff --git a/tests/aot/for-test.phpt b/tests/aot/loop/for-test.phpt similarity index 100% rename from tests/aot/for-test.phpt rename to tests/aot/loop/for-test.phpt diff --git a/tests/aot/foreach-complex.phpt b/tests/aot/loop/foreach-complex.phpt similarity index 100% rename from tests/aot/foreach-complex.phpt rename to tests/aot/loop/foreach-complex.phpt diff --git a/tests/aot/foreach-ref.phpt b/tests/aot/loop/foreach-ref.phpt similarity index 100% rename from tests/aot/foreach-ref.phpt rename to tests/aot/loop/foreach-ref.phpt diff --git a/tests/aot/foreach-test.phpt b/tests/aot/loop/foreach-test.phpt similarity index 100% rename from tests/aot/foreach-test.phpt rename to tests/aot/loop/foreach-test.phpt diff --git a/tests/aot/iterators.phpt b/tests/aot/loop/iterators.phpt similarity index 100% rename from tests/aot/iterators.phpt rename to tests/aot/loop/iterators.phpt diff --git a/tests/aot/nullsafe-001.phpt b/tests/aot/nullsafe/nullsafe-001.phpt similarity index 100% rename from tests/aot/nullsafe-001.phpt rename to tests/aot/nullsafe/nullsafe-001.phpt diff --git a/tests/aot/nullsafe-002.phpt b/tests/aot/nullsafe/nullsafe-002.phpt similarity index 100% rename from tests/aot/nullsafe-002.phpt rename to tests/aot/nullsafe/nullsafe-002.phpt diff --git a/tests/aot/nullsafe-003.phpt b/tests/aot/nullsafe/nullsafe-003.phpt similarity index 100% rename from tests/aot/nullsafe-003.phpt rename to tests/aot/nullsafe/nullsafe-003.phpt diff --git a/tests/aot/nullsafe-004.phpt b/tests/aot/nullsafe/nullsafe-004.phpt similarity index 100% rename from tests/aot/nullsafe-004.phpt rename to tests/aot/nullsafe/nullsafe-004.phpt diff --git a/tests/aot/constructor-promotion.phpt b/tests/aot/object_ctor/constructor-promotion.phpt similarity index 100% rename from tests/aot/constructor-promotion.phpt rename to tests/aot/object_ctor/constructor-promotion.phpt diff --git a/tests/aot/ctor.phpt b/tests/aot/object_ctor/ctor.phpt similarity index 100% rename from tests/aot/ctor.phpt rename to tests/aot/object_ctor/ctor.phpt diff --git a/tests/aot/object-cast.phpt b/tests/aot/object_property/object-cast.phpt similarity index 100% rename from tests/aot/object-cast.phpt rename to tests/aot/object_property/object-cast.phpt diff --git a/tests/aot/object-link-002.phpt b/tests/aot/object_property/object-link-002.phpt similarity index 100% rename from tests/aot/object-link-002.phpt rename to tests/aot/object_property/object-link-002.phpt diff --git a/tests/aot/object-link-003.phpt b/tests/aot/object_property/object-link-003.phpt similarity index 100% rename from tests/aot/object-link-003.phpt rename to tests/aot/object_property/object-link-003.phpt diff --git a/tests/aot/object-link.phpt b/tests/aot/object_property/object-link.phpt similarity index 100% rename from tests/aot/object-link.phpt rename to tests/aot/object_property/object-link.phpt diff --git a/tests/aot/private-prop-001.phpt b/tests/aot/object_property/private-prop-001.phpt similarity index 100% rename from tests/aot/private-prop-001.phpt rename to tests/aot/object_property/private-prop-001.phpt diff --git a/tests/aot/private-prop-002.phpt b/tests/aot/object_property/private-prop-002.phpt similarity index 100% rename from tests/aot/private-prop-002.phpt rename to tests/aot/object_property/private-prop-002.phpt diff --git a/tests/aot/prop-001.phpt b/tests/aot/object_property/prop-001.phpt similarity index 100% rename from tests/aot/prop-001.phpt rename to tests/aot/object_property/prop-001.phpt diff --git a/tests/aot/prop-002.phpt b/tests/aot/object_property/prop-002.phpt similarity index 100% rename from tests/aot/prop-002.phpt rename to tests/aot/object_property/prop-002.phpt diff --git a/tests/aot/prop-003.phpt b/tests/aot/object_property/prop-003.phpt similarity index 100% rename from tests/aot/prop-003.phpt rename to tests/aot/object_property/prop-003.phpt diff --git a/tests/aot/prop-004.phpt b/tests/aot/object_property/prop-004.phpt similarity index 100% rename from tests/aot/prop-004.phpt rename to tests/aot/object_property/prop-004.phpt diff --git a/tests/aot/prop-dec-inc.phpt b/tests/aot/object_property/prop-dec-inc.phpt similarity index 100% rename from tests/aot/prop-dec-inc.phpt rename to tests/aot/object_property/prop-dec-inc.phpt diff --git a/tests/aot/prop-ref.phpt b/tests/aot/object_property/prop-ref.phpt similarity index 100% rename from tests/aot/prop-ref.phpt rename to tests/aot/object_property/prop-ref.phpt diff --git a/tests/aot/arithmetic_operators.phpt b/tests/aot/operator/arithmetic_operators.phpt similarity index 100% rename from tests/aot/arithmetic_operators.phpt rename to tests/aot/operator/arithmetic_operators.phpt diff --git a/tests/aot/assign-compare.phpt b/tests/aot/operator/assign-compare.phpt similarity index 100% rename from tests/aot/assign-compare.phpt rename to tests/aot/operator/assign-compare.phpt diff --git a/tests/aot/assign-op-extra.phpt b/tests/aot/operator/assign-op-extra.phpt similarity index 100% rename from tests/aot/assign-op-extra.phpt rename to tests/aot/operator/assign-op-extra.phpt diff --git a/tests/aot/assign-op-mixed-types.phpt b/tests/aot/operator/assign-op-mixed-types.phpt similarity index 100% rename from tests/aot/assign-op-mixed-types.phpt rename to tests/aot/operator/assign-op-mixed-types.phpt diff --git a/tests/aot/assignment_operators.phpt b/tests/aot/operator/assignment_operators.phpt similarity index 100% rename from tests/aot/assignment_operators.phpt rename to tests/aot/operator/assignment_operators.phpt diff --git a/tests/aot/casts.phpt b/tests/aot/operator/casts.phpt similarity index 100% rename from tests/aot/casts.phpt rename to tests/aot/operator/casts.phpt diff --git a/tests/aot/comparison_operators.phpt b/tests/aot/operator/comparison_operators.phpt similarity index 100% rename from tests/aot/comparison_operators.phpt rename to tests/aot/operator/comparison_operators.phpt diff --git a/tests/aot/compound-assign.phpt b/tests/aot/operator/compound-assign.phpt similarity index 100% rename from tests/aot/compound-assign.phpt rename to tests/aot/operator/compound-assign.phpt diff --git a/tests/aot/logical_operators.phpt b/tests/aot/operator/logical_operators.phpt similarity index 100% rename from tests/aot/logical_operators.phpt rename to tests/aot/operator/logical_operators.phpt diff --git a/tests/aot/postincdec.phpt b/tests/aot/operator/postincdec.phpt similarity index 100% rename from tests/aot/postincdec.phpt rename to tests/aot/operator/postincdec.phpt diff --git a/tests/aot/pow-assign-op.phpt b/tests/aot/operator/pow-assign-op.phpt similarity index 100% rename from tests/aot/pow-assign-op.phpt rename to tests/aot/operator/pow-assign-op.phpt diff --git a/tests/aot/property-assign-op.phpt b/tests/aot/operator/property-assign-op.phpt similarity index 100% rename from tests/aot/property-assign-op.phpt rename to tests/aot/operator/property-assign-op.phpt diff --git a/tests/aot/right-associative.phpt b/tests/aot/operator/right-associative.phpt similarity index 100% rename from tests/aot/right-associative.phpt rename to tests/aot/operator/right-associative.phpt diff --git a/tests/aot/ternary-shorthand.phpt b/tests/aot/operator/ternary-shorthand.phpt similarity index 100% rename from tests/aot/ternary-shorthand.phpt rename to tests/aot/operator/ternary-shorthand.phpt diff --git a/tests/aot/ref-call-arg.phpt b/tests/aot/ref/ref-call-arg.phpt similarity index 100% rename from tests/aot/ref-call-arg.phpt rename to tests/aot/ref/ref-call-arg.phpt diff --git a/tests/aot/ref-closure-param.phpt b/tests/aot/ref/ref-closure-param.phpt similarity index 100% rename from tests/aot/ref-closure-param.phpt rename to tests/aot/ref/ref-closure-param.phpt diff --git a/tests/aot/ref-func-param.phpt b/tests/aot/ref/ref-func-param.phpt similarity index 100% rename from tests/aot/ref-func-param.phpt rename to tests/aot/ref/ref-func-param.phpt diff --git a/tests/aot/ref.phpt b/tests/aot/ref/ref.phpt similarity index 100% rename from tests/aot/ref.phpt rename to tests/aot/ref/ref.phpt diff --git a/tests/aot/class-static-001.phpt b/tests/aot/static/class-static-001.phpt similarity index 100% rename from tests/aot/class-static-001.phpt rename to tests/aot/static/class-static-001.phpt diff --git a/tests/aot/class-static-002.phpt b/tests/aot/static/class-static-002.phpt similarity index 100% rename from tests/aot/class-static-002.phpt rename to tests/aot/static/class-static-002.phpt diff --git a/tests/aot/class-static-003.phpt b/tests/aot/static/class-static-003.phpt similarity index 100% rename from tests/aot/class-static-003.phpt rename to tests/aot/static/class-static-003.phpt diff --git a/tests/aot/class-static-004.phpt b/tests/aot/static/class-static-004.phpt similarity index 100% rename from tests/aot/class-static-004.phpt rename to tests/aot/static/class-static-004.phpt diff --git a/tests/aot/class-static-005.phpt b/tests/aot/static/class-static-005.phpt similarity index 100% rename from tests/aot/class-static-005.phpt rename to tests/aot/static/class-static-005.phpt diff --git a/tests/aot/late-static-binding.phpt b/tests/aot/static/late-static-binding.phpt similarity index 100% rename from tests/aot/late-static-binding.phpt rename to tests/aot/static/late-static-binding.phpt diff --git a/tests/aot/static-call.phpt b/tests/aot/static/static-call.phpt similarity index 100% rename from tests/aot/static-call.phpt rename to tests/aot/static/static-call.phpt diff --git a/tests/aot/static-method-001.phpt b/tests/aot/static/static-method-001.phpt similarity index 100% rename from tests/aot/static-method-001.phpt rename to tests/aot/static/static-method-001.phpt diff --git a/tests/aot/static-vars-02.phpt b/tests/aot/static/static-vars-02.phpt similarity index 100% rename from tests/aot/static-vars-02.phpt rename to tests/aot/static/static-vars-02.phpt diff --git a/tests/aot/static-vars.phpt b/tests/aot/static/static-vars.phpt similarity index 100% rename from tests/aot/static-vars.phpt rename to tests/aot/static/static-vars.phpt diff --git a/tests/aot/static_class_property_read_write.phpt b/tests/aot/static/static_class_property_read_write.phpt similarity index 100% rename from tests/aot/static_class_property_read_write.phpt rename to tests/aot/static/static_class_property_read_write.phpt diff --git a/tests/aot/static_prop_write.phpt b/tests/aot/static/static_prop_write.phpt similarity index 100% rename from tests/aot/static_prop_write.phpt rename to tests/aot/static/static_prop_write.phpt diff --git a/tests/aot/static_prop_write_2.phpt b/tests/aot/static/static_prop_write_2.phpt similarity index 100% rename from tests/aot/static_prop_write_2.phpt rename to tests/aot/static/static_prop_write_2.phpt diff --git a/tests/aot/heredoc-nowdoc.phpt b/tests/aot/string_method/heredoc-nowdoc.phpt similarity index 100% rename from tests/aot/heredoc-nowdoc.phpt rename to tests/aot/string_method/heredoc-nowdoc.phpt diff --git a/tests/aot/str-offset-set.phpt b/tests/aot/string_method/str-offset-set.phpt similarity index 100% rename from tests/aot/str-offset-set.phpt rename to tests/aot/string_method/str-offset-set.phpt diff --git a/tests/aot/string-interpolation.phpt b/tests/aot/string_method/string-interpolation.phpt similarity index 100% rename from tests/aot/string-interpolation.phpt rename to tests/aot/string_method/string-interpolation.phpt diff --git a/tests/aot/string_functions.phpt b/tests/aot/string_method/string_functions.phpt similarity index 100% rename from tests/aot/string_functions.phpt rename to tests/aot/string_method/string_functions.phpt diff --git a/tests/aot/strlen.phpt b/tests/aot/string_method/strlen.phpt similarity index 100% rename from tests/aot/strlen.phpt rename to tests/aot/string_method/strlen.phpt diff --git a/tests/aot/to-str.phpt b/tests/aot/string_method/to-str.phpt similarity index 100% rename from tests/aot/to-str.phpt rename to tests/aot/string_method/to-str.phpt diff --git a/tests/aot/trait-basic.phpt b/tests/aot/trait/trait-basic.phpt similarity index 100% rename from tests/aot/trait-basic.phpt rename to tests/aot/trait/trait-basic.phpt diff --git a/tests/aot/union-intersection-types.phpt b/tests/aot/type_decl/union-intersection-types.phpt similarity index 100% rename from tests/aot/union-intersection-types.phpt rename to tests/aot/type_decl/union-intersection-types.phpt diff --git a/tests/aot/native-type.phpt b/tests/aot/type_hits/native-type.phpt similarity index 100% rename from tests/aot/native-type.phpt rename to tests/aot/type_hits/native-type.phpt diff --git a/tests/aot/variadic-args.phpt b/tests/aot/variadic/variadic-args.phpt similarity index 100% rename from tests/aot/variadic-args.phpt rename to tests/aot/variadic/variadic-args.phpt